文件系统的裁减
时间:2006-03-15 来源:heathcup
从www.busybox.net下载最新的busybox,我拿到的是:
busybox-1.1.0.tar.bz2
解压:可以用 bunzip2 或者 tar xvjpf 进入busybox的目录
make menuconfig
make PREFIX=./_install install
编译安装后,在_install目录下将生成bin,sbin等目录
需要添加lib、etc、dev、proc、tmp、home、opt、var等目录
下面主要说一下前三个目录的制作 lib
主要是拷贝相关的动态链接库到这个下面
ldd busybox:查看与busybox相关的动态链接库
在拷贝的时候需要加上-dpR选项,主要是关于链接的,具体的意思待查
例如cp /lib/ld-2.3.3.so ./ -dpR
如果拷贝过来后显示为闪烁的红色,这个就要继续把它链接指向的库继续拷过来 etc
这个比较简单
找到examples/bootfloppy目录下的etc目录,把这个目录下的东东一并拿过来就行了! Dev
同样在examples/bootfloppy下
找到mkdevs.sh可执行文件,执行:
./ mkdevs.sh ……/_install/dev/ (……省略busybox所在路径)
再切到dev目录下,就会看到已经生成一系列的东东了! 至此,整个busybox的文件系统已经制作完毕了,下面所要做的就是找个放把它压缩安装进去了! Dd if=/dev/zero of=/dev/ram0 bs=4k count=1024
Dd这个命令有很多应用,需要继续研究!为什么bs=4k呢,因为linux下4k为一页,经验显示,这样的效率比较高一点!
格式化:mke2fs /dev/ram0
cd mnt
删掉无关紧要的lost+found
地方已经找好了,现在要做的就是把busybox拷贝压缩进去了
mount –o loop /dev/ram0 /mnt
cd /mnt
切到_install目录:cp* /mnt
现在还在内存里面,
umount /mnt这样就写到物理硬件上了
压缩:dd if=/dev/ram0 | gzip –c9 > initrd.img
拷贝出来:cp initrd.img /boot/my_initrd.img 好了,现在只要改写一下lilo.config
在相应的内核启动项后面加入:(内核的裁减与制作见相应文档)
initrd=/boot/my_initrd.img
执行lilo
重启,进入系统,
如果进入系统成功,那就大功告成了!
busybox-1.1.0.tar.bz2
解压:可以用 bunzip2 或者 tar xvjpf 进入busybox的目录
make menuconfig
make PREFIX=./_install install
编译安装后,在_install目录下将生成bin,sbin等目录
需要添加lib、etc、dev、proc、tmp、home、opt、var等目录
下面主要说一下前三个目录的制作 lib
主要是拷贝相关的动态链接库到这个下面
ldd busybox:查看与busybox相关的动态链接库
在拷贝的时候需要加上-dpR选项,主要是关于链接的,具体的意思待查
例如cp /lib/ld-2.3.3.so ./ -dpR
如果拷贝过来后显示为闪烁的红色,这个就要继续把它链接指向的库继续拷过来 etc
这个比较简单
找到examples/bootfloppy目录下的etc目录,把这个目录下的东东一并拿过来就行了! Dev
同样在examples/bootfloppy下
找到mkdevs.sh可执行文件,执行:
./ mkdevs.sh ……/_install/dev/ (……省略busybox所在路径)
再切到dev目录下,就会看到已经生成一系列的东东了! 至此,整个busybox的文件系统已经制作完毕了,下面所要做的就是找个放把它压缩安装进去了! Dd if=/dev/zero of=/dev/ram0 bs=4k count=1024
Dd这个命令有很多应用,需要继续研究!为什么bs=4k呢,因为linux下4k为一页,经验显示,这样的效率比较高一点!
格式化:mke2fs /dev/ram0
cd mnt
删掉无关紧要的lost+found
地方已经找好了,现在要做的就是把busybox拷贝压缩进去了
mount –o loop /dev/ram0 /mnt
cd /mnt
切到_install目录:cp* /mnt
现在还在内存里面,
umount /mnt这样就写到物理硬件上了
压缩:dd if=/dev/ram0 | gzip –c9 > initrd.img
拷贝出来:cp initrd.img /boot/my_initrd.img 好了,现在只要改写一下lilo.config
在相应的内核启动项后面加入:(内核的裁减与制作见相应文档)
initrd=/boot/my_initrd.img
执行lilo
重启,进入系统,
如果进入系统成功,那就大功告成了!
相关阅读 更多 +
排行榜 更多 +