在使用linux的时候,有时我们并不需要其完整、强大的功能,我们需要的或许只是其中的一部分功能,那么这时候我们就可以以一个功能完备的Linux主机为模版,参照这个模版来打造一个符合自己需求的Linux主机。    

    建立一个符合自己需求的linux主机,可以把要建立的主机的空白硬盘摘取下来,安装在一个功能完备的linux宿主机上,在宿主机上完成对硬盘的操作,然后再重新将该硬盘安装在自己的linux主机上即可。

    在虚拟机上模拟这种状态,可以在linux宿主机上添加一块虚拟硬盘,待把这块虚拟硬盘的操作完成之后,移除该硬盘,重新建立一台虚拟机,硬盘选择已经处理好的这块硬盘即可。

一、将空白硬盘安装在Linux宿主机上并在硬盘上建立三个分区,分别为引导分区、根分区和交换分区

204348399.jpg

204436979.jpg

204534559.jpg

204658779.jpg

二、由于前两个分区分别为引导分区和根分区,所以对这两个分区进行格式化

204736853.jpg

三、将这两个分区挂载到当前的宿主机上

204811347.jpg

四、在这块新硬盘上建立grub第二个阶段

204907856.jpg

204920820.jpg

五、在这块新硬盘上建立grub第一个阶段,用grub命令进入grub模式

204928940.jpg

六、建立内核文件

204932286.jpg

七、修改符合新建主机参数的驱动文件并拷贝到新建主机中

204938931.jpg

修改其中的init文件,修改后的文件如下所示:

204943516.jpg

204950676.jpg

八、在/mnt/boot/grub目录下新建grub.conf,文件内容如下

204959148.jpg

九、建立init初始化阶段

205007455.jpg

205018343.jpg

由于逐条命令复制工作量比较大,我这里编写了一个cp.sh脚本,放在了/mnt/sysroot目录下,用来批量的将命令级命令相关的库文件复制到新建主机的对应目录下,脚本源码放在了文章的末尾

205024741.jpg

十、在/mnt/sysroot/etc下新建inittab文件,文件内容如下:

205028519.jpg

十一、在/mnt/sysroot/etc/rc.d目录下新建sysshutdown、sysreboot、rc.sysinit文件

205033491.jpg

新建rc.sysinit脚本,用来初始化开机进程

205039841.jpg

这三个脚本的内容如下:

sysshutdown:

215058759.jpg

sysreboot:

205044927.jpg

rc.sysinit:

205046750.jpg

十二、将需要用到的一些指令复制到新建主机上

205050966.jpg

十三、将创建好的硬盘从宿主机上拆下来,装载一个没有操作系统的主机上可以看到现在的主机已经具备linux的最最基本的一点点操作了

205056813.jpg

十四、给新建主机添加网络功能

把硬盘查下来重新安装在宿主机上

205059513.jpg

205103839.jpg

以下是network文件的内容

205106656.jpg

向新建主机中添加网络模块

205112767.jpg

205116372.jpg

205122605.jpg

修改/mnt/sysroot/etc/grub/grub.conf文件,文件内容如下:

205128221.jpg

将需要的命令拷贝至新建主机

213834512.jpg

测试

213929391.jpg

 

附:cp.sh

214724448.jpg