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.