我有一个带有4个分区的SSD (EFI分区,第一个用户的OS,第二个用户的OS,交换分区)和systemd-boot作为引导加载器(个人偏好)。由于systemd-boot只能从同一个文件系统引导内核,所以我更改了/etc/fstab,将D2分区挂载到/boot,而不是/boot/efi,这样包管理器将在systemd-boot所在的同一个分区上安装内核。我在该分区上有许多类似的文件(几个vmlinuz,但不同的版本,与其他文件相同),如下所示:
ls -> EFI/ loader/ vmlinuz-1 vmlinuz-2 config-1 config-2 ...
所以我把它们分成不同的文件夹,现在看起来是这样的:ls -> EFI/ loader/ user1/ user2/
唯一的问题是,当apt试图升级系统时,它不幸地失败了,因为它不能使用符号链接文件,因为它们位于FAT32分区上,即使它们能够进行符号链接,它们仍然位于主/boot文件夹中,我不希望它们是这样的。使用相同的内核不是一种选择。
所以我的问题是:是否可以指定下载新内核文件的位置,或者每次内核更新时我都必须手动移动它?
发布于 2021-04-13 13:48:49
通过以下文章解决:https://kernel-team.pages.debian.net/kernel-handbook/ch-update-hooks.html
我创建了/etc/kernel/postinst.d/zz-update-efi脚本,它简单地将编译好的内核和init移动到用户目录。
USER_NAME="mint"
mv "/boot/vmlinuz-$1" "/boot/$USER_NAME/vmlinuz-linux"
mv "/boot/initrd.img-$1" "/boot/$USER_NAME/initramfs-linux.img"https://unix.stackexchange.com/questions/644791
复制相似问题