Linux操作系统已成为当今服务器操作系统的主力了,也有越来越多的同志们对linux感性趣了,当然我也不例外,linux的功能很多很强大,但是对于不同的需求可能不需要那么完整的功能,同时linux很灵活,可以选择性的去定制适合需求的linux操作系统,那么今天我们就来自己定制一个小的linux操作系统来练练手。
自己DIY linux操作系统之前,你需要对linux操作系统有所理解并能熟练的使用,网上有很多关于linux的书籍及视频,可以去学习。
一、准备工作:a.理论基础
b.软硬件平台
1.理论基础
a.linux 的启动流程,这是必须要了解的,因为我们是按照启动流程来模拟定制操作系统的,启动流程分几步:
1.加在BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备
2.读取并执行第一个启动设备内的MBR的boot Loader(grub,spfdisk等程序,很重要)
3.依据boot loader的设置加载Kernel,Kernel会开始检测硬件和加载驱动(内核是可以自己定制的,后面会讲到)
4.在硬件驱动加载成功后,Kernel会主动去调用init进程,而init会获取run-level信息
5.init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(我们可以选择性的将想要的功能实现添加进这个脚本里)
6.init执行run-level的各个服务的启动(脚本形式)
7.init执行/etc/rc.d/rc.loacl文件(里面包含了一下用户自定义的开机启动项,类似windows)
8.init执行终端机模拟程序mingetty来启动login进程,最后就等待用户启动
启动流程就是这样,但是我们自己定制的操作系统可能没有这么强大所以并不是每个流程都会经过,可以后期随着自己的能力的增强去自己修改
b.要懂得如何去看脚本和编写脚本,这是必须的,不然后续的任务无法完成
2.软硬件平台
a.软件平台:你需要有一个完整的linux镜像,我们要模仿着做官方的操作系统做,我用的是rhel-server-5.4-i386-dvd.iso,网上可以下载的到,当然因为我的硬件有限,我使用的是虚拟机(vm)来完成各项操作
b.因为有了虚拟机,所以不用太考虑硬件的。
二、开始我们的DIY linux之旅至于上述不懂得可以去问问度娘,反正我是很喜欢度娘啦
1.需要新建两个虚拟机,其中一个不需要硬盘,以后作为测试用,另一个是一个完整的Linux 5.4 系统(我的是5.4的),不会安装虚拟机的去自己找找教程,安装完成之后要新添加一块硬盘(大概20个G),作为移植硬盘,移植到那个没有硬盘的虚拟机上做测试,在测试过程中可以使用vm的supend功能,可以省去很多的时间,同时还要注意在Server1上修改Server2硬盘的数据时记得要使用sync指令去同步到硬盘中
做完以上之后的截图下图:1-1,1-2(注Server1是配置机,Server2是验证主机就是开始那个没硬盘的主机)
1-1