不支持/ boot的文件系统的构建内核

支点

我正在为RPi构建定制的内核。问题是RPi引导加载程序需要vfat / boot分区,而我打算最小化内核大小,因此需要从内核中删除vfat支持。

我已经阅读了《嵌入式Linux入门》和《 Linux内核开发》书籍。据我了解,引导加载程序似乎使用/ boot分区来查找内核和initramfs,以及其他一些重要文件

我尝试从内核中删除vfat支持,同时保持/ boot的格式为vfat。内核启动就好了。但是,systemd停留在某处说无法挂载/ boot,因为内核不支持vfat,witch非常好。然后,Systemd给了我一个救援壳。

我想知道既然RPi引导加载程序已经支持vfat,并且能够毫无问题地加载内核,有什么办法可以要求systemd根本不挂载/ boot吗?据我了解,由于此阶段已经加载了内核,因此内核不需要访问/ boot分区。

任何帮助将不胜感激。

文件火

systemd将尝试挂载您在中列出的文件系统/etc/fstab,因此,如果/boot/etc/fstab其中删除则不要尝试挂载它。

(我刚刚在Fedora系统上对其进行了测试,将其从中移除/etc/fstab并确认未安装。)

systemd确实有一些代码专门用于处理EFI分区,所以也许这就是您在RPi上所拥有的,而这正是触发挂载的原因……但这通常是使用自动挂载单元实现的,换句话说,它将尝试只有当有人朝里看时才安装它/boot

挂载的逻辑/etc/fstabsystemd-fstab-generator实现,而挂载EFI分区的逻辑由systemd-gpt-auto-generator实现

另一个有用的命令是systemctl status /boot(当您将其安装到支持vfat的内核时),它可以为您提供更多有关其来源的提示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章