如何制作一个小的liunx系统,这个可以当做一个启动盘。并可以使其成功启动,拥有简单的shel环境。
步骤如下
1,先创建一块新磁盘,也可拿u盘代替用来装系统。
2,给硬盘划分两个分区,一个为/boot/引导分区,一个为根分区
3,使用mkfs命令为新的分区创建文件系统,并挂载到两个不同的目录
4,在挂载/boot的分区创建grub引导目录
5,复制内核中的vmlinuz与initramfs.img文件至boot目录下然后根据文件编写grup下的引导配置文件。
一,划分磁盘,
制作liunx系统,就需要磁盘来装载它,也可用U盘替代。硬盘不需要太大,这里我们就模拟使用个20G的硬盘用来装载,使用lsblk命令查新加载的磁盘。
二,划分分区
这里是一个小系统,所以就分两个分区吧。一个/boot分区用来引导系统,一个正在的根分区,使用fdisk这个命令可以创建分区
三,创建文件系统
分区创建完成后要想使用还得创建文件系统,这里就把文件系统定义为etx4。
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
完成这两部后分区即创建完成,下一步将分区挂载至指定目录下
四,创建grup引导目录
Linux的启动需要加载内核,而内核的加载就需要grub里的配置文件来定义
grub-install --root-directory=/mnt /dev/sdb(这条命令就是用来生成grub引导文件的,它会根据CentOS6的内核文件来生成grub。然后把生成的文件指定到目标磁盘上)
五,复制复制内核中的vmlinuz与initramfs.img文件至boot目录
复制完成后我们就可以来编写grup下的引导配置文件了,它会根据配置文件来逐步引导各个程序的启动。如下图:1、所表示这个系统的默认的启动内核,0就是我们所制作的这个内核。2、表示如果在三秒内未指定为哪个内核,则系统就会启动默认内核。3、表示内核的名字。4、指明启动时的硬盘为哪一块硬盘。5、kernel 指明内核文件放置的相对位置,root 指明根目录的位置,selinux 表示把selinux这个安全策略关闭,init 表示我们要用的shell环境,这里我们用的是bash。
注意:编写时需要注意要把根目录的分区名更改为sda,因为当硬盘去引导系统时系统里只有一块硬盘,它会被自动识别为/dev/sda
六,创建根文件系统
启动分区准备好后就需要准备根分区了。这个分区的作用就是整个系统的真正的分区,整个系统的配置文件、数据都会放置在这个分区内。所以我们就需要在这个分区内创建目录来分别存放各个数据文件。而有些系统所必须的文件目录我们就可以在这里创建完毕。
创建目录的命令如下:
cd /mnt/rootfs
mkdir /mnt/rootfs/{dev,etc,proc,sys,usr,var,lib,home,root,tmo} -v
七,移植命令到根下
系统创建完成后还需要复制一些基本的命令到根下,如bash、ls、cat、cd、hostname、vim等以这些命令来完成某些操作,实现基本的shell环境。所以我们需要编写一个脚本完成这些命令的配置文件的复制以及所依赖的库文件的复制
下图脚本即可帮助我们完成这个任务
上诉步骤全部完成后一个新的liunx小型系统基本创建完成
八,测试
最后就可以把硬盘卸载下来,装到另外一个虚拟机上进行简单的小操作了。