Redesign EFI boot
All checks were successful
buildbot/travis_bionic Build done.
buildbot/ipxe_x86_build_and_release Build done.

- I didn't understand correctly how it works, both cpio archives should be
  uncompressed
This commit is contained in:
Peter Šurda 2021-11-03 13:52:49 +08:00
parent 33c4bfb58e
commit 5623a9dd8c
Signed by: PeterSurda
GPG Key ID: 0C5F50C0B5F37D87

View File

@ -142,14 +142,14 @@ iseq ${platform} efi && goto is_efi || goto not_efi
# Attributes for EFI boot # Attributes for EFI boot
:is_efi :is_efi
# hack, see https://github.com/coreos/fedora-coreos-tracker/issues/390#issuecomment-588328137 # hack, see https://github.com/coreos/fedora-coreos-tracker/issues/390#issuecomment-588328137
clear squashfs set squashfs squashfs.cpio
set initrd initrd_squashfs.cpio.gz set extra_initrd initrd=squashfs.cpio
goto get_arch goto get_arch
# this sets different attributes for non-EFI (legacy PC) boot # this sets different attributes for non-EFI (legacy PC) boot
:not_efi :not_efi
set squashfs squashfs set squashfs squashfs
set initrd boot-initrd clear extra_initrd
goto get_arch goto get_arch
@ -208,8 +208,6 @@ goto static_ip_boot_setup
# However, note that imgverify will fail if you refer to it as "/squashfs" # However, note that imgverify will fail if you refer to it as "/squashfs"
# instead of "squashfs". # instead of "squashfs".
isset ${squashfs} || goto skip_squashfs
imgfetch http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${squashfs} /${squashfs} || goto try_next_card imgfetch http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${squashfs} /${squashfs} || goto try_next_card
imgverify --signer images.sysdeploy.org ${squashfs} http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${squashfs}.sig || goto error_handler imgverify --signer images.sysdeploy.org ${squashfs} http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${squashfs}.sig || goto error_handler
@ -221,10 +219,8 @@ imgverify --signer images.sysdeploy.org ${squashfs} http://images.sysdeploy.org/
# make sure you pick a common name with a FQDN you control, even if you're # make sure you pick a common name with a FQDN you control, even if you're
# using a custom CA that you import during build. # using a custom CA that you import during build.
:skip_squashfs initrd http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-initrd || goto try_next_card
imgverify --signer images.sysdeploy.org boot-initrd http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-initrd.sig || goto error_handler
initrd http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${initrd} || goto try_next_card
imgverify --signer images.sysdeploy.org boot-initrd http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/${initrd}.sig || goto error_handler
kernel http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel || goto try_next_card kernel http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel || goto try_next_card
imgverify --signer images.sysdeploy.org boot-kernel http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel.sig || goto error_handler imgverify --signer images.sysdeploy.org boot-kernel http://images.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel.sig || goto error_handler
@ -237,7 +233,7 @@ echo ip-info ${ip-info}
sleep 1 sleep 1
boot boot-kernel initrd=${initrd} rootfstype=squashfs root=/squashfs ip=${ip-info} overlayroot=tmpfs:recurse=0 systemd.clock-usec=${unixtime:int32}000000 ds=nocloud-net;s=https://cloud-init.sysdeploy.org/ || goto error_handler boot boot-kernel initrd=boot-initrd ${extra_initrd} rootfstype=squashfs root=/squashfs ip=${ip-info} overlayroot=tmpfs:recurse=0 systemd.clock-usec=${unixtime:int32}000000 ds=nocloud-net;s=https://cloud-init.sysdeploy.org/ || goto error_handler
# unixtime variable must be used with int32, because that's the only way it # unixtime variable must be used with int32, because that's the only way it
# will display as decimal digits. unit32 and string both display as hex. # will display as decimal digits. unit32 and string both display as hex.