如何解决无法启动自定义内核以启动-mkinitpcio不添加任何模块
1。我正在努力实现的目标:
- 构建一个自定义内核,这样我就可以在Arch笔记本电脑上从AUR安装并运行Anbox-git。需要自定义内核才能使程序包正常工作。
2。我为实现该目标所做的事情:
- 从here下载Arch Linux内核v5.8.5-arch1
- 我遵循tradional compilation Arch wiki上的指南来创建自定义内核
- 通过
make nconfig
,我应用了Anbox Arch wiki页中提到的更改。 - 通过
make nconfig
,我将EFIVAR_FS选项从“ M”更改为“ *”,以解决早期尝试中的错误。
通过 - Via
Location: -> Device Drivers-> Multiple devices driver support (RAID and LVM) (MD [=y])-> Device mapper support (BLK_DEV_DM [=y])
我添加了一些其他选项(*),因为在较早的版本中,mkinitpcio为缺少DM_CRYPT的模块提供了错误,而另一些我无法轻易复制的DM_模块(会这样做)答案是否有必要,但我希望这是无关紧要的。
make nconfig
下的以这种方式创建配置后,我做了:
-
sudo make modules_install
-
sudo cp -v arch/x86_64/boot/bzImage /boot/vmlinuz-linux58ac
-
sudo cp /etc/mkinitcpio.d/linux.preset /etc/mkinitcpio.d/linux58ac.preset
- 按照Arch wiki指令修改了预设文件
-
sudo mkinitcpio -p linux58ac
重要:mkinitpcio运行正常,但一直在警告我:
警告:未将任何模块添加到映像。这可能不是 你想要的。
-
sudo grub-mkconfig -o /boot/grub/grub.cfg
3。预期结果:
我能够重新启动,从grub菜单中选择新内核,获得通常的LVM密码提示,然后毫无问题地启动它。
4。结果我得到:
我可以重新启动并从grub选择新内核,但是当我选择它时,我得到一个
Warning: /lib/modules/5.8.5-arch1/modules.devname not found,ignoring.
Starting version 246.4-1-arch
ERROR device 'dev/mapper/vg0-root' not found. Skipping fsck.
mount /new_root: special device /dev/mapper/vg0-root does not exist.
You are being dropped into an emergy shell.
我检查了/lib/modules/5.8.5-arch1/modules.devname
的确存在。但是我认为实际的问题是mkinitcpio无法将正确的模块加载到自定义内核中,从而导致其无法启动。
任何帮助表示赞赏!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。