当前位置:首页>Linux>【中级教程】210.自制Linux镜像之initramfs-tools篇(初稿)

【中级教程】210.自制Linux镜像之initramfs-tools篇(初稿)

  • 2026-10-03 17:13:54
【中级教程】210.自制Linux镜像之initramfs-tools篇(初稿)

注意:本教程为初稿,对应的initramfs脚本和内核模块还在优化和调整中,教程也会更新。

initramfs-tools脚本是Debian Linux系列的initrd脚本类型。

基于Debian的发行版,以及基于Ubuntu的发行版,数量众多,而且Ubuntu也是基于Debian的,因此,使用initramfs-tools脚本的发行版应该是三种脚本中最多的。

国产操作系统清一色都是使用本脚本体系的,可以用本教程方法制作。

本教程使用Debian 13.3作为例子来演示操作过程。内核版本为6.12。

一、安装基本镜像

下载Debian 13.3的安装ISO,选择DVD版本,包含全部内容,添加到Hyper-V虚拟机里面,使用二代虚拟机、关闭安全启动、关闭检查点执行正常安装。

安装过程中,分区结构选择只分ESP和根分区两个分区,不需要swap分区,根分区文件系统使用ext4,切勿使用lvm等等高级磁盘模式。

使用VHDx镜像后,本身就可以通过操作镜像直接调整分区,没必要使用lvm。

二、云固件自举支持程序

云固件相关程序和代码,可以通过在hyperv附加磁盘获取。演示镜像已经提前拷贝到/root目录下。

三、准备工作

云固件自举程序包括编译内核模块、编译用户空间程序、添加支持initramfs-tools的shell脚本三个部分,需要准备编译环境。

Debian系统使用ISO安装后,默认使用cdrom作为安装包来源,需要修改apt的sources来支持直接联网安装软件包。

使用root登录,打开终端

cd /etc/apt/vi sources.list

使用#注释掉第一行的deb cdrom

复制默认的debian.org仓库, 将内容修改为:

deb http://mirrors.lzu.edu.cn/debian/ trixie main non-free-firmware

保存修改内容并退出vi。

apt update

输入apt update命令同步仓库。

apt install build-essential bison flex vim

输入上述命令安装编译环境和VIM编辑器

apt install linux-headers-`uname -r`

输入上述代码安装Linux内核头文件,其中uname -r命令指定匹配当前内核对应的头文件。

编辑器也可以根据自己的熟悉程度选择其他,当然默认的vi也够用了。

四、编译和安装内核模块

进入/root/下MWVD-6.12文件夹,里面保存了对应6.12内核的分发版本。

make & make install

输入make & make install 命令执行编译和安装。 没有错误的话,mwvd.ko(mwvd.ko.zst)将会被安装到/lib/modules/uname -r/updates/下。

编译过程中,由于发行版并不会提供对内核签名的私钥证书,所以会提示签名失败,这个不影响使用。如果需要加固安全,那么可以使用自签名证书添加到系统中,并手动对内核模块进行签名。

安装成功后,可以执行depmod更新内核模块依赖,使用modprobe mwvd测试内核模块是否可以被加载成功。

五、编译和安装用户空间程序

make & make install

进入/root/MwSetup文件夹,执行make和make install命令

编译操作内核模块的用户空间程序,成功后会被安装到/usr/sbin/下。

六、添加initramfs-tools脚本

进入/root/MwBoot/distros/initramfs-tools文件夹,这里保存了编辑好的initramfs-tools脚本。

复制 hooks/mwvd 到 /etc/initramfs-tools/hooks/下;

复制 scripts/local-top/mwvd 到 /etc/initramfs-tools/script/local-top/下;

复制 scripts/local-bottom/mwvd 到 /etc/initramfs-tools/script/local-bottom/下;

cp hooks/mwvd /etc/initramfs-tools/hooks/.cp scripts/local-top/mwvd /etc/initramfs-tools/scripts/local-top/.cp scripts/local-bottom/mwvd /etc/initramfs-tools/scripts/local-bottom/.

复制 modules 到 /etc/initramfs-tools/ 下;这个文件定义了启动时要加载的内核模块。

cp modules /etc/initramfs-tools/.

修改/lib/udev/rules.d/60-block.rules, 修改第12行,添加“mwvd*|”到loop*|之后。

修改/lib/udev/rules.d/60-persistent-storage.rules, 修改第10行,添加“mwvd*|”到loop*|之后。

上述2行修改,完善initramfs-tools脚本后会被取消。

七、生成initramfs启动镜像

上述准备步骤完成后,就可以重新生成initramfs启动镜像了。

update-initramfs -u

执行上述命令,就会重新生成启动镜像。至此,添加云固件镜像自举启动就全部完成了。

八、启动测试

关闭虚拟机,复制到需要测试的物理机上就可以测试是否可以通过物理机直接启动。 推荐hyperv结合硬盘透传功能,直接原地测试云固件镜像,不需要复杂的再复制步骤。

自制镜像的模板在教程资源的“05-自制镜像”文件夹内提供,需要尝试自制的爱好者可以测试,解压后得到vhdx镜像不能直接通过云固件启动,可以在hyperv或者qemu中打开,参考上面的操作步骤完成云固件自举启动的设置。

推荐使用前面四个网盘,天翼云盘和UC云盘没有VIP账号,部分文件不完整,后续会补充完整。

务必使用微信扫码。

补充115云盘(微信扫码有错误)地址:

https://115cdn.com/s/swf785q3hp2?password=we39&

 云固件快优购买建议 
自己有能力部署云固件,而且有能力自制镜像,不建议购买云固件快优!收藏爱好除外。
2026年2月8日 ~ 2026年2月28日 期间停工,不发货,期间发生的物流订单会被退回,提取码订单或者授权许可订单可正常发货。
不会安装云固件,需要一款简单又便宜的云固件体验产品,推荐“快优入门版”,仅需99元,包含U盘和推荐常用的镜像资源,足够满足入门使用。
需要云固件推荐的U盘,还需要更新的资源库,那么推荐购买快优标准版和增强版。标准版已经上线销售超过15个月,累计销售数量超过200片。增强版是在标准版的基础上,选择了更高速的U盘,以及支持type A/C双接口。
对云固件的拿来主义非常赞同,想一步到位的爱好者,那么云固件快优专业版就是你的不二选择,读取速度高达400MB/s的闪迪至尊U盘,A/C双接口,持续一年更新的资源库,不限启动数量的专业版授权,还有赠送的国宝熊猫挂链。

注意:测试云固件的计算机要求2015年之后生产的x86_64位架构计算机,要求硬盘使用GPT分区表,其他注意事项,可以参照《快速安装指南》中的要求。

最新文章

随机文章