linux系统,让您的linux内核有了良好开发工具

admin 2023-9-19 845 9/19

自1991年10月5日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通过调用/init调用/initetc配置文件/initab,然后执行/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硬盘:

添加后,单击确定,然后我们打开宿主机。通过fdisk给我们/dev/sdb分区:

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

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

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

2、将grub安装到目标磁盘

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

让我们来看看二进制确认我们的安装是否成功。

安装成功。
3、复制内核文件和initrd文件

复制内核文件和initrd文件devboot目录在/sdb下:

4、建立grub.conf文件

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

请注意,我们应该关闭selinux,同时设置init,告诉核心不要找到这个程序,否则启动时会出现错误~

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

到目前为止,我们缺少目录和文件~

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

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

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

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

6、复制网卡驱动

我们的基本工作已经完成。如果我们想使虚拟机具有网卡功能,我们必须复制网卡驱动器。具体操作如下:

1)查询网卡详情:

2)将网卡模块路径复制到/mnt/sysrot库文件下:

以上,我们所有的操作都完成了。现在我们可以关机,然后把/dev/sdb硬盘拆下,放在新的虚拟机上运行~

五、测试启动

我们创建了一个新的虚拟机,并在启动时带来硬盘。我们不需要它。删除它,然后添加我们自己定义的硬盘:

此时,我们已经添加了我们制作的硬盘。我们可以试着启动它。如果虚拟机能够正常启动,这意味着我们的实验是成功的~

六、实现网络功能

因为图片可能看不清楚,所以现在标注代码如下:

因为在复制命令时忘记复制ping...所以我们用另一台机器来ping这个ip地址:

可ping通~

到目前为止,我们已经完成了所有私人定制Linux的操作,我们的自制Linux也可以联网~

- THE END -

admin

9月19日11:40

最后修改:2023年9月19日
0

非特殊说明,本博所有文章均为博主原创。

软件商城
nowmru.com
2024-09-20 02:52:08
软件商城:nowmru.com
软件商城地址:http://nowmru.com
软件商城:nowmru.com
取消

选择聊天工具: