mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-22 05:53:09 +00:00
Use older grub for _support_server tftp to fix PXE (#2152763)
PXE install on UEFI (incl. aarch64) is failing at present, this seems to be due to a grub bug: https://bugzilla.redhat.com/show_bug.cgi?id=2152763 we're really intending to test the client side here, not the server end, so let's work around this problem on the server end by installing a grub2 scratch build that's the package from just before the bad change, but with the release and epoch bumped, from a side repo. Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
ffab8bce75
commit
61d77ee108
@ -29,12 +29,18 @@ sub _pxe_setup {
|
|||||||
if ($arch eq 'x86_64') {
|
if ($arch eq 'x86_64') {
|
||||||
# x86_64: use syslinux for BIOS, grub2 with 'linuxefi' for UEFI
|
# x86_64: use syslinux for BIOS, grub2 with 'linuxefi' for UEFI
|
||||||
assert_script_run "mkdir -p /var/lib/tftpboot/pxelinux.cfg";
|
assert_script_run "mkdir -p /var/lib/tftpboot/pxelinux.cfg";
|
||||||
|
# FIXME workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2152763:
|
||||||
|
# use a side repo containing a scratch build of grub2 just before the
|
||||||
|
# "Bundle unicode.pf2 with images" change, epoch bumped to 10
|
||||||
|
assert_script_run 'printf "[grub2152763]\nname=2152763 repo\nbaseurl=https://fedorapeople.org/groups/qa/openqa-repos/grub2152763repo/\$basearch\nenabled=1\nmetadata_expire=3600\ngpgcheck=0" > /etc/yum.repos.d/grub2152763.repo';
|
||||||
# install bootloader packages
|
# install bootloader packages
|
||||||
assert_script_run "dnf -y install syslinux", 120;
|
assert_script_run "dnf -y install syslinux", 120;
|
||||||
assert_script_run "dnf -y --releasever=$ourversion --installroot=/var/tmp/fedora install shim-x64 grub2-efi-x64", 300;
|
assert_script_run "dnf -y --releasever=$ourversion --installroot=/var/tmp/fedora install shim-x64 grub2-efi-x64", 300;
|
||||||
# copy bootloader files to tftp root
|
# copy bootloader files to tftp root
|
||||||
assert_script_run "cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot";
|
assert_script_run "cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32,ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot";
|
||||||
assert_script_run "cp /var/tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot";
|
assert_script_run "cp /var/tmp/fedora/boot/efi/EFI/fedora/{shim.efi,grubx64.efi} /var/lib/tftpboot";
|
||||||
|
# wipe the workaround repo again, just in case
|
||||||
|
assert_script_run "rm -f /etc/yum.repos.d/grub2152763.repo";
|
||||||
# bootloader configs
|
# bootloader configs
|
||||||
# BIOS
|
# BIOS
|
||||||
assert_script_run "printf 'default vesamenu.c32\nprompt 1\ntimeout 600\n\nlabel linux\n menu label ^Install Fedora 64-bit\n menu default\n kernel fedora/vmlinuz\n append initrd=fedora/initrd.img inst.ks=file:///ks.cfg ip=dhcp\nlabel local\n menu label Boot from ^local drive\n localboot 0xffff\n' >> /var/lib/tftpboot/pxelinux.cfg/default";
|
assert_script_run "printf 'default vesamenu.c32\nprompt 1\ntimeout 600\n\nlabel linux\n menu label ^Install Fedora 64-bit\n menu default\n kernel fedora/vmlinuz\n append initrd=fedora/initrd.img inst.ks=file:///ks.cfg ip=dhcp\nlabel local\n menu label Boot from ^local drive\n localboot 0xffff\n' >> /var/lib/tftpboot/pxelinux.cfg/default";
|
||||||
|
Loading…
Reference in New Issue
Block a user