From 8b2219bfa2da36e7809588ef723a10483a6e137f Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Wed, 05 Nov 2014 20:52:36 -0500 Subject: Documentation: *major* cleanup. Cleanup was long overdue. Old structure was messy and inefficient. --- (limited to 'docs/gnulinux/grub_boot_installer.html') diff --git a/docs/gnulinux/grub_boot_installer.html b/docs/gnulinux/grub_boot_installer.html new file mode 100644 index 0000000..6853680 --- /dev/null +++ b/docs/gnulinux/grub_boot_installer.html @@ -0,0 +1,137 @@ + + + + + + + + + Libreboot documentation: installing GNU/Linux + + + +
+

Boot a GNU/Linux installer on USB

+ +
+ +

Prepare the USB drive (in GNU/Linux)

+ +

+ Connect the USB drive. Check dmesg:
+ $ dmesg
+ + Check lsblk to confirm which drive it is:
+ $ lsblk +

+ +

+ Check that it wasn't automatically mounted. If it was, unmount it. For example:
+ $ sudo umount /dev/sdb*
+ # umount /dev/sdb* +

+ +

+ dmesg told you what device it is. Overwrite the drive, writing your distro ISO to it with dd. For example:
+ $ sudo dd if=gnulinux.iso of=/dev/sdb bs=8M; sync
+ # dd if=gnulinux.iso of=/dev/sdb bs=8M; sync +

+ +

Booting the USB drive (in GRUB)

+ +

+ Boot it in GRUB using the Parse ISOLINUX config (USB) option (it's in default libreboot grub.cfg, at least). + + A new menu should appear in GRUB, showing the boot options for that distro; this is a GRUB menu, converted from the usual + ISOLINUX menu provided by that distro. +

+ +

+ If the ISOLINUX parser won't work, then press C to get to GRUB command line.
+ grub> ls
+ + Get the device from above output, eg (usb0). Example:
+ grub> cat (usb0)/isolinux/isolinux.cfg
+ + Either this will show the ISOLINUX menuentries for that ISO, or link to other .cfg files, for example /isolinux/foo.cfg.
+ + If it did that, then you do:
+ grub> cat (usb0)/isolinux/foo.cfg
+ + And so on, until you find the correct menuentries for ISOLINUX. +

+ +

+ Now look at the ISOLINUX menuentry. It'll look like:
+ + kernel /path/to/kernel
+ append PARAMETERS initrd=/path/to/initrd MAYBE_MORE_PARAMETERS
+
+ + GRUB works the same way, but in it's own way. Example GRUB commands:
+ grub> linux (usb0)/path/to/kernel PARAMETERS MAYBE_MORE_PARAMETERS
+ grub> initrd (usb0)/path/to/initrd
+ grub> boot
+ + Of course this will vary from distro to distro. If you did all that correctly, it should now be booting the ISO + the way you specified. +

+ +

Troubleshooting

+ +

+ Most of these issues occur when using libreboot with coreboot's 'text mode' instead of the coreboot framebuffer. + This mode is useful for booting payloads like memtest86+ which expect text-mode, but for GNU/Linux distributions + it can be problematic when they are trying to switch to a framebuffer because it doesn't exist. +

+ +

+ In most cases, you should use the vesafb ROM's. Example filename: libreboot_ukdvorak_vesafb.rom. +

+ +

parabola won't boot in text-mode

+ +

+ Use one of the ROM images with vesafb in the filename (uses coreboot framebuffer instead of text-mode). +

+ +

debian-installer (trisquel net install) graphical corruption in text-mode

+

+ When using the ROM images that use coreboot's "text mode" instead of the coreboot framebuffer, + booting the Trisquel net installer results in graphical corruption because it is trying to switch to a framebuffer which doesn't + exist. Use that kernel parameter on the 'linux' line when booting it:
+ vga=normal fb=false +

+ +

+ Tested in Trisquel 6 (and 7). This forces debian-installer to start in text-mode, instead of trying to switch to a framebuffer. +

+ +

+ If selecting text-mode from a GRUB menu created using the ISOLINUX parser, you can press E on the menu entry to add this. + Or, if you are booting manually (from GRUB terminal) then just add the parameters. +

+ +

+ This workaround was found on the page: https://www.debian.org/releases/stable/i386/ch05s04.html. + It should also work for gNewSense, Debian and any other apt-get distro that provides debian-installer (text mode) net install method. +

+ +
+ +

+ Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
+ This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at ../license.txt. +

+ +

+ This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See ../license.txt for more information. +

+ + + -- cgit v0.9.1