打造精简linux

在虚拟机中打造精简linux,需要一台宿主机(和足够用的空磁盘)用来配置精简的linux

一台用于搭载新的linux系统的“空壳机”(没有硬盘,要挂载新的磁盘)。

根据Linux开机引导流程制作精简linux:

centos lvm 精简模式_linux

在宿主机上添加一块新的硬盘:注意保存格式和位置:

centos lvm 精简模式_库文件_02

启动进入宿主机进行分区:

centos lvm 精简模式_运维_03

先查看目前分区情况。因为是新的硬盘,目前还没有分区。

centos lvm 精简模式_库文件_04

创建3个主分区并指定大小:

centos lvm 精简模式_库文件_05

centos lvm 精简模式_库文件_06

创建完成后查看分区情况:

centos lvm 精简模式_操作系统_07

对分区进行标示第一个分区作为引导分区,第二个分区作为根分区并保存退出:

centos lvm 精简模式_运维_08

对分区进行格式化1 和2 分区:mkfs  –t ext3 /dev/sdb1

                             mkfs  –t ext3 /dev/sdb2

centos lvm 精简模式_linux_09

建立挂载点把新硬盘的分区挂到相应目录:

centos lvm 精简模式_centos lvm 精简模式_10

以个系统重要的是内核,所以我们要把宿主机上的内核文件,引导文件等拷贝到我们新的硬盘的相应目录,

centos lvm 精简模式_centos lvm 精简模式_11


关于驱动文件对新的系统引导文件我们要做一些更改配置以适应新的系统:

centos lvm 精简模式_centos lvm 精简模式_12

对引导文件进行编辑:

centos lvm 精简模式_操作系统_13

对编辑好的引导文件进行打包压缩处理:

centos lvm 精简模式_运维_14

创建grub菜单注意:”--root-directory=”命令的作用是指定的目录下搜索并建立”boot”目录并在”boot”目录下建立一个grub菜单,所以注意”=”后的目录写法。

centos lvm 精简模式_操作系统_15

centos lvm 精简模式_运维_16

第一阶段创建直接在当前目录下“grub” 进入配置:

centos lvm 精简模式_linux_17

第一第二阶段完成后创建grub引导菜单:

centos lvm 精简模式_操作系统_18

编辑grub.conf:

centos lvm 精简模式_操作系统_19

引导 GRUB菜单内核已经具备下面要进行INIT ,在进行init前要在第二个硬盘的根分区下建立相应的文件夹(并不需要所有的都建):查看旧的文件夹

centos lvm 精简模式_运维_20

centos lvm 精简模式_操作系统_21


由于启动要进行init 把init的文件拷贝到新硬盘的相应目录下:which 查找init文件的位置:但是只拷贝文件是不行的,还要拷贝文件所依赖的库文件:ldd 查找库文件位置:并不是其目录下的库文件都要拷贝:只有”/lib”下的需要拷贝:拷贝到新的硬盘与库文件相应的目录下:

centos lvm 精简模式_操作系统_22

另还需要”ls”查看文件所以还要拷贝这个名的需要的文件库文件:

centos lvm 精简模式_操作系统_23

如上图需要拷贝的文件库文件过多,需要的拷贝的命令不止几个,命令重复太大过于繁琐,可以编辑一个脚本用于拷贝文件及库文件:)

centos lvm 精简模式_运维_24

命令:


centos lvm 精简模式_linux_25

库文件:

centos lvm 精简模式_centos lvm 精简模式_26

创建inittab表格:

centos lvm 精简模式_运维_27

编辑表格:

centos lvm 精简模式_操作系统_28


编辑 rc.sysinit  :

centos lvm 精简模式_linux_29

centos lvm 精简模式_运维_30

完成配置“sync” 同步内容到磁盘:

centos lvm 精简模式_库文件_31

测试:

在虚拟机中新建一个linux 用于测试:

centos lvm 精简模式_linux_32

centos lvm 精简模式_运维_33

centos lvm 精简模式_centos lvm 精简模式_34

centos lvm 精简模式_运维_35

新建完成后不启动要添加我们做好的硬盘添加前先把自己带的硬盘移除:


centos lvm 精简模式_centos lvm 精简模式_36

centos lvm 精简模式_linux_37

centos lvm 精简模式_运维_38



硬盘存放位置名称:

centos lvm 精简模式_库文件_39

完成后启动:

centos lvm 精简模式_操作系统_40

菜单出现,一二阶段正常:


正确启动,并能执行”ls”命令简单的linux基本完成,根据自己需要添加需要的服务功能:


centos lvm 精简模式_操作系统_41

执行关机命令:提示缺少文件指令:

centos lvm 精简模式_库文件_42

重新启动宿主机,编辑inittab进行关机重启配置:

centos lvm 精简模式_操作系统_43


centos lvm 精简模式_库文件_44

编辑后:

centos lvm 精简模式_centos lvm 精简模式_45

当执行 init 0 时会执行sysshutdown

当执行 init 6 时会执行

然后建立sys* 两个文件(调用旧的指令) 执行关机重启:


centos lvm 精简模式_操作系统_46

centos lvm 精简模式_运维_47

centos lvm 精简模式_linux_48


查找关机重启相关指令文件库文件并拷贝到相应文件目录下(很多指令的库文件都是相同文件会发生覆盖现象既然相同覆盖也是可以的):

centos lvm 精简模式_运维_49

重新启动测试(别忘了同步数据  sync  ):

centos lvm 精简模式_centos lvm 精简模式_50

已经可以进行关机重启的基本命令。

另:实现网络功能 更改启动背景 见下文

... ... ...



转载于:https://blog.51cto.com/liuhengyou/1266286