X-Git-Url: http://git.pld-linux.org/?p=packages%2Fefi-boot-update.git;a=blobdiff_plain;f=kernel-old.conf;fp=kernel-old.conf;h=8fb8dfcc78f1e4248b5113c5b08c0f7e35dd0fa3;hp=0000000000000000000000000000000000000000;hb=7dca6d58e3ee4e5236dfd474e80c65eb40aa8f18;hpb=3c17787a5f80be54394a2fb95c54af32002f713d diff --git a/kernel-old.conf b/kernel-old.conf new file mode 100644 index 0000000..8fb8dfc --- /dev/null +++ b/kernel-old.conf @@ -0,0 +1,35 @@ +ENABLED=yes +LABEL="old kernel" +BINARY=vmlinuz_old.efi +ARGS="root=/dev/sda2 ro add_efi_memmap" + +ARGS="initrd=@EFI_PLATFORM_PATH@\\initrd_old $ARGS" + +if is_yes "$ENABLED" ; then + if [ -e /boot/vmlinuz.old ] ; then + _kernel_filetype="$(file -k -L /boot/vmlinuz.old)" + else + _kernel_filetype="$(file -k -L /boot/vmlinuz)" + fi + + if [ "${_kernel_filetype#*PE32 executable}" != "${_kernel_filetype}" ] ; then + # PE32 - 32 bit EFI stub + ARCH=ia32 + verbose "Kernel with 32 bit EFI stub found at /boot/vmlinuz.old" + elif [ "${_kernel_filetype#*PE32+ executable}" != "${_kernel_filetype}" ] ; then + # PE32+ - 64 bit EFI stub + ARCH=x64 + verbose "Kernel with 64 bit EFI stub found at /boot/vmlinuz.old" + else + msg "/boot/vmlinuz.old does not contain EFI stub" + ENABLED=no + fi +fi + +install_files() { + + update_file --missingok /boot/initrd.old initrd_old + update_file --missingok /boot/vmlinuz.old vmlinuz_old.efi +} + +# vi: ft=sh