本人使用的是busybox1.18.3下载地址为http://www.busybox.net/
使用的kennel是linux-2.6.18.tar.gz


编译busybox
我们开始编译busybox。(我的busybox-1.18.3.tar.gz存放到了/root目录下)
# tar xf busybox-1.18.3.tar.gz (解压busybox压缩包)
# cd busybox-1.18.3 (进入到解压后的busybox源码目录)
# make menuconfig (配置busybox)
注意配置时,一定要选择静态链接选项,该选项位于:
Busybox Settings –> Build Options –> Build Busybox as a static binary
接下来,我们安装busybox
# make install (busybox默认安装到了其源码树目录的名字为_install的目录中)
# cd _install (进入安装了busybox的目录)
当我们进入了busybox后发现了熟悉的linux目录结构,但只有这些是不够的还需要手工添加一些基本的配置文件。
4. busybox中添加配置文件并生成initrd镜像
这时,我们处在/root/busybox-1.18.3/_install 目录下。
好了,开始我们的配置~
# mkdir proc sys etc dev (创建四个空目录,linux内核需要)
# cd dev
# mknod console c 5 1 (创建一个控制台字符设备文件)
# mknod null c 1 3 (创建一个0设备文件)
# cd ..
# cd etc
# vim fstab (输入如下图内容)
# mkdir init.d
# vim init.d/rcS (输入如下内容)
# chmod +x init.d/rcS (rcS文件加上可执行权限)
# vim inittab (输入如下内容)
# cd ..
# pwd (打印当前目录)
/root/busybox-1.18.3/_install
此时表明我们处在busybox安装文件的根目录下
# rm linuxrc (删除linuxrc链接文件)
然后新创建一个指向busybox文件的链接文件
ln -sv bin/busybox  init
在_install目录下执行
find . | cpio -H newc -o --quiet |gzip -q > ../initrd.gz
# cd ..
# cp initrd.gz  /mnt/boot  (此时我们把我们原来/mnt/boot下的initrd.gz备份成initrd.gz.bac)
#cp /usr/src/linux/arch/x86/boot/bzImage  /mnt/boot(这是源码包经过tar zxvf linux-2.6.18.tar.gz -C /usr/src后cd /usr/src/linux又make menuconfig选定一些模块等选项然后编译make -j 4  我们只是为了编译出一个内核镜像,所以就不调用make install命令来安装内核了。原来/mnt/boot中的vmlinuz就不用了)

现在测试,开机启动时按e编辑,改成如下
此时的initrd.gz已经不是原来的那个了,原来的那个已经备份成initrd.gz.bac