分类: LINUX
2010-12-17 22:03:27
ngis-initrd的制作过程
1.目录的创建
在/tmp下创建如下目录:
bin :放所有的命令
etc :放dhclient的配置文件,以及modprobe的配置文件
init :写入初始化脚本
lib :放动态链接库,和modules
usr:存放个别命令的动态链接库
proc:挂载/proc文件系统,这个必须得有,没有的话测试有问题,很多命令的参数是通过proc读到的。
dev :文件设备
sys :/sys文件系统
2.需要命令的罗列
用到的命令如下:
bash modproble lspci insmod dhclinet dhclient-scripts ifconfig wget mkdir mount mknod chroot cat grep awk sleep bc
3.动态链接库和命令的cp
编写了一个复制动态链接库的脚本cplink.sh,然后
for i in `cat commandfile`;do name=`which $i` cp $name /tmp/bin/;done 完成命令cp
for i in `cat commandfile`;do cplink.sh $i /tmp;done 完成动态链接库cp完成
4.模块的cp
cp -a /lib/modules/`uname -r`/* /tmp/lib/modules/`uname -r`/
然后删减:将kernel/文件夹下面用不到的模块删除。
5.init脚本编写
1)文件系统的挂载和/dev的初始化
2)模块的加载
3)ip的获得
4)wget获得文件
5)切根(暂时没有,为了调试方便,直接exec /bin/bash)
6.find .|cpio -oc >file.img;gzip file.img
7.搭建pxe环境经行测试
测试基本通过~~wget 成功!
2010-12-16晚