跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

计算机已成为现代人日常工作、学习和生活中必不可少的工具。操作系统是计算机之魂,作为用户使用计算机的接口,它负责调度执行各个用户程序,使计算机完成特定的任务;作为计算机硬件资源的管理者,它负责协调计算机中各类设备高效地工作。操作系统的重要性不言而喻,市面上主流的操作系统有Windows、UnixLinux、Mac OS X。

Linux于1991年由芬兰大学生Linus开发,是一个类Unix的开源版操作系统,主要有以下几个特点:

开放式操作系统

Linux是一个免费软件,开发者可以自由安装并任意修改软件的源代码,相比Unix的命令行操作,Linux提供了窗口管理系统,相对容易操作,企业可以免费使用Linux,大大降低了成本预算。

强大的硬件支持

Linux系统非常容易维护,用户可以集中更新操作系统和所有安装的软件,即安全又高效。Linux能有效利用系统资源,允许用户针对特定的硬件要求进行安装,允许在旧计算机上安装Linux,从而有助于最佳地利用计算机硬件资源。

安全性高、稳定性强

Linux系统下除非用户以root身份登录,否则程序无法更改系统设置和配置,很少出现因为用户误操作导致计算机无法启动的情形。Linux下载的文件、恶意软件的权限将受到限制,能有效避免病毒的侵入,Windows系统中常见的勒索病毒、蠕虫病毒均无法在Linux下运行。Linux非常稳定,不易崩溃,Linux能在几年后保持和第一次安装时一样的运行速度。而Windows的话可能在运行半年后,速度就跟不上了。

Linux系统的成功归功于每个Linux爱好者的贡献,不管是在Linux内核还是开源软件等方面,都为我们后来人提供了一个良好的学习和研究环境。

跟大神一起15分钟制作一个属于自己的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就完成啦~我们的思路就是这么回事,接下来,我们就开始吧!

四、操作步骤

这次实验我们以centos6.9为例~

1、目标磁盘分区

首先,我们在宿主机上添加一块大小为20G的硬盘:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

添加完成后,点击确定,然后我们打开宿主机。 通过fdisk来给我们的/dev/sdb进行分区:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

接下来,我们对/dev/sdb的分区进行格式化:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

格式化完成后,我们创建一个文件夹。进行挂载:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

注意:新建的文件夹必须是/mnt/boot

2、安装grub至目标磁盘

我们直接用grub-install –root-directory=/mnt命令来安装。用这个命令会安装grub引导第二阶段的文件。

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

我们可以来看一下二进制确认我们是否安装成功:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

安装成功。

3、复制内核文件和initrd文件

将内核文件和initrd文件复制到/dev/sdb下的boot目录中:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

4、建立grub.conf文件

上面我们已经移植了内核和initrd文件,我们可以根据其版本来编写grub.conf文件:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

注意,我们要把selinux给关掉,同时设定一下init,告诉内核不要再去找这个程序了,不然开机的时候会出现错误的~

5、创建一级目录并复制文件

至此,我们就缺目录和文件了~

创建开机后的一级目录,同时把/dev/sdb2挂载至/mnt/sysroot,使该目录作为根目录:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

复制文件,复制文件我们通过脚本执行,复制我们平时常用的命令即可,小编这里复制了ls,ifconfig,bash,rebootrm,modprobe,mount,ip,mkdir,touch,cat,vi,less,shutdown,insmod。我们可以用tree查看一下这些命令的复制情况:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

很明显我们都复制成功了~

附:复制命令的脚本源代码

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

6、复制网卡驱动

我们基本工作已经完成了,如果想使这个虚拟机带有网卡功能,我们就必须把网卡驱动拷过来,具体操作如下:

1)查询网卡详细信息:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

2)把网卡模块的路径复制到/mnt/sysroot的库文件下:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

以上,我们的操作全部完成。现在我们就可以关机,然后把/dev/sdb这个硬盘拆下来,放到新的虚拟机上运行了~

五、测试开机

我们创建一个新的虚拟机,启动的时候会带一个硬盘,我们不用它的,删掉再把我们自己定义的硬盘加进去:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

此时,我们做好的硬盘已经加进去了。我们可以试试能不能启动了,如果虚拟机可以正常开启,就说明我们的实验成功~

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

六、实现网络功能

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

由于图片可能会看不清楚,现把代码标出如下:

#手动添加网卡驱动

insmod /lib64/e1000.ko

#查看ip

ip a

#添加IP地址

ifconfig eth0 192.168.252.62/24 up

#查看ip

ip a

由于复制命令的时候忘记复制ping了……所以我们用另一台机器来ping一下这个ip地址:

跟大神一起15分钟制作一个属于自己的Linux操作系统!(如何制作linux系统)

可以ping通~

至此,我们已经完成了私人订制Linux的全部操作,同时我们的自制Linux也可以联网啦~

总结:

近年来,因Linux其稳定、开源、免费、安全、高效的特点,发展迅猛,在服务器市场占有率超过80%,随着云计算的发展,Linux在未来服务器以及个人计算机领域仍是大势所趋。

本文技术引用来源:cnblog

作者:珂儿吖

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 下午5:44
下一篇 2024年5月2日 下午5:56

相关推荐

  • 机械工程项目管理总结

    机械工程项目管理总结 在机械工程项目的管理中,项目管理是一个至关重要的环节。一个好的项目管理能够确保项目按时、按质、按预算完成,并且能够满足客户的需求和期望。本文将对机械工程项目的…

    科研百科 2024年8月30日
    45
  • 项目管理成效主要哪些

    项目管理成效主要有哪些 项目管理作为一项重要的工程管理过程,其成效对于项目的成功与否至关重要。项目管理成效主要包括以下几个方面: 1. 项目计划执行的有效性。项目计划执行的有效性是…

    科研百科 2024年9月3日
    36
  • 河钢协同办公系统登录

    河钢协同办公系统登录: 打造高效办公新方式 随着河钢集团的不断发展,协同办公系统已经成为了河钢内部工作的重要组成部分。通过河钢协同办公系统,员工可以实现内部协作、信息交流、文件共享…

    科研百科 2024年8月31日
    24
  • 手机版官方ChatGPT首发体验!免费、响应快、新增语音识别(chat手机版下载)

    智东西 作者 | 云鹏 编辑 | 李水青 智东西5月19日消息,OpenAI昨晚正式发布了ChatGPT的iOS版App,官方版ChatGPT正式杀入移动手机端(各类山寨App恐将…

    科研百科 2024年5月9日
    100
  • Aircrack-ng无线审计工具使用详解

    Aircrack-ng工具   aircrack-ng是一个与802.11标准的无线网络分析的安全软件,主要功能有网络探测、数据包嗅探捕获、WEP和WPA/WPA2-PSK破解。A…

    科研百科 2023年8月30日
    188
  • 施工周进度计划表

    施工周进度计划表 随着工程的进展,我们已经开始着手制定施工周进度计划表。这份计划表将帮助我们更好地掌握工程的进展,及时发现问题并采取措施。在本文中,我们将详细介绍施工周进度计划表的…

    科研百科 2024年8月14日
    38
  • 科研项目研究进度怎么写(一两句话概括科研项目进度)

    科研项目进度 随着科技的不断发展,科研项目的进度也在不断推进。在过去的几个月里,我们团队一直在致力于解决一个复杂的问题,并且取得了一些重要的进展。 目前,我们已经成功实现了问题的建…

    科研百科 2024年4月5日
    128
  • 「敏捷」项目管理软件之争:禅道和JIRA大对比(禅道和jira的区别)

    说到项目管理软件,不得不提的是禅道和JIRA。 相信大部分企业在选择项目管理软件的时候,也经常会拿这两者来进行比较。所以本文小编从产品介绍、界面设计、功能区别、价格对比、后期服务、…

    科研百科 2023年7月29日
    146
  • 山东筹资31.54亿元推进农业高质量发展

      近日,山东省级财政按照省委省政府决策部署,筹集拨付资金31.54亿元,突出质量兴农、绿色兴农,支持全省农田水利建设及春耕备播工作,推进农业高质量发展。qyt   以稳定和优化粮…

    科研百科 2022年5月15日
    263
  • 中央安排12.88亿元扶持畜牧业发展

    hyp   为提升我国牛羊肉等畜牧产品生产能力,特别是大中城市的应急供应保障能力,促进实现畜牧产品的有效供应和市场稳定,2015年,中央财政安排资金12.88亿元扶持畜牧业发展,比…

    2022年6月5日
    243