内核更新后复制内核映像

内核更新后复制内核映像

我在一台使用 systemd-boot 和 UEFI 启动系统的机器上使用 ArchLinux。当我收到新的内核更新时,新内核会在我的 中创建/boot,但 UEFI-Boot 分区会/boot/efi与我告诉系统加载的文件一起安装在/boot/efi/EFI/arch/.

我在哪里可以配置一个钩子,每当我更新内核时,.img它都会将文件vmlinuz-linux从 my复制/boot到 my 中?/boot/efi/EFI/arch/

答案1

由于问题没有得到解答,并且我遇到了同样的问题,我编写了自己的方法,也许它可以帮助未来的搜索者:

请注意,我使用 Kali,我无法确认它是否有效,因为我的内核已经升级(我将在最终确认后更新此答案)

/etc/kernel/postinst.d例如,创建一个文件zz_systemd_boot(grub 文件以开头,zz所以我假设文件是​​按字母顺序执行的),其内容与此类似:

#!/bin/sh

echo Copy files for systemd-boot

cp /initrd.img /mnt/boot/kali/initrd.img
cp /vmlinuz /mnt/boot/kali/vmlinuz

并使文件可执行chmod 755 zz_systemd_boot

答案2

使用 uefi 而不是旧版不会更改内核映像的位置。我使用 uefi 引导加载程序,我的图像都在引导中。

为了进行比较,这里是我的启动分区;

$ find /boot/ -type d
/boot/
/boot/grub
/boot/grub/backup
/boot/grub/fonts
/boot/grub/x86_64-efi
/boot/grub/i386-pc
/boot/grub/locale
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/debian
/boot/efi/EFI/boot
/boot/efi/EFI/ubuntu
/boot/efi/EFI/ubuntu/fw
/boot/efi/EFI/grub

目录 /boot/efi/EFI 包含 uefi 启动映像;

$ find /boot/efi/EFI/ -type f
/boot/efi/EFI/debian/grubx64.efi
/boot/efi/EFI/debian/grubx64.efi.bkup1
/boot/efi/EFI/boot/bootx64.efi
/boot/efi/EFI/boot/bootx64.efi.old
/boot/efi/EFI/boot/grubx64.efi
/boot/efi/EFI/ubuntu/fwupx64.efi
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/efi/EFI/ubuntu/grub.cfg
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/MokManager.efi
/boot/efi/EFI/ubuntu/grubx64.efi.old
/boot/efi/EFI/grub/grubx64.efi

目录“/boot/grub/x86_64-efi”包含所有 uefi mod 文件

$ find /boot/grub/x86_64-efi -type f | head -10
/boot/grub/x86_64-efi/ufs2.mod
/boot/grub/x86_64-efi/minix3.mod
/boot/grub/x86_64-efi/date.mod
/boot/grub/x86_64-efi/odc.mod
/boot/grub/x86_64-efi/lvm.mod
/boot/grub/x86_64-efi/font.mod
/boot/grub/x86_64-efi/reboot.mod
/boot/grub/x86_64-efi/file.mod
/boot/grub/x86_64-efi/functional_test.mod
/boot/grub/x86_64-efi/ohci.mod

我的linux镜像都存储在“/boot/”中

$ find /boot -maxdepth 1 -type f -iname "vmlin*" | head -10
/boot/vmlinuz-4.4.8-M1.old
/boot/vmlinuz-4.8.5-MX1
/boot/vmlinuz-4.8.2-MX1.old
/boot/vmlinuz-4.8.5-MXC2.old
/boot/vmlinuz-4.3.0-1-amd64
/boot/vmlinuz-4.4.8-M1
/boot/vmlinuz-4.8.2-MX1
/boot/vmlinuz-4.8.5-MX1.old
/boot/vmlinuz-4.4.8-M3
/boot/vmlinuz-4.4.5-M1

相关内容