view config @ 1477:431d5b4ee537

Switch from busybox defconfig to baseconfig-busybox selecting just what we need, with a config variable to use defconfig instead if you really want that. Busybox defconfig doesn't build on Ubuntu 11.10 because of an app that didn't exist until recently breaking. Busybox keeps ininitely adding more and more stuff (with the Katamari Damacy theme playing), and it becomes more of a portability issue keeping it all working. Plus, most if it should not be in busybox anyway. I've revived my toybox project, and would eventually like to be able to use that here anyway, and a specific set of functionality is easier to replace than a moving target. This is an experimentally determined defconfig good enough to build aboriginal and linux from scratch, plus things like vi and shell history that I obviously missed. I'll probably add more stuff later. If I still want to do static defconfig busybox binaries for each target, I can do them as native builds via hdc.
author Rob Landley <rob@landley.net>
date Tue, 27 Dec 2011 08:58:16 -0600
parents ad5303b6d35a
children e2f722cc97a6
line wrap: on
line source

# Setup

# This file is sourced, not run.  It provides a place for you to persistently
# set configuration variables.

# Feel free to replace this file with your own version, or to set these
# environment variables on the command line.  This entire file is optional;
# by default all the variables listed in this file are left blank.

#############################################################################

# Setting this tells build.sh not to build a native toolchain.  (This yields
# a much smaller root-filesystem tarball.)

# export NO_NATIVE_COMPILER=1

# Setting this tells root-filesystem.sh not to create the normal directory
# hierarchy of /usr, /tmp, /etc, and so on.

# export ROOT_NODIRS=1

# Setting this tells build.sh to use the existing $PATH commands to build
# everything, which probably won't work out of the box.  Cross compiling is
# an insanely delicate process which requires a carefully configured host
# environment.  If we don't set up our own, you'll have to supply one.

# export NO_HOST_TOOLS=1

# Set this to a comma separated list of packages to build statically,
# or "none" to build all packages dynamically.  Set to "all" to build all
# packages statically (and not install static libraries on the target).

# By default, busybox and the native compiler are built statically.
# (Using a static busybox on the target provides a 20% performance boost to
# autoconf under qemu, and building the native compiler static makes it much
# more portable to other target root filesystems.)

# export BUILD_STATIC=busybox,binutils,gcc-core,gcc-g++,make

# If this is set, build.sh will build a cross compiler statically linked
# against uClibc.  This indicates which host that compiler should run on.
# Note that most x86_64 systems can run a statically linked i686 binary even
# if they don't have the 32-bit libraries installed, so that's a good default.

# export CROSS_COMPILER_HOST=i686

# If this is set, only build a C compiler and not C++

# export NO_CPLUSPLUS=1

# This may be set by the target's "details" file, but you can override it here.
# You can set it to ext2, initramfs, or squashfs.  It defaults to squashfs
# if blank.

# export SYSIMAGE_TYPE=squashfs

# Size of writeable HDA image (if any).  Does not apply to squashfs or initramfs

# export SYSIMAGE_HDA_MEGS=2048

# Set this to use symlinks instead of hard links when creating temporary copies
# of the source packages (in setupfor).  This is slower and uses more inodes,
# but allows the extracted source packages to live in a different filesystem
# than the build directory.

# export SNAPSHOT_SYMLINK=1

# Use qemu to run "hello world" built by the cross compiler.  Note that this
# requires working qemu application emulation for your target to do this, which
# is significantly more brittle than system emulation.  (To unbreak qemu-arm,
# "echo 0 > /proc/sys/vm/mmap_min_addr" as root.)  You probably don't need
# to do this.

# export CROSS_SMOKE_TEST=1

# If set, try downloading packages from this location first.

# export PREFERRED_MIRROR=http://impactlinux.com/fml/mirror

# Set this if you don't want to drop all unrecognized environment variables.

# export NO_SANITIZE_ENVIRONMENT=1

# Use alternative versions of these packages, using the ALT= URL in download.sh
# to fetch an alt-$PACKAGE-0 tarball.  (This is mostly used to test unstable
# versions of packages out of source control systems.  There are no checksums
# or versioning performed on alt packages, it's all done by hand.)

# export USE_ALT=uClibc,busybox,linux,binutils,make,gcc-core,gcc-g++

# Debugging option to leave source in build/temp-$ARCH after build.

# export NO_CLEANUP=1

# Don't create tarballs at the end of each stage.

# export NO_STAGE_TARBALLS=1

# Tell the linux kernel, uClibc, and busybox to show the actual build commands
# instead of pretty-print output.

# export BUILD_VERBOSE=1

# Don't update the title bar in the display

# export NO_TITLE_BAR=1

# Create a tarball with the files installed by each individual package at
# each stage of the build.

# export BINARY_PACKAGE_TARBALLS=1

# Set this if you want debug symbols in your binaries.

# export SKIP_STRIP=1

# Set this to tell download.sh to extract all the tarballs up-front right
# after downloading them.  (Otherwise the tarball is extracted by setupfor
# the first time the build tries to use it.)
#
# Extracting tarballs early is useful in order to run multiple build.sh
# instances in parallel when building multiple targets, or to test that
# new patches added to the sources/patches directory apply cleanly.

# export EXTRACT_ALL=1

# If you build strange things (such as gcc 3.4 with binutils 2.14), you
# may need extra host binaries added to build/host.  This lets you add them.
# In general, you don't want to do this.

# export HOST_EXTRA="lex yacc"

# Get your commands, for both host-tools and simple-root-filesystem, from:
#
#   busybox - busybox configured with with sources/baseconfig-busybox
#   busybox_defconfig - busybox configured with defconfig
#   toybox - toybox defconfig (plus busybox with baseconfig-toybox-todo)
#
# Default is "busybox".

# export TOYBOX=busybox

# Set this to continue despite failed patches.

# export ALLOW_PATCH_FAILURE=1

# If this is set, it's points to a directory containing additional files to
# copy into the simple-root-filesystem.  The path is either absolute or
# relative to the aboriginal topdir.

# export SIMPLE_ROOT_OVERLAY="overlay"

# Build more things in parallel.

# export FORK=1

# Force a specific number of CPUs instead of autodetecting.

# export CPUS=1

# If set, list of packages to build with CPUS=1.  (Faster than setting CPUS=1
# for the whole build if you know ahead of time which package is going to
# break.)

# export DEBUG_PACKAGE=bash,busybox

# This isn't actually one of our variables, but a number of packages listen
# to this to add extra debug info to their binaries.  (Use with SKIP_STRIP)

# export CFLAGS="-g -pipe"