Fix bug with PXE Boot Server

The UEFI grub config file used for PXE Boot Server containes a mixed
of menuentry  and submenu. A submenu opens a new context and global
variables cannot be used within them
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1175127. This
was causing pxe_root to be empty for submenus selections. Moving
'1) UEFI Boot from hard drive' into a submenu fixes this problem and
also removes the need to save the root variable. This was previously
required when a user would select boot from hard drive and the hard
drive did not exist, root would no longer be set to the pxeboot
server and selecting the other menu entries would fail.

Remove the '1)' prefix in the 'Boot from hard drive' menu option in
both Legacy and UEFI boot as this is not used by other menues.

Closes-Bug: 1794863

Change-Id: I5bc62039bfb68477e9cd0166ce17877693037640
Signed-off-by: Kristine Bujold <kristine.bujold@windriver.com>
This commit is contained in:
Kristine Bujold 2018-10-01 11:14:25 -04:00
parent 90252d2421
commit 3f337d5edb
2 changed files with 2 additions and 16 deletions

View File

@ -19,7 +19,7 @@ NOCOMPLETE 1
ALLOWOPTIONS 0
label 0
menu label ^1) Boot from hard drive
menu label Boot from hard drive
COM32 chain.c32
APPEND hd0

View File

@ -4,9 +4,7 @@ default=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT_STYLE='countdown'
pxe_root=${root}
menuentry '1) UEFI Boot from hard drive' {
submenu 'UEFI Boot from hard drive' {
insmod part_gpt
insmod chain
# The EFI bootloader is located in /boot/efi/EFI/centos/
@ -20,12 +18,10 @@ menuentry '1) UEFI Boot from hard drive' {
submenu 'UEFI Standard Controller' {
submenu 'Serial Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_controller.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_controller.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}
@ -33,12 +29,10 @@ submenu 'UEFI Standard Controller' {
submenu 'Graphical Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_controller.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_controller.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}
@ -49,12 +43,10 @@ submenu 'UEFI Standard Controller' {
submenu 'UEFI All-in-one Controller' {
submenu 'Serial Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}
@ -62,12 +54,10 @@ submenu 'UEFI All-in-one Controller' {
submenu 'Graphical Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}
@ -78,12 +68,10 @@ submenu 'UEFI All-in-one Controller' {
submenu 'UEFI All-in-one (lowlatency) Controller' {
submenu 'Serial Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem_lowlatency.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem_lowlatency.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text serial console=ttyS0,115200n8 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}
@ -91,12 +79,10 @@ submenu 'UEFI All-in-one (lowlatency) Controller' {
submenu 'Graphical Console' {
menuentry 'STANDARD Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem_lowlatency.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=standard user_namespace.enable=1
initrdefi initrd.img
}
menuentry 'EXTENDED Security Boot Profile' {
set root=${pxe_root}
linuxefi vmlinuz bootifonly=1 devfs=nomount inst.repo=xxxHTTP_URLxxx inst.ks=xxxHTTP_URLxxx/pxeboot_smallsystem_lowlatency.cfg ksdevice=$net_default_mac BOOTIF=$net_default_mac boot_device=sda rootfs_device=sda biosdevname=0 inst.text console=tty0 inst.gpt security_profile=extended tboot=true user_namespace.enable=1
initrdefi initrd.img
}