firmware
view config @ 995:c867d05d8c4d
Optimize the linux and busybox bisects to not rebuild earlier sections unnecessarily.
Note that the busybox optimization is a bit subtle: if build.sh sees that root-filesystem-$ARCH.tar.bz2 doesn't exist, it'll delete system-image-$ARCH.tar.bz2 to signal the next stage needs to be rebuilt. So even if the root-filesystem build then dies, bisectinate.sh will still notice the build failed because the system-image tarball isn't there. (This wouldn't work for the cross-compiler tarball, the failure wouldn't propogate far enough on its own. In build.sh it only goes one stage forward at a time.)
Note that the busybox optimization is a bit subtle: if build.sh sees that root-filesystem-$ARCH.tar.bz2 doesn't exist, it'll delete system-image-$ARCH.tar.bz2 to signal the next stage needs to be rebuilt. So even if the root-filesystem build then dies, bisectinate.sh will still notice the build failed because the system-image tarball isn't there. (This wouldn't work for the cross-compiler tarball, the failure wouldn't propogate far enough on its own. In build.sh it only goes one stage forward at a time.)
| author | Rob Landley <rob@landley.net> |
|---|---|
| date | Sun Mar 07 13:18:58 2010 -0600 (4 days ago) |
| parents | 3d2261361009 |
| children |
line source
1 # Setup
3 # This file is a place for you to set configuration values. This entire
4 # file is optional; by default all the variables documented in this file
5 # are left blank by the build. Feel free to replace this file with your
6 # own version, or to set these as environment variables on the command line.
8 # Set this to tell build.sh not to build a native toolchain. (This means
9 # root-filesystem.sh won't have it either.)
11 # export NO_NATIVE_COMPILER=1
13 # If this is set, root-filesystem.sh won't bother to create the normal
14 # directory hierarchy of /usr, /tmp, /etc, and so on.
16 # export ROOT_NODIRS=1
18 # By default, busybox and the native compiler are built statically.
19 # (Building busybox static provides a 20% performance boost to autoconf
20 # under qemu, and building the native compiler static makes it more
21 # portable to other root filesystems.)
23 # To make those dynamic, set this to "none". Set it to any other
24 # value to link all packages statically.
26 # export BUILD_STATIC=none
27 # export BUILD_STATIC=1
29 # If this is set, build.sh will build a cross compiler statically linked
30 # against uClibc. This indicates which host that compiler should run on.
31 # Note that most x86_64 systems can run a statically linked i686 binary even
32 # if they don't have the 32-bit libraries installed, so that's a good default.
34 # export STATIC_CC_HOST=i686
36 # This may be set by the target's "details" file, but you can override it here.
37 # You can set it to ext2, initramfs, or squashfs. It defaults to squashfs
38 # if blank.
40 # export SYSIMAGE_TYPE=squashfs
42 # Size of writeable HDA image (if any), defaults to 64 megs
44 # export SYSIMAGE_HDA_MEGS=64
46 # Set this to use symlinks instead of hard links when creating temporary copies
47 # of the source packages (in setupfor). This is slower and uses more inodes,
48 # but allows the extracted source packages to live in a different filesystem
49 # than the build directory.
51 # export SNAPSHOT_SYMLINK=1
53 # Use qemu to run "hello world" built by the cross compiler. Note that
54 # you need a working qemu application emulation to do this. Specifically,
55 # to unbreak arm you need to "echo 0 > /proc/sys/vm/mmap_min_addr" as root.
57 # export CROSS_SMOKE_TEST=1
59 # If this is set, try downloading packages from this location first.
61 # export PREFERRED_MIRROR=http://impactlinux.com/fml/mirror
63 # If this is set, the toybox utilities will take precedence over busybox ones.
65 # export USE_TOYBOX=1
67 # Try development versions of these packages. (Know what you're doing if
68 # you select these, it's quite possible the result won't work.)
70 # export USE_UNSTABLE=uClibc,busybox,toybox,linux,binutils,make,gcc-core,gcc-g++
72 # Debugging option to leave source in build/temp-$ARCH after build.
74 # export NO_CLEANUP=1
76 # Don't create tarballs at the end of each stage.
78 # export NO_STAGE_TARBALLS=1
80 # Tell the linux kernel, uClibc, and busybox to show the actual build commands
81 # instead of pretty-print output.
83 # export BUILD_VERBOSE=1
85 # Don't update the title bar in the display
87 # export NO_TITLE_BAR=1
89 # Create a tarball with the files installed by each individual package at
90 # each stage of the build.
92 # export BINARY_PACKAGE_TARBALLS=1
94 # Set this if you want debug symbols in your binaries.
96 # export SKIP_STRIP=1
98 # Set this to tell download.sh to extract all the tarballs up-front right
99 # after downloading them. (Otherwise the tarball is extracted by setupfor
100 # the first time the build tries to use it.)
101 #
102 # Extracting tarballs early is useful in order to run multiple build.sh
103 # instances in parallel when building multiple targets, or to test that
104 # new patches added to the sources/patches directory apply cleanly.
106 # export EXTRACT_ALL=1
108 # This isn't actually one of our variables, but a number of packages listen
109 # to this to add extra debug info to their binaries. (Use with SKIP_STRIP)
111 # export CFLAGS="-g"
