From ac4c92da3b5305c244b5c48692c5542db4b6946c Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Thu, 11 May 2006 17:21:13 +0000 Subject: More about configuring busybox. --- docs/busybox.net/FAQ.html | 76 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 64 insertions(+), 12 deletions(-) (limited to 'docs/busybox.net/FAQ.html') diff --git a/docs/busybox.net/FAQ.html b/docs/busybox.net/FAQ.html index 07c1fd4..6bc144d 100644 --- a/docs/busybox.net/FAQ.html +++ b/docs/busybox.net/FAQ.html @@ -8,16 +8,17 @@ have additions to this FAQ document, we would love to add them,
If you just want to try out busybox without installing it, download the - tarball, extract it, run "make allyesconfig", and then run "make". + tarball, extract it, run "make defconfig", and then run "make".
- This will create a busybox binary with all features enabled. To try + This will create a busybox binary with almost all features enabled. To try out a busybox applet, type "./busybox [appletname] [options]", for example "./busybox ls -l" or "./busybox cat LICENSE". Type "./busybox" to see a command list, and "busybox appletname --help" to see a brief @@ -90,6 +91,57 @@ have additions to this FAQ document, we would love to add them, standalone shell is dependent on the existence of /proc/self/exe, so before using it in a chroot environment you must mount /proc.)
+ ++
Busybox is configured similarly to the linux kernel. Create a default + configuration and then run "make menuconfig" to modify it. The end + result is a .config file that tells the busybox build process what features + to include. So instead of "./configure; make; make install" the equivalent + busybox build would be "make defconfig; make; make install". +
+ +Busybox configured with all features enabled is a little under a megabyte + dynamically linked on x86. To create a smaller busybox, configure it with + fewer features. Individual busybox applets cost anywhere from a few + hundred bytes to tens of kilobytes. Disable unneeded applets to save, + space, using menuconfig. +
+ +The most important busybox configurators are:
+ +make defconfig - Create the maximum "sane" configuration. This +enables almost all features, minus things like debugging options and features +that require changes to the rest of the system to work (such as selinux or +devfs device names). Use this if you want to start from a full-featured +busybox and remove features until it's small enough.
make allnoconfig - Disable everything. This creates a tiny version +of busybox that doesn't do anything. Start here if you know exactly what +you want and would like to select only those features.
make menuconfig - Interactively modify a .config file through a +multi-level menu interface. Use this after one of the previous two.
Some other configuration options are:
+make oldconfig - Update an old .config file for a newer version +of busybox.
make allyesconfig - Select absolutely everything. This creates +a statically linked version of busybox full of debug code, with dependencies on +selinux, using devfs names... This makes sure everything compiles. Whether +or not the result would do anything useful is an open question.
make allbareconfig - Select all applets but disable all sub-features +within each applet. More build coverage testing.
make randconfig - Create a random configuration for test purposes.
Menuconfig modifies your .config file through an interactive menu where you can enable or disable + busybox features, and get help about each feature. + + +
To build a smaller busybox binary, run "make menuconfig" and disable the features you don't need. (Or run "make allnoconfig" and then use -- cgit v1.1