diff options
Diffstat (limited to 'docs/future/fastboot/grub.cfg.memdisk')
-rw-r--r-- | docs/future/fastboot/grub.cfg.memdisk | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/docs/future/fastboot/grub.cfg.memdisk b/docs/future/fastboot/grub.cfg.memdisk new file mode 100644 index 0000000..fb3a652 --- /dev/null +++ b/docs/future/fastboot/grub.cfg.memdisk @@ -0,0 +1,106 @@ +#### This goes into the memdisk (3rd alternative: hard drive not found and no config file in the cbfs) + +### Add regular keyboard support +terminal_input --append at_keyboard + +### We are standalone +set prefix=(memdisk)/boot/grub + +### If grub.cfg is on the disk or the cbfs, try to load it +if [ -f "(ahci0,1)/grub.cfg" ] ; then + source (ahci0,1)/grub.cfg +else + if [ -f "(ahci0,2)/grub.cfg" ] ; then + source (ahci0,2)/grub.cfg + else + if [ -f "(ahci0,3)/grub.cfg" ] ; then + source (ahci0,3)/grub.cfg + else + if [ -f "(ahci0,4)/grub.cfg" ] ; then + source (ahci0,4)/grub.cfg + else + if [ -f "(cbfsdisk)/etc/grub.cfg" ] ; then + # play 1 beep to say something is wrong + play 480 440 1 + source (cbfsdisk)/etc/grub.cfg + else + # play 2 beeps to say something is quite wrong + play 480 440 1 + play 480 440 1 + # add integrated serial port: + serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 + terminal_input --append serial + terminal_output --append serial + # add usb serial: + insmod nativedisk + insmod ehci + insmod ohci + insmod uhci + insmod usb + insmod usbserial_pl2303 + insmod usbserial_ftdi + insmod usbserial_usbdebug + serial --speed=115200 --word=8 --parity=no --stop=1 usb1 + terminal_input --append serial_usb1 + terminal_output --append serial_usb1 + + # Default to the first entry after 10 seconds to try and type blindly if needed + set default=1 + set timeout=10 + # Here are the entries + menuentry 'MEMDISK: SeaBIOS' { + chainloader (cbfsdisk)/elf/seabios.elf + } + menuentry 'MEMDISK: a kernel with root on /dev/sda1' { + linux (ahci0,1)/bzImage root=/dev/sda1 ro quiet + } + menuentry 'MEMDISK: Indicate normal coreboot success' { + cmosclean 0x30:0 + cmosclean 0x30:1 + cmosclean 0x30:2 + cmosclean 0x30:3 + cmosclean 0x30:4 + cmosclean 0x30:5 + } + menuentry 'MEMDISK: to show coreboot CBMEM logs, type' { + set pager=1 + cbmemc + set pager=0 + } + menuentry 'MEMDISK: to show coreboot CBFS content, type' { + lscoreboot + error + } + menuentry 'MEMDISK: to show coreboot TIMESTAMPS, type' { + coreboot_boottime + error + } + menuentry 'MEMDISK: reboot' { + # reset to normal + cmosclean 48:0 + cmosclean 48:1 + # reset boot count + cmosclean 48:4 + cmosclean 48:5 + cmosclean 48:6 + cmosclean 48:7 + # rebooting makes it impossible to shut down with normal. + reboot + } + menuentry 'MEMDISK: halt' { + # reset to normal + cmosclean 48:0 + cmosclean 48:1 + # reset boot count + cmosclean 48:4 + cmosclean 48:5 + cmosclean 48:6 + cmosclean 48:7 + # rebooting makes it impossible to shut down with normal. + halt + } + fi + fi + fi + fi +fi |