第一步:
Linux移植——打造属于自己的小系统
原创
©著作权归作者所有:来自51CTO博客作者运维小成的原创作品,请联系作者获取转载授权,否则将追究法律责任
准备一台完好的linux宿主机,将移植linux系统的磁盘挂载在其上面
第二步:
1) 为新磁盘分区
2)sdb3应为swap分区修改其类型
3)然后保存分区
4)使用partprobe命令使kernel重新读取分区表
5)对磁盘sdb上的分区进行格式化
sdb3为虚拟分区暂时不理会
以sdb1作为新系统主引导分区
sdb2作为新系统的根分区
6)挂载sdb1(新系统的主引导分区)、sdb2(新系统的根分区)
第三步:
1) 构建mbr(一段在硬盘上一段为grub)
2) 查看文件是否已存在
发现没有grub.conf文件,所以需要手动创建这个文件
3) 拷贝内核以及驱动镜像到新系统
由于磁盘sda与sdb可能不同所以需要对驱动镜像加以改动
修改init文件
重新打包initrd-2.6.18-164.e15.img文件
4) 手动创建这个文件grub.conf
5)移植init
将宿主机根目录下的文件夹创建在新系统的根目录下并将init文件拷贝到新系统的sbin目录下
由于init为二进制文件所以会关联许多库,需要将这些库也一并拷贝过去
由linux的引导流程可知,init进程运行之后,需要读取/etc/inittab配置文件,故须为新系统创建这个配置文件
6) 由inittab知需要创建文件、/etc/rc.d/rc.sysinit(bash文件)文件
将其改为可执行的文件
7) 将宿主机的bash拷贝至新的系统并查看其所需要的关联链接库
8)通过脚本拷贝这些链接库
9)执行sync将已写数据同步到硬盘上
启动我们该写的小系统
第三步:
利用脚本向小系统里添加一些基本命令
如:ls、tree、kill、pkill、
第四步:
为系统添加关机命令
1) 由linux引导流程可知,系统执行关机,与/etc/rc.d/rc0.d/目录下的S01halt文件有关
2) 因为执行init 0 相当于切换至零级别,所以需要修改新系统的inittab文件
3) 编写rc.sysdown脚本并赋予可执行的权限
4) 将halt文件及相关库文件拷贝至新系统
5) 运行新系统,执行init 0命令
第五步:
1) 设置主机名
第五步:
为新系统grub设置背景图片
1) 使用gimp编辑要作为grub背景的图片
这个图片有几点要求:
a.大小为640*480
b.图片为14色
c.图片为.xpm格式的并且压缩的
第六步:
1) 添加内核的网卡模块
2) 在rc.sysinit文件中设置内核参数以及网络参数、ip
3) 移植指令sysctl、modprobe、ifconfig
4)测试网卡模块是否移植成功
第七步:
在新系统中搭建一个ftp服务
1) 在宿主机上安装ftp
2) 将vsftpd指令及相关库、配置文件拷贝至新系统
3) 在新系统中建一个pub目录作为ftp的根
4) 将宿主机中的passwd、shadow、group复制至新系统
5) 由于名称与id号相对应的机制,nsswitch机制,nsswitch机制依赖于/etc/nsswitch.conf这个配置文件,而nsswitch.conf文件又依赖于、/lib/libnss*的库文件,所以需将它们拷贝至新系统,禁用log
6)启动新系统中的ftp服务(后台启动)
7) 测试ftp服务
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章