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 }