问题描述
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 (将#修改为@)