简介
initramfs映像是一个SVR4 CPIO归档文件,通过find和bsdcpio命令生成,可选择使用内核理解的压缩方案进行压缩
mkinitcpio是创建initramfs的bash脚本
每次升级内核,mkinitcpio都会默认创建两个内存盘镜像:默认镜像/boot/initramfs-linux.img和fallback镜像/boot/initramfs-linux-fallback.img。fallback镜像和默认镜像只有一个区别,就是创建时跳过了autodetect钩子扩展,因而它包含更多的内核模块。autodetect扩展会探测硬件信息,针对硬件向镜像添加需要的模块,因此缩小了镜像。
简单使用
使用默认内核linux生成镜像:
1 | mkinitcpio -p linux |
-p选项定义了要使用的预配置(preset);多数内核软件包都会提供一套mkinitcpio预配置文件,放在/etc/mkinitcpio.d目录(比如,linux内核是/etc/mkinitcpio.d/linux.preset)。预配置文件中包含内存盘镜像的基本配置。
生成自定义initcpio
使用其他配置文件创建镜像,例如以/etc/mkinitcpio-custom.conf配置的内容生成镜像/boot/linux-custom.img
1 | mkinitcpio -c /etc/mkinitcpio-custom.conf -g /boot/linux-custom.img |
使用指定内核创建镜像,可在/usr/lib/modules目录下可查看支持的内核
1 | mkinitcpio -g /boot/linux-custom2.img -k 4.19.69-1-MANJARO |
mkinitcpio用法:
1 | mkinitcpio [选项] |