10.1 Get Busybox source file
First, we need to download busybox source files from http://www.busybox.net/downloads/. In this tutorial, we use busybox-1.13.0.tar.bz2.
We use the cross compiler 4.3.3.
Note: 3.4.5 and 4.3.3 are differenent. Please use the same version to compile the kernel and file system, and so are the application on the file system.
10.2 Modify and config BusyBox
to unzip busybox, please use command #tar xvfj busybox-1.13.0.tar.bz2 -C /opt/EmbedSky/¡£
Change Makefile in kernel, line 164 changed to:
CROSS_COMPILE = arm-linux-
Line 189 changed to :
ARCH = arm
Now we can use #make menuconfig to enter config menu.
The config afterwards are as follows:
Busybox Settings —>
General Configuration —>
Buffer allocation policy (Allocate with Malloc) —>
[*] Show verbose applet usage messages
[*] Store applet usage messages in compressed form
[*] Support –install [-s] to install applet links at runtime
[*] Enable locale support (system needs locale for this to work)
[*] Support for –long-options
[*] Use the devpts filesystem for Unix98 PTYs
[*] Support writing pidfiles
[*] Runtime SUID/SGID configuration via /etc/busybox.conf
[*] Suppress warning message if /etc/busybox.conf is not readable
(/proc/self/exe) Path to BusyBox executable
Build Options —>
[*] Build BusyBox as a static binary (no shared libs)
[*] Build with Large File Support (for accessing files > 2 GB)
Installation Options —>
[ ] Don’t use /usr
Applets links (as soft-links) —>
(./_install) BusyBox installation prefix
Busybox Library Tuning —>
(6) Minimum password length
(2) MD5: Trade Bytes for Speed
[*] Faster /proc scanning code (+100 bytes)
[*] Command line editing
(1024) Maximum length of input
[*] vi-style line editing commands
(15) History size
[*] History saving
[*] Tab completion
[*] Fancy shell prompts
(4) Copy buffer size, in kilobytes
[*] Use ioctl names rather than hex values in error messages
[*] Support infiniband HW
Linux Module Utilities —>
(/lib/modules) Default directory containing modules
(modules.dep) Default name of modules.dep
[*] insmod
[*] rmmod
[*] lsmod
[*] modprobe
— Options common to multiple modutils
[ ] Support version 2.2/2.4 Linux kernels
[*] Support tainted module checking with new kernels
[*] Support for module.aliases file
[*] Support for module.symbols fileLinux System Utilities —>
Now esape to the root menu, and select “Save Configuration to an AlternateFile” and save to config_EmbedSky
10.3 Compile and install BusyBox
Exit the config menu, and use #make; make install to compile. After the compilation, there will be a “_install” under busybox-1.13.0.
After the busybox is compiled, we can start to build the file system.
Leave a Reply
You must be logged in to post a comment.