mkinitramfs小制作
1 介绍
系统:ubuntu 20.04.3 LTS
initramfs-tools版本:0.136ubuntu6
神马东西?:mkinitramfs是属于initramfs-tools包的一个命令,还有update-initramfs、lsinitramfs等。
能干神马?:mkinitramfs用于制作initrd文件,而initrd是系统引导启动时加载到内存的临时根文件系统。
2 安装
apt-get install initramfs-tools
3 使用
怎马用?:
Usage: mkinitramfs [option]... -o outfile [version]
Options:
-c compress Override COMPRESS setting in initramfs.conf.
-d confdir Specify an alternative configuration directory.
-k Keep temporary directory used to make the image.
-o outfile Write to outfile.
-r root Override ROOT setting in initramfs.conf.
See mkinitramfs(8) for further details.
3.1制作对应内核版本的initrd
mkinitramfs -k -o initrd-5.10.0 5.10.0
-k 保持制作initrd的临时目录:/var/tmp/mkinitramfs_lLod6x
-o 输出到什么文件
[version] 最后的5.10.0是制作对应5.10.0内核版本(通过查看/lib/modules/目录确定版本,我该目录下有5.10.0和5.4.0-135-generic)
3.2 增加内核模块
首先制作的initrd只包含启动机器必要的内核模块。如下图
但我遵循标准的同时还想来点特色肿么办?
1 在/etc/initramfs-tools/modules中添加模块名zynqmp-fpga。如下图
2 再制作一遍initrd,注意:会生成另一个临时目录。如下图
3 查看目录中是否多了zynqmp-fpga以及它的依赖模块。如下图
ls -R /var/tmp/mkinitramfs_0Iynhr/lib/modules/5.10.0/|egrep '*.ko'|sort