Mercurial > hg > aboriginal
changeset 154:47b14e5d6117
Rewrite readme for 0.2.1 release.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 09 Apr 2007 12:06:12 -0400 |
parents | 106f3875f606 |
children | ce1ca3d0f95b |
files | www/downloads/README |
diffstat | 1 files changed, 57 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/www/downloads/README Sun Apr 08 14:53:18 2007 -0400 +++ b/www/downloads/README Mon Apr 09 12:06:12 2007 -0400 @@ -1,38 +1,64 @@ Contents of the Firmware Linux download directory. -------------------------------------------------- -The firmware-* tarballs contain build scripts which produce a uClibc-based -cross compiler and native build environment for various target platforms. -Run "./build.sh" to see a list of target platforms, and run "./build.sh $ARCH" -to build for a given target platform. Old versions of the build script -tarballs are there for historical reasons; the newest version is probably -always the one you want. The other tarballs in this directory are prebuilt -binaries produced by the newest release version of the build scripts, based on -whatever package versions the most recent build scripts are using. +Source tarballs: + + The firmware-* tarballs contain build scripts which produce a uClibc-based + cross compiler and native build environment for various target platforms. + Run "./build.sh" to see a list of target platforms, and run "./build.sh $ARCH" + to build for a given target platform. Old versions of the build script + tarballs are there for historical reasons; the newest version is probably + always the one you want. + +cross-compiler: + + The "cross-compiler" directory contains "host-i686" and "host-x86_64" + directories which contain prebuilt cross compilers which run on the + appropriate type of host. The i686 versions were built under Ubuntu 6.06 and + the x86_64 versions were built under Ubuntu 7.04. Each was built using the + newest release version of the build scripts, and when you run the build + yourself these tarballs should be created in the "build" directory. + + Each cross-compiler-$ARCH tarball contains a compiler toolchain which + produces binaries or the given platform, linked against uClibc. (If you want + to build uClibc binaries on an x86 host, use the toolchain in + cross-compiler/host-i686/cross-compiler-i686.tar.bz2.) + + To use one of these compilers, extract the tarball and use the "$ARCH-gcc" + binary as your compiler, which is located in the "bin" subdirectory. You + might find it convenient to add that to your $PATH. (All the headers and + libraries for the target are located relative to $ARCH-gcc, so you can + extract the tarball anywhere you like, and move the directory it creates + anywhere, but don't move stuff around within that directory.) -The cross-compiler-$ARCH tarballs contain cross-compiler toolchains which -produce uClibc binaries or the given platform. (The i686 one is there to -produce uClibc binaries for x86, which can be a bit of a pain to set up -for yourself.) Extract the tarball use the "$ARCH-gcc" binary as your -compiler. This is found in the "bin" subdirectory; you might find it -convenient to add that to your $PATH. (All the headers and libraries for -the target are located relative to $ARCH-gcc, so you can extract the tarball -anywhere you like, and move the directory it creates anywhere, but don't move -stuff around within that directory.) + Note: This cross compiler is small and simple and only supports C. The + native compiler in mini-native supports C++ as well. + +mini-native: + + Each mini-native-$ARCH tarball contains a minimal native root filesystem + for the given platform. This filesystem is organized as a Linux From + Scratch style /tools directory containing uClibc, a compiler, and basic + system tools (mostly busybox), designed to boot with the kernel arguments + "init=/tools/bin/sh PATH=/tools/bin". -The mini-native-$ARCH tarballs contain a minimal native root filesystem for -the given platform. The tarball contains a kernel (configured to boot under -QEMU) and a Linux From Scratch style /tools directory containing uClibc and a -compiler and so on. Boot into it with "init=/tools/bin/sh PATH=/tools/bin". -(You may need to package it into a filesystem image bootable by qemu or your -board. See the build scripts for how to do that.) By default this /tools -directory builds stuff relative to / (not to /tools), so either symlink -/lib to /tools/lib or install uClibc first thing. + This filesystem contains a native version of gcc, which builds stuff relative + to / (not to /tools), so in order to run the compiled programs either symlink + /lib to /tools/lib, start by building and installing uClibc, or statically + link the programs you build. For more information, see + http://www.linuxfromscratch.org/lfs/view/stable/chapter06/chapter06.html + +image: + + This directory contains three files per target architecture: -The image-$ARCH.ext2.bz2 are bzipped filesystem image files for use with -qemu via run-mini-native.sh. The corresponding kernels are in the -mini-native-$ARCH tarballs. Yeah, I should probably repackage that -next release... + image-$ARCH.ext2.bz2: a bzipped ext2 filesystem image containing the + files from the corresponding mini-native tarball. Run bunzip2 on this before + using it. -Note: The cross compiler is small and simple and only supports C. The native -compiler supports C++ as well. + zImage-$ARCH: a bootable Linux kernel configured for use with QEMU. + + run-$ARCH.sh: a shell script that attempts to boot the corresponding ext2 + filesystem image and Linux kernel zImage files under the emulator QEMU + (version 0.9.0 or newer). The script expects to find both files in the + current directory.