summaryrefslogtreecommitdiffstats
path: root/grub.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'grub.cfg')
-rw-r--r--grub.cfg148
1 files changed, 148 insertions, 0 deletions
diff --git a/grub.cfg b/grub.cfg
new file mode 100644
index 0000000..189cdb5
--- /dev/null
+++ b/grub.cfg
@@ -0,0 +1,148 @@
+set prefix=(memdisk)/boot/grub
+
+insmod nativedisk
+insmod ehci
+insmod ohci
+insmod uhci
+insmod usb
+insmod usbserial_pl2303
+insmod usbserial_ftdi
+insmod usbserial_usbdebug
+
+# Serial and keyboard configuration, very important.
+serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
+terminal_input --append serial
+terminal_output --append serial
+terminal_input --append at_keyboard
+
+gfxpayload=keep
+terminal_output --append gfxterm
+
+# Default to first option, automatically boot after 1 second
+set default="0"
+set timeout=1
+
+# This is useful when using 'cat' on long files on GRUB terminal
+set pager=1
+
+# # Play a beep on startup
+# play 480 440 1
+insmod jpeg
+
+background_image (cbfsdisk)/background.png
+loadfont (memdisk)/dejavusansmono.pf2
+
+keymap ukqwerty
+menuentry 'Load Operating System' {
+ insmod ahci
+ insmod part_msdos
+ insmod part_gpt
+ for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
+ if [ -f "$x/grub/libreboot_grub.cfg" ] ; then
+ set root=$x
+ configfile /grub/libreboot_grub.cfg
+ fi
+ if [ -f "$x/boot/grub/libreboot_grub.cfg" ] ; then
+ set root=$x
+ configfile /boot/grub/libreboot_grub.cfg
+ fi
+ done
+
+ set root='ahci0,1'
+ linux /vmlinuz root=/dev/sda1 rw
+ if [ -f "/initrd.img" ] ; then
+ initrd /initrd.img
+ fi
+}
+menuentry 'Parse ISOLINUX menu (ahci0)' {
+ insmod ahci
+ insmod part_msdos
+ insmod part_gpt
+ for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4); do
+ set root=$x
+ if [ -f "/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /isolinux/isolinux.cfg
+ elif [ -f "/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /syslinux/syslinux.cfg
+ elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /boot/isolinux/isolinux.cfg
+ elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /boot/syslinux/syslinux.cfg
+ fi
+ done
+}
+menuentry 'Parse ISOLINUX menu (USB)' {
+ insmod usbms
+ insmod part_msdos
+ insmod part_gpt
+ for x in (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
+ set root=$x
+ if [ -f "/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /isolinux/isolinux.cfg
+ elif [ -f "/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /syslinux/syslinux.cfg
+ elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /boot/isolinux/isolinux.cfg
+ elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /boot/syslinux/syslinux.cfg
+ fi
+ done
+}
+menuentry 'Parse ISOLINUX menu (CD/DVD)' {
+ insmod ahci
+ insmod ata
+ insmod iso9660
+ for x in (ata0) (ahci1); do
+ set root=$x
+ if [ -f "/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /isolinux/isolinux.cfg
+ elif [ -f "/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /syslinux/syslinux.cfg
+ elif [ -f "/boot/isolinux/isolinux.cfg" ] ; then
+ syslinux_configfile -i /boot/isolinux/isolinux.cfg
+ elif [ -f "/boot/syslinux/syslinux.cfg" ] ; then
+ syslinux_configfile -i /boot/syslinux/syslinux.cfg
+ fi
+ done
+}
+menuentry 'Switch to grubtest.cfg' {
+ set root='cbfsdisk'
+ configfile (cbfsdisk)/grubtest.cfg
+}
+menuentry 'Search for GRUB configuration (grub.cfg) outside of CBFS' {
+ insmod ahci
+ insmod usbms
+ insmod part_msdos
+ insmod part_gpt
+ for x in (ahci0,1) (ahci0,2) (ahci0,3) (ahci0,4) (usb0) (usb0,1) (usb0,2) (usb0,3) (usb0,4); do
+ if [ -f "$x/grub/grub.cfg" ] ; then
+ submenu "Load Config from $x" $x {
+ root=$2
+ source /grub/grub.cfg
+ unset superusers
+ }
+ fi
+ if [ -f "$x/boot/grub/grub.cfg" ] ; then
+ submenu "Load Config from $x" $x {
+ root=$2
+ source /boot/grub/grub.cfg
+ unset superusers
+ }
+ fi
+ if [ -f "$x/grub2/grub.cfg" ] ; then
+ submenu "Load Config from $x" $x {
+ root=$2
+ source /grub2/grub.cfg
+ unset superusers
+ }
+ fi
+ if [ -f "$x/boot/grub2/grub.cfg" ] ; then
+ submenu "Load Config from $x" $x {
+ root=$2
+ source /boot/grub2/grub.cfg
+ unset superusers
+ }
+ fi
+ done
+}
+