计算机已成为现代人日常工作、学习和生活中必不可少的工具。操作系统是计算机之魂,作为用户使用计算机的接口,它负责调度执行各个用户程序,使计算机完成特定的任务;作为计算机硬件资源的管理者,它负责协调计算机中各类设备高效地工作。操作系统的重要性不言而喻,市面上主流的操作系统有Windows、Unix、Linux、Mac OS X。
一、Linux系统特点
Linux于1991年由芬兰大学生Linus开发,是一个类Unix的开源版操作系统,主要有以下几个特点:
开放式操作系统
Linux是一个免费软件,开发者可以自由安装并任意修改软件的源代码,相比Unix的命令行操作,Linux提供了窗口管理系统,相对容易操作,企业可以免费使用Linux,大大降低了成本预算。
强大的硬件支持
Linux系统非常容易维护,用户可以集中更新操作系统和所有安装的软件,即安全又高效。Linux能有效利用系统资源,允许用户针对特定的硬件要求进行安装,允许在旧计算机上安装Linux,从而有助于最佳地利用计算机硬件资源。
安全性高、稳定性强
Linux系统下除非用户以root身份登录,否则程序无法更改系统设置和配置,很少出现因为用户误操作导致计算机无法启动的情形。Linux下载的文件、恶意软件的权限将受到限制,能有效避免病毒的侵入,Windows系统中常见的勒索病毒、蠕虫病毒均无法在Linux下运行。Linux非常稳定,不易崩溃,Linux能在几年后保持和第一次安装时一样的运行速度。而Windows的话可能在运行半年后,速度就跟不上了。
Linux系统的成功归功于每个Linux爱好者的贡献,不管是在Linux内核还是开源软件等方面,都为我们后来人提供了一个良好的学习和研究环境。
下面我们就一起来做个小实验:通过裁剪现有Linux系统,根据自己的需要,打造一个属于自己的Linux小系统,让其能够具备Linux的一些常用小功能。
二、原理
启动流程介绍:
制作Linux小系统之前,我们有必要再了解一下Linux的启动流程:
1、首先Linux要通过POST自检,检查硬件设备有没有故障
2、如果有多块启动盘的话,需要在BIOS中选择启动磁盘
3、启动MBR中的bootloader引导程序
4、加载内核文件
5、执行所有进程的父进程、老祖宗init
6、打印欢迎界面
在Linux的启动流程中,加载内核文件时还需要借助别外两个文件:
1)initrd,是CentOS5上用内存模拟的磁盘设备
2)initramfs,是CentOS6上用内存模拟的文件系统
在启程的流程中,init主要是用来做哪些操作的呢?
init通过调用/etc/inittab这个配置文件,然后再去执行/etc/rc.d/rc.sysinit的系统初始化脚本
好啦,原理我们已经知道了,接下来我们来看看具体的思路吧!
三、思路
1、我们要在一个现有的Linux系统上加一块硬盘/dev/sdb,在硬盘上分两个分区,一个是/boot,一个是/,并将其格式化。当然,我们需要明确的概念是,我们现在加的这个硬盘在现有的Linux系统中是/dev/sdb,但是,当我们把东西全部设置好时,我们就需要把这个硬盘拔除,放在我们的新系统上,此时,他就是/dev/sda啦。
2、在/dev/sdb这个硬盘上,我们要将其打造成一个独立的Linux系统,里面的所有文件是需要我们一个一个拷贝进去的。而且,作为一个将来要当/dev/sda的硬盘,里面一定要有grub文件诺~所以我们要安装grub文件。
3、同时,作为一个能独立运行的Linux系统,内核是一定不能少的!所以,我们要把内核文件和initramfs文件也一起拷到我们的/dev/sdb上。
4、现在我们系统已经初具规模了,接下来就是需要程序了0.0关于程序的拷贝我们可以通过一个脚本来实现。具体的脚本在下文中会给大家说到。
以上步骤完成,我们的自制Linux就完成啦~我们的思路就是这么回事,接下来,我们就开始吧!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |