Mercurial > hg > aboriginal
changeset 494:a32c75dcf508
Add README.footer to end of README. (Rename README.txt->README)
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 21 Nov 2008 23:46:21 -0600 |
parents | 5cce2f8b6ec9 |
children | 3f1f3dc6f8a1 |
files | sources/build-all-targets.sh sources/functions.sh sources/toys/README.footer |
diffstat | 3 files changed, 45 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/sources/build-all-targets.sh Fri Nov 21 23:32:03 2008 -0600 +++ b/sources/build-all-targets.sh Fri Nov 21 23:46:21 2008 -0600 @@ -86,7 +86,7 @@ # Create and upload readme (requires build/sources to be extracted) -do_readme | tee buildall/README.txt & +(do_readme && cat sources/toys/README.footer) | tee buildall/README & # If we need to create static cross compilers, build a version of mini-native # to act as the host system. (That way they're statically linked against
--- a/sources/functions.sh Fri Nov 21 23:32:03 2008 -0600 +++ b/sources/functions.sh Fri Nov 21 23:46:21 2008 -0600 @@ -352,7 +352,7 @@ # Grab FWL version number cat << EOF -Built on $(date +%F) from: +These tarballs were built on $(date +%F) from: Build script: Firmware Linux (http://landley.net/code/firmware) mercurial rev $(hg tip | sed -n 's/changeset: *\([0-9]*\).*/\1/p')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/toys/README.footer Fri Nov 21 23:46:21 2008 -0600 @@ -0,0 +1,43 @@ + +Each cross-compiler tarball contains a uClibc cross compiler for a given +target; the target binaries they produce are linked against uClibc. For +maximum portability, they are compiled for an i686 host and statically linked +against i686 uClibc on the host. + +To try out uClibc on your system, you might do something like: + + tar -xvjf cross-compiler-i686.tar.bz2 + export PATH=`pwd`/cross-compiler-i686/bin:$PATH + i686-gcc -static hello_world.c -o hello_world + ./hello_world + +Each mini-native tarball contains a small native root filesystem (uClibc-based), +with busybox, uClibc, and a native compiler toolchain supporting C (uClibc) +and C++ (uClibc++). To try these out, you might go: + + tar -xvjf mini-native-x86_64.tar.bz2 + sudo chroot mini-native-x86_64 /bin/chroot-setup.sh + g++ /tools/src/hello.cpp + ./a.out + +The system-image tarballs contain the same root filesystem as mini-native, +packaged as an ext2 image, along with a kernel configured for use with +qemu (0.9.1 or later) and shell scripts to run the images under qemu: + + 1) run-emulator.sh - simple script to boot qemu + + 2) run-with-home.sh - adds an empty 2 gigabyte ext3 image mounted on /home + + 3) run-with-distcc.sh - adds distcc support calling out to the cross compiler + on the host system (on top of run-with-home's hdb image). + +The logs directory contains build logs. These are only of interest if you +plan to reproduce these from source and can't get it to work on the first try. + +Note that chrooting into mini-native-i686 on an x86_64 host may not give you +a good build environment, because /proc will still show an x86_64 host kernel +in an i686 chroot, and this confuses many ./configure scripts. + +Cross compiling is tricky. The easy way to build packages is to build fully +natively, either by booting a system image under qemu or by finding real +target hardware to build on.