本人使用的是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