linux制作,制作小Linux

本文介绍了如何制作一个简单的Linux系统,包括添加硬盘、分区、创建启动分区和根分区、复制内核与ramdisk、安装GRUB引导程序,并详细解析了GRUB配置文件的设置过程,帮助读者理解Linux启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux的整体组成有很多,但是我们只要能掌握核心的那部分,就可以自己制作出一个Linux来,在前面有讲到,一个Linux的启动离不开引导程序与内核,引导程序去找到内核,并将内核放入RAM内存当中,内核,需对设备进行驱动,以只读的方式挂载根文件系统,并执行/sbin/init;所以在制作小Linux时,我们最重要的就是把,/boot下的内核文件,以及ramdisk文件导入到小Linux所使用的硬盘中,在内核无法驱动其他设备时,调用ramdisk去驱动;再创建引导程序的grub;

创建小Linux步骤

1.为本已存在的Linux添加一块硬盘,在此硬盘上构造小Linux,随后,再把这块硬盘插入到一个新建的虚拟机当中;

2.对硬盘进行分区fdisk /dev/devicename,需要两个主分区,以及一个交换分区,为其分别创建文件系统;

3.在当前Linux环境下的,清空/mnt下的文件,并创建/mnt/boot,/mnt/sysroot,一个作为启动分区,一个作为小Linux的根分区;

690f86ac232ab8081dc316fc1ef05136.png

4.将两个主分区,分别挂载到/mnt/boot,/mnt/sysroot下;将/boot目录下的内核核心文件,以及ramdisk文件复制到/mnt/boot下,init文件,复制的名字通常为initramfs.img需要加后缀;再在根目录/mnt/sysroot下创建正常“/”上需要具备的目录,如bin,sbin,lib,lib64,usr,proc,sys,home,dev,etc,mnt等;

d861a416b4674ce35fb1ed795f2fcbb8.png

5.将/bin/bash拷贝到/mnt/sysroot/bin中,并将其库文件复制到/mnt/sysroot/lib64中,作为小Linux的功能之一,按这样的步骤,可以拷贝许多命令进入小Linux中;

6.建立grub引导程序,使用命令grub-install --root-directory=/mnt /dev/devicename,就会将grub这个文件创建在/mnt这个他认为的根目录下,因为boot启动程序我们建立在/mnt/boot,所以系统会将/mnt认为是根;

7.创建完grub后,我们可以手动创建grub的启动配置文件grub.conf,也可以在将硬盘放入另一个新建的虚拟机后,在其grub命令行界面进行grub启动;在上述配置完成后,我们需要不断使用命令sync使其写入硬盘,未免其没写入,所以多执行几次;最后将当前虚拟机挂起;并将之前新建的进行配置的硬盘,放入另一个新建的虚拟机中;

grub.conf配置文件

(hd0,0)

hd0:表示该系统的第一个硬盘;

0:表示该系统的第#个硬盘下的第一个分区;

①手动书写grub配置文件

default=0;设定默认启动菜单

timeout=10;用户未作出选择时,系统会根据时间默认菜单对应的内核的超时时间;

title Mylinux(1.0.0);设置菜单上的标题

root (hd0,0);指定grub的根设备

kernel /vmlinuz selinux=0 ro root=/dev/sda2 init=/bin/bash;调用的内核文件,调用的是我们之前复制内核到/mnt/boot下的内核名,关闭selinux,只读,根设备,是我们之前在现有的Linux下创建挂载根的那个设备,如是sdb2,在这个新的虚拟机上通常只有一个硬盘,对应的就是sda2

initrd /initramfs.img;内核对应的ramdisk 8ad725a5331fee94f38c848f5370e44e.png

②在grub命令行界面启动

root (hd0,0);指定grub的根设备

find (hd0,0);看是否能够查找到启动分区;

kernel /vmlinuz selinux=0 ro root=/dev/sda2 init=/bin/bash;调用的内核文件,调用的是我们之前复制内核到/mnt/boot下的内核名,关闭selinux,只读,根设备,是我们之前在现有的Linux下创建挂载根的那个设备,如是sdb2,在这个新的虚拟机上通常只有一个硬盘,对应的就是sda2

initrd /initramfs.img;内核对应的ramdisk文件

boot;配置完毕,启动该Linux

grub命令行配置:

0d04aa0d572b80ab302cc70eafed5ea0.png

Linux启动前需要使用boot启动

启动界面:

aa54d47f302c995c8e53466d98c59c75.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值