changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > infra > box / grub/loopback.cfg

changeset 2: 2fafbe22bd34
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 31 May 2024 17:30:09 -0400
permissions: -rw-r--r--
description: init releng
1 # https://www.supergrubdisk.org/wiki/Loopback.cfg
2 
3 # Search for the ISO volume
4 search --no-floppy --set=archiso_img_dev --file "${iso_path}"
5 probe --set archiso_img_dev_uuid --fs-uuid "${archiso_img_dev}"
6 
7 # Get a human readable platform identifier
8 if [ "${grub_platform}" == 'efi' ]; then
9  archiso_platform='UEFI'
10  if [ "${grub_cpu}" == 'x86_64' ]; then
11  archiso_platform="x64 ${archiso_platform}"
12  elif [ "${grub_cpu}" == 'i386' ]; then
13  archiso_platform="IA32 ${archiso_platform}"
14  else
15  archiso_platform="${grub_cpu} ${archiso_platform}"
16  fi
17 elif [ "${grub_platform}" == 'pc' ]; then
18  archiso_platform='BIOS'
19 else
20  archiso_platform="${grub_cpu} ${grub_platform}"
21 fi
22 
23 # Set default menu entry
24 default=archlinux
25 timeout=15
26 timeout_style=menu
27 
28 
29 # Menu entries
30 
31 menuentry "Arch Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
32  set gfxpayload=keep
33  linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}"
34  initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
35 }
36 
37 menuentry "Arch Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
38  set gfxpayload=keep
39  linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% img_dev=UUID=${archiso_img_dev_uuid} img_loop="${iso_path}" accessibility=on
40  initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
41 }
42 
43 
44 if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
45  menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
46  set gfxpayload=800x600,1024x768
47  linux /boot/memtest86+/memtest.efi
48  }
49 fi
50 if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
51  menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
52  set gfxpayload=800x600,1024x768
53  linux /boot/memtest86+/memtest
54  }
55 fi
56 if [ "${grub_platform}" == 'efi' ]; then
57  if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
58  menuentry 'UEFI Shell' --class efi {
59  chainloader /shellx64.efi
60  }
61  elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then
62  menuentry 'UEFI Shell' --class efi {
63  chainloader /shellia32.efi
64  }
65  fi
66 
67  menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
68  fwsetup
69  }
70 fi
71 
72 menuentry 'System shutdown' --class shutdown --class poweroff {
73  echo 'System shutting down...'
74  halt
75 }
76 
77 menuentry 'System restart' --class reboot --class restart {
78  echo 'System rebooting...'
79  reboot
80 }