自动建立一个小linux
实验环境VMware6.02
系统REHL5.4(宿主机)
我们在这个系统上添加一块新硬碟来作为新系统的储存盘,将硬碟分为为两个区,一个拿来储存系统内核,另一个拿来储存init和bash等二补码文件。
具体操作过程如下:
添加一块硬碟,用fdisk–l查看结果:。nit方
对新添加的硬碟进行分区:
分为sdb1,sdb2两个区,使用partprobe让内核重读分区表,用cat/proc/partitions查看分区情况,没问题吧!
将sdb1,sdb2低格为ext3文件系统:
下边开始挂载分区,我们选择在/mnt目录下,这个目录可以是任意的。在/mnt目录下创建的两个挂载点/boot(放置grub的目录)、/sysroot(系统根分区,)。
在sdb分区上装grub,默认就装在/mnt/boot/目录下。
查看boot目录下的文件linuxchm,有grub了吧
瞧瞧grub目录下的配置配置文件,发觉了没?缺了一个grub.conf主配置文件,这个我到时候再创建。
把系统的内核拷贝到当前的boot目录下,重命名为vmlinuz。注意是在boot目录下,这儿我犯了一个错误,直接拷到grub目录下,不过在旁边又将vmlinuz放在boot下了。
还须要initrd文件吧?我们没有,须要将系统的initrd更改后拷贝过来。注意系统的initrd不能直接使用,须要更改。我们在tmp目录下创建一个initrd目录,将系统的initrd拷过来展开。
我们查看一下init文件,用不到的行删掉或则注释掉都行。
我们再查看一下lib目录下的文件redhat linux,将用不到的统统删掉,如图:
将更改后initrd重新封装输出到/mnt/boot/initrd.gz.。
查看boot目录,看!我们的内核和initrd文件都打算好了吧!这样我们就可以编辑grub.conf文件了。
编辑完成后,把数据从显存中同步到硬碟上,查看grub.conf的内容,就这么简单几句话
下边开始打算我们的根文件系统,在sysroot目录下创建文件目录
将系统/sbin/bin目录下的init文件拷贝到当前的init目录下
将系统/bin/bash目录下的bash文件拷贝到当前的bin目录下
查看一下当前目录
同时还要把两个文件所依赖的库文件拷贝到当前的lib目录下。
使用ldd查看文件所以依赖的库
将库文件拷贝过来
init要想真正运行,我们还须要一个配置文件inittablinux小系统,这儿我们在当前的etc目录下创建一个inittab文件并编辑。
发觉了没?拿来做系统初始化的rc.sysinit文件没有,我们仍然须要动手创建。创建完成后linux小系统,须要赋于其执行的权限,之后再同步一下。
这样,一个简单的小linux就完成了。将宿主机挂起,我们新建一个虚拟机使用刚才配置完成的这块硬碟试一下,看!早已成功启动:
其实,这个小系统仅仅是才能正常启动,不能做任何事情。
我们来添加一个ls命令吧,把系统/bin下ls命令所依赖的库文件拷贝到/mnt/sysroot/lib目录下
重新试一下,看!ls命令才能正常运行了吧!
其实,这个linux小系统仅仅是通过拷贝的形式完成了正常的启动功能,尚不能做任何事情,须要我们在前面逐渐去构建。
本文原创地址://q13zd.cn/vxtrztjxypbf.html编辑:刘遄,审核员:暂无