Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186550
  • 博文数量: 40
  • 博客积分: 2576
  • 博客等级: 少校
  • 技术积分: 494
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-14 17:19
文章分类

全部博文(40)

文章存档

2011年(21)

2010年(19)

我的朋友

分类: 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晚


阅读(1660) | 评论(0) | 转发(0) |
0

上一篇:Linux内核动态加载模块

下一篇:linux hal

给主人留下些什么吧!~~