forked from u-root/u-root
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pkg/boot/grub: Add test data for multiboot2 and module2 GRUB keywords
It adds the test data for the grub `multiboot2` and `module2` keywords. The data is generated from CentOS 8 Stream with GRUB_ENABLE_BLSCFG set to true and TBOOT installed. Signed-off-by: Shelly Chang <[email protected]>
- Loading branch information
1 parent
9cea162
commit 9954df7
Showing
13 changed files
with
311 additions
and
0 deletions.
There are no files selected for viewing
47 changes: 47 additions & 0 deletions
47
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
[ | ||
{ | ||
"cmdline": "root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8 ", | ||
"image_type": "linux", | ||
"initrd": { | ||
"name": "testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/initramfs-5.18.0.img" | ||
}, | ||
"kernel": { | ||
"name": "testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/vmlinuz-5.18.0" | ||
}, | ||
"name": "CentOS Linux (5.18.0) 8 5.18.0", | ||
"rank": "1" | ||
}, | ||
{ | ||
"cmdline": "root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8", | ||
"image_type": "linux", | ||
"initrd": { | ||
"name": "testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/initramfs-0-rescue-9af7b02ac08149d985841c07c8ff366e.img" | ||
}, | ||
"kernel": { | ||
"name": "testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/vmlinuz-0-rescue-9af7b02ac08149d985841c07c8ff366e" | ||
}, | ||
"name": "CentOS Linux (0-rescue-9af7b02ac08149d985841c07c8ff366e) 8 0-rescue-9af7b02ac08149d985841c07c8ff366e", | ||
"rank": "1" | ||
}, | ||
{ | ||
"cmdline": "logging=serial,memory serial=57600,8n1,0x2f8 min_ram=0x2000000", | ||
"image_type": "multiboot", | ||
"kernel": { | ||
"url": "file:///testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/tboot.gz" | ||
}, | ||
"modules": [ | ||
{ | ||
"cmdline": "/boot/vmlinuz-5.18.0 root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8 intel_iommu=on", | ||
"name": "/boot/vmlinuz-5.18.0", | ||
"url": "file:///testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/vmlinuz-5.18.0" | ||
}, | ||
{ | ||
"cmdline": "/boot/initramfs-5.18.0.img", | ||
"name": "/boot/initramfs-5.18.0.img", | ||
"url": "file:///testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/initramfs-5.18.0.img" | ||
} | ||
], | ||
"name": "CentOS Linux GNU/Linux, with tboot 1.10.2 and Linux 5.18.0", | ||
"rank": "0" | ||
} | ||
] |
235 changes: 235 additions & 0 deletions
235
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/EFI/centos/grub.cfg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,235 @@ | ||
# | ||
# DO NOT EDIT THIS FILE | ||
# | ||
# It is automatically generated by grub2-mkconfig using templates | ||
# from /etc/grub.d and settings from /etc/default/grub | ||
# | ||
|
||
### BEGIN /etc/grub.d/00_header ### | ||
set pager=1 | ||
|
||
if [ -f ${config_directory}/grubenv ]; then | ||
load_env -f ${config_directory}/grubenv | ||
elif [ -s $prefix/grubenv ]; then | ||
load_env | ||
fi | ||
if [ "${next_entry}" ] ; then | ||
set default="${next_entry}" | ||
set next_entry= | ||
save_env next_entry | ||
set boot_once=true | ||
else | ||
set default="${saved_entry}" | ||
fi | ||
|
||
if [ x"${feature_menuentry_id}" = xy ]; then | ||
menuentry_id_option="--id" | ||
else | ||
menuentry_id_option="" | ||
fi | ||
|
||
export menuentry_id_option | ||
|
||
if [ "${prev_saved_entry}" ]; then | ||
set saved_entry="${prev_saved_entry}" | ||
save_env saved_entry | ||
set prev_saved_entry= | ||
save_env prev_saved_entry | ||
set boot_once=true | ||
fi | ||
|
||
function savedefault { | ||
if [ -z "${boot_once}" ]; then | ||
saved_entry="${chosen}" | ||
save_env saved_entry | ||
fi | ||
} | ||
|
||
function load_video { | ||
if [ x$feature_all_video_module = xy ]; then | ||
insmod all_video | ||
else | ||
insmod efi_gop | ||
insmod efi_uga | ||
insmod ieee1275_fb | ||
insmod vbe | ||
insmod vga | ||
insmod video_bochs | ||
insmod video_cirrus | ||
fi | ||
} | ||
|
||
terminal_output console | ||
if [ x$feature_timeout_style = xy ] ; then | ||
set timeout_style=menu | ||
set timeout=5 | ||
# Fallback normal timeout code in case the timeout_style feature is | ||
# unavailable. | ||
else | ||
set timeout=5 | ||
fi | ||
### END /etc/grub.d/00_header ### | ||
|
||
### BEGIN /etc/grub.d/00_tuned ### | ||
set tuned_params="" | ||
set tuned_initrd="" | ||
### END /etc/grub.d/00_tuned ### | ||
|
||
### BEGIN /etc/grub.d/01_users ### | ||
if [ -f ${prefix}/user.cfg ]; then | ||
source ${prefix}/user.cfg | ||
if [ -n "${GRUB2_PASSWORD}" ]; then | ||
set superusers="root" | ||
export superusers | ||
password_pbkdf2 root ${GRUB2_PASSWORD} | ||
fi | ||
fi | ||
### END /etc/grub.d/01_users ### | ||
|
||
### BEGIN /etc/grub.d/08_fallback_counting ### | ||
insmod increment | ||
# Check if boot_counter exists and boot_success=0 to activate this behaviour. | ||
if [ -n "${boot_counter}" -a "${boot_success}" = "0" ]; then | ||
# if countdown has ended, choose to boot rollback deployment, | ||
# i.e. default=1 on OSTree-based systems. | ||
if [ "${boot_counter}" = "0" -o "${boot_counter}" = "-1" ]; then | ||
set default=1 | ||
set boot_counter=-1 | ||
# otherwise decrement boot_counter | ||
else | ||
decrement boot_counter | ||
fi | ||
save_env boot_counter | ||
fi | ||
### END /etc/grub.d/08_fallback_counting ### | ||
|
||
### BEGIN /etc/grub.d/10_linux ### | ||
insmod part_gpt | ||
insmod ext2 | ||
if [ x$feature_platform_search_hint = xy ]; then | ||
search --no-floppy --fs-uuid --set=root d0be5cb9-622d-42d5-a531-674aaa120309 | ||
else | ||
search --no-floppy --fs-uuid --set=root d0be5cb9-622d-42d5-a531-674aaa120309 | ||
fi | ||
insmod part_gpt | ||
insmod ext2 | ||
if [ x$feature_platform_search_hint = xy ]; then | ||
search --no-floppy --fs-uuid --set=boot d0be5cb9-622d-42d5-a531-674aaa120309 | ||
else | ||
search --no-floppy --fs-uuid --set=boot d0be5cb9-622d-42d5-a531-674aaa120309 | ||
fi | ||
|
||
# This section was generated by a script. Do not modify the generated file - all changes | ||
# will be lost the next time file is regenerated. Instead edit the BootLoaderSpec files. | ||
# | ||
# The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and | ||
# populates the boot menu. Please refer to the Boot Loader Specification documentation | ||
# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. | ||
|
||
# The kernelopts variable should be defined in the grubenv file. But to ensure that menu | ||
# entries populated from BootLoaderSpec files that use this variable work correctly even | ||
# without a grubenv file, define a fallback kernelopts variable if this has not been set. | ||
# | ||
# The kernelopts variable in the grubenv file can be modified using the grubby tool or by | ||
# executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX | ||
# and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both | ||
# the kernelopts variable in the grubenv file and the fallback kernelopts variable. | ||
if [ -z "${kernelopts}" ]; then | ||
set kernelopts="root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8" | ||
fi | ||
|
||
insmod blscfg | ||
blscfg | ||
### END /etc/grub.d/10_linux ### | ||
|
||
### BEGIN /etc/grub.d/10_reset_boot_success ### | ||
# Hiding the menu is ok if last boot was ok or if this is a first boot attempt to boot the entry | ||
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then | ||
set menu_hide_ok=1 | ||
else | ||
set menu_hide_ok=0 | ||
fi | ||
# Reset boot_indeterminate after a successful boot | ||
if [ "${boot_success}" = "1" ] ; then | ||
set boot_indeterminate=0 | ||
# Avoid boot_indeterminate causing the menu to be hidden more then once | ||
elif [ "${boot_indeterminate}" = "1" ]; then | ||
set boot_indeterminate=2 | ||
fi | ||
# Reset boot_success for current boot | ||
set boot_success=0 | ||
save_env boot_success boot_indeterminate | ||
### END /etc/grub.d/10_reset_boot_success ### | ||
|
||
### BEGIN /etc/grub.d/12_menu_auto_hide ### | ||
if [ x$feature_timeout_style = xy ] ; then | ||
if [ "${menu_show_once}" ]; then | ||
unset menu_show_once | ||
save_env menu_show_once | ||
set timeout_style=menu | ||
set timeout=60 | ||
elif [ "${menu_auto_hide}" -a "${menu_hide_ok}" = "1" ]; then | ||
set orig_timeout_style=${timeout_style} | ||
set orig_timeout=${timeout} | ||
if [ "${fastboot}" = "1" ]; then | ||
# timeout_style=menu + timeout=0 avoids the countdown code keypress check | ||
set timeout_style=menu | ||
set timeout=0 | ||
else | ||
set timeout_style=hidden | ||
set timeout=1 | ||
fi | ||
fi | ||
fi | ||
### END /etc/grub.d/12_menu_auto_hide ### | ||
|
||
### BEGIN /etc/grub.d/20_linux_tboot ### | ||
submenu "tboot 1.10.2" { | ||
menuentry 'CentOS Linux GNU/Linux, with tboot 1.10.2 and Linux 5.18.0' --class centos --class gnu-linux --class gnu --class os --class tboot { | ||
insmod multiboot2 | ||
insmod part_gpt | ||
insmod ext2 | ||
if [ x$feature_platform_search_hint = xy ]; then | ||
search --no-floppy --fs-uuid --set=root d0be5cb9-622d-42d5-a531-674aaa120309 | ||
else | ||
search --no-floppy --fs-uuid --set=root d0be5cb9-622d-42d5-a531-674aaa120309 | ||
fi | ||
echo 'Loading tboot 1.10.2 ...' | ||
multiboot2 /boot/tboot.gz logging=serial,memory serial=57600,8n1,0x2f8 min_ram=0x2000000 | ||
echo 'Loading Linux 5.18.0 ...' | ||
module2 /boot/vmlinuz-5.18.0 root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8 intel_iommu=on | ||
echo 'Loading initial ramdisk ...' | ||
module2 /boot/initramfs-5.18.0.img | ||
} | ||
} | ||
### END /etc/grub.d/20_linux_tboot ### | ||
|
||
### BEGIN /etc/grub.d/20_linux_xen ### | ||
### END /etc/grub.d/20_linux_xen ### | ||
|
||
### BEGIN /etc/grub.d/20_linux_xen_tboot ### | ||
### END /etc/grub.d/20_linux_xen_tboot ### | ||
|
||
### BEGIN /etc/grub.d/20_ppc_terminfo ### | ||
### END /etc/grub.d/20_ppc_terminfo ### | ||
|
||
### BEGIN /etc/grub.d/30_os-prober ### | ||
### END /etc/grub.d/30_os-prober ### | ||
|
||
### BEGIN /etc/grub.d/30_uefi-firmware ### | ||
### END /etc/grub.d/30_uefi-firmware ### | ||
|
||
### BEGIN /etc/grub.d/40_custom ### | ||
# This file provides an easy way to add custom menu entries. Simply type the | ||
# menu entries you want to add after this comment. Be careful not to change | ||
# the 'exec tail' line above. | ||
### END /etc/grub.d/40_custom ### | ||
|
||
### BEGIN /etc/grub.d/41_custom ### | ||
if [ -f ${config_directory}/custom.cfg ]; then | ||
source ${config_directory}/custom.cfg | ||
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then | ||
source $prefix/custom.cfg; | ||
fi | ||
### END /etc/grub.d/41_custom ### | ||
|
6 changes: 6 additions & 0 deletions
6
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/EFI/centos/grubenv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# GRUB Environment Block | ||
saved_entry=9af7b02ac08149d985841c07c8ff366e-5.18.0 | ||
kernelopts=root=UUID=d0be5cb9-622d-42d5-a531-674aaa120309 ro crashkernel=auto rhgb quiet console=ttyS1,57600n8 | ||
boot_success=0 | ||
boot_indeterminate=0 | ||
################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# |
1 change: 1 addition & 0 deletions
1
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/PARTLABEL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
fat16 |
1 change: 1 addition & 0 deletions
1
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/TYPE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
vfat |
1 change: 1 addition & 0 deletions
1
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/UUID
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d0be5cb9-622d-42d5-a531-674aaa120309 |
Empty file.
Empty file.
10 changes: 10 additions & 0 deletions
10
...eam_x86_64_blscfg_sda1/boot/loader/entries/9af7b02ac08149d985841c07c8ff366e-0-rescue.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
title CentOS Linux (0-rescue-9af7b02ac08149d985841c07c8ff366e) 8 | ||
version 0-rescue-9af7b02ac08149d985841c07c8ff366e | ||
linux /boot/vmlinuz-0-rescue-9af7b02ac08149d985841c07c8ff366e | ||
initrd /boot/initramfs-0-rescue-9af7b02ac08149d985841c07c8ff366e.img | ||
options $kernelopts | ||
id centos-0-0-rescue-9af7b02ac08149d985841c07c8ff366e | ||
grub_users $grub_users | ||
grub_arg --unrestricted | ||
grub_class kernel | ||
|
10 changes: 10 additions & 0 deletions
10
...tream_x86_64_blscfg_sda1/boot/loader/entries/9af7b02ac08149d985841c07c8ff366e-5.18.0.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
title CentOS Linux (5.18.0) 8 | ||
version 5.18.0 | ||
linux /boot/vmlinuz-5.18.0 | ||
initrd /boot/initramfs-5.18.0.img $tuned_initrd | ||
options $kernelopts $tuned_params | ||
id centos-20220726012856-5.18.0 | ||
grub_users $grub_users | ||
grub_arg --unrestricted | ||
grub_class kernel | ||
|
Binary file added
BIN
+26 Bytes
pkg/boot/grub/testdata_new/CentOS_8_Stream_x86_64_blscfg_sda1/boot/tboot.gz
Binary file not shown.
Empty file.
Empty file.