Mercurial > hg > aboriginal
changeset 966:bd2ea96aac53
Update READMEs.
author | Rob Landley <rob@landley.net> |
---|---|
date | Tue, 02 Feb 2010 21:24:32 -0600 |
parents | bcab030a2394 |
children | 19660e12c1de |
files | README sources/README www/downloads/README www/downloads/binaries/README |
diffstat | 4 files changed, 74 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/README Tue Feb 02 19:37:11 2010 -0600 +++ b/README Tue Feb 02 21:24:32 2010 -0600 @@ -79,15 +79,18 @@ The build.sh script is a wrapper around other scripts. The main three are: - cross-compiler.sh - create a cross compiler for the target. + simple-cross-compiler.sh - create a cross compiler for the target. root-filesystem.sh - use the cross compiler to build a root filesystem. system-image.sh - build a kernel and ext2 image to run under emulator. - # Or when building a cross-compile aware package, do something like: - # export PATH=`pwd`/build/cross-compiler-i686/bin:$PATH - # make CROSS_COMPILE=i686- +An optional (but often useful) fourth script is: + + native-compiler.sh - create a more complicated compiler for the target, + statically linked against uClibc and with thread + support and uClibc++. (This can optionally be used + to create a better cross compiler, via canadian cross.) This file is a brief introduction, for full documentation see
--- a/sources/README Tue Feb 02 19:37:11 2010 -0600 +++ b/sources/README Tue Feb 02 21:24:32 2010 -0600 @@ -5,6 +5,9 @@ functions.sh: Function definitions, normally included from include.sh. + utility-functions.sh: Functions usable in contexts other than the FWL build, + included from functions.sh. + timeout.sh: Wrapper to run a command line with a timeout. trimconfig-busybox: Busybox config file to switch off bits of "allyesconfig"
--- a/www/downloads/README Tue Feb 02 19:37:11 2010 -0600 +++ b/www/downloads/README Tue Feb 02 21:24:32 2010 -0600 @@ -52,24 +52,43 @@ used by later stages if it exists. It is not target specific, and only needs to be run once when building multiple architectures. - cross-compiler.sh ARCH + simple-cross-compiler.sh ARCH Creates a cross compiler for the selected target architecture, built from gcc, binutils, uClibc, and the Linux kernel headers. - The resulting compiler is assembled in build/cross-compiler-ARCH and - then packaged as an adjacent tarball of the same name. + The resulting compiler is assembled in build/simple-cross-compiler-ARCH + and then packaged as an adjacent tarball of the same name. + + (This compiler is sufficient to build a system image for the target, but + isn't as powerful as the compilers created by native-compiler.sh.) + + native-compiler.sh ARCH + + This (optional) step creates an additional compiler for the selected + target, using one or more of the existing simple cross compilers. It + can create a purely native compiler (which runs on the target to produce + target code), or it can create a more complicated cross compiler + (statically linked against uClibc, with thread support and uClibc++) + using two simple cross compilers (one for the host, one for the target). + See build.sh and the config options STATIC_CC_HOST and NO_NATIVE_COMPILER + for details. root-filesystem.sh ARCH - Creates a root filesystem mfor the target, built from busybox and - uClibc. Adds to it a native compiler built from the same packages as - the cross compiler, plus the packages make, bash, and distcc. + Creates a root filesystem for the target, built from busybox/toybox and + uClibc. This step uses the cross compiler built in the previous step. It assembles the new filesystem in the build/root-filesystem-ARCH directory, then packages it as an adjacent tarball of the same name. + If a native compiler exists for the target (I.E. the native-compiler.sh + script was run, which build.sh will do if the environment variable + NO_NATIVE_COMPILER is not set), it adds that to the root filesystem and + builds the packages make, bash, and distcc to provide a native build + environment. + system-image.sh ARCH Package up the root filesystem into a filesystem image (ext2, squashfs, @@ -91,6 +110,10 @@ existing architecture, repackaging the other architecture's root filesystem with a different Linux kernel configuration. -The wrapper script buildall.sh runs build.sh on every available target, +The sources/more directory contains additional scripts providing additonal +functionality not called from build.sh. + +For example, sources/more/buildall.sh runs build.sh for every available target, with extra configure options to produce additional optional stages such as -statically linked cross and native compilers. +statically linked cross compilers and static native binaries for dropbear and +strace.
--- a/www/downloads/binaries/README Tue Feb 02 19:37:11 2010 -0600 +++ b/www/downloads/binaries/README Tue Feb 02 21:24:32 2010 -0600 @@ -1,6 +1,6 @@ The downloads/binaries directory contains prebuilt binary images, created by -running ./buildall.sh in the most recent Firmware Linux source tarball. The -source packages for these binaries are mirrored at +running sources/more/buildall.sh in the most recent Firmware Linux source +tarball. The source packages for these binaries are mirrored at "http://impactlinux.com/fwl/mirror". The following tarballs are found here: @@ -54,9 +54,38 @@ writeable ext2 image mounted on /home and 256 megs of memory for the emulated system). - If distccd and the appropriate $ARCH-cc cross compiler are the $PATH, + If both distccd and the appropriate $ARCH-cc cross compiler are in the $PATH, run-emulator.sh will automatically set up distcc to call out through the virtual network to the host's $ARCH-cc, to move the heavy lifting of compilation outside the emulator, and also take advantage of SMP. (Doing so does not require the package being built to be cross compile aware. - The emulated build is still a simple single-context native build.) + As far as the emulated build environment is concerned, it's still performing + simple single-context native builds.) + +busybox-$ARCH + + This is a prebuilt static busybox binary for the given target, implementing + numerous standard command line utilities. + + To use, copy it to a target system (perhaps via wget), set the executable + bit, and create the appropriate symlinks to it. + + Run ./busybox-$ARCH to see the list of supported commands. + +dropbearmulti-$ARCH + + This is a prebuilt static dropbear binary for the given target, implementing + an ssh server and client. + + To use, copy it to a target system (perhaps via wget), set the executable + bit, and create the appropriate symlinks to it. + + Run ./dropbearmulti-$ARCH to see the list of supporte commands. + +strace-$ARCH + + This is a prebuilt static strace binary for the given target, providing a + debugging tool listing all the system calls made by another program. + + To use, copy it to a target system (perhaps via wget) and set the executable + bit.