DIY简易Lnux系统

学习linux,就要对它的每一个阶段都要有所了解,由于学习的需要,这里,我们要自行搭建操作系统。而搭建操作系统,需要硬件和软件的支持。这里由于条件的限制,我们在虚拟机上完成这一案例。我们都知道,linux操作系统的核心是内核,由于linux是开源的,这里,我们可以直接利用现成的内核,也就是说,内核不用我们自行编写,但是其他的脚本要我们自己去模仿着去编写。

首先,我们看一下linux的工作流程

现在我们要在虚拟机上添加一块硬盘:

要把新添加的硬盘放到一个自己习惯的地方,这里我放到D盘

硬盘创建完成后,我们要去格式化才能用。为了保险起见,我们要先查看一下我们要格式化哪块硬盘,因为现在机器上有两块硬盘

有上图我们看到,我们要格式化的硬盘为上图中的反白处,即sdb硬盘。下面我们要对其进行分区并格式化

我们利用fdisk命令及相关参数来分区,这里我们只分出boot(100M)和/(1G)分区,然后进行格式化并挂载。

分区情况:

 利用mkfs命令格式化boot分区和/分区:

挂载分区:

利用 grub-install --root-directory=/mnt/  /dev/sdb来创建grub目录。

拷贝现有的内核文件和驱动:

对驱动进行修改,把驱动文件移到tmp/abc目录下,并进行修改,

由于我们挂载swap分区,所以我们要把init文件里的第87行注释掉,否则会出现错误信息,此时我们要把那个后缀为.img的文件删除,并把修改后的文件进行打包

接着要把该压缩文件拷贝到/mnt/boot/目录下,由于grub文件下缺少grub.conf文件,此时我们要编写此配置文件。

接着我们切换到/mnt/sysroot/目录下,创建dev etc home lib media misc mnt net opt proc root sbin selinix srv sys tftpboot tmp usr var目录

接着我们要把相关文件拷贝到现在的目录中。

然后我们要创建inittab表格,并创建rc.sysinit文件,然后我们把bash文件拷贝到我们穿件的第二块硬盘的bin目录下

接着扔需拷贝大量配置文件,由于要拷贝的工作量很大,所以我们编写一个脚本文件来完成拷贝工作

此时,我们要多执行sync这条命令,意思是说把刚才的操作都同步到硬盘里去。

这时,我们可以尝试打开自制的系统了,这时我们打开另一个新的虚拟机,且要把原有的硬盘删除掉,把刚创建的硬盘加载上去。

打开后是会出现错误的,接下来我们继续修改。此时我们会发现在sysroot目录下少一个bin的目录,创建后,在在下面创建bash文件。修改过后,就可以进去了

接着我们要利用cp.sh脚本来拷贝相关命令文件,如ls等,这时,是没有任何功能的,就相当于裸机,随后我们将进一步完善。

你可能感兴趣的:(自定义简易Linux)