diff options
author | Leah Rowe <info@minifree.org> | 2016-08-22 10:22:04 +0100 |
---|---|---|
committer | Leah Rowe <info@minifree.org> | 2016-08-22 10:22:04 +0100 |
commit | c679b19f0b0d95f587b3836c7bf867a932d3df28 (patch) | |
tree | a0529135e5901b3aff16987a2cf94c10752cb8ab /docs/gnulinux/grub_boot_installer.html | |
parent | 3ca295f25340344f5d42164bd134dbb9f5b0ff4c (diff) | |
download | librebootfr-c679b19f0b0d95f587b3836c7bf867a932d3df28.tar.gz librebootfr-c679b19f0b0d95f587b3836c7bf867a932d3df28.zip |
actually add the documentation directory. (I forgot git add in last commit)
Diffstat (limited to 'docs/gnulinux/grub_boot_installer.html')
-rw-r--r-- | docs/gnulinux/grub_boot_installer.html | 312 |
1 files changed, 312 insertions, 0 deletions
diff --git a/docs/gnulinux/grub_boot_installer.html b/docs/gnulinux/grub_boot_installer.html new file mode 100644 index 00000000..f6e9b687 --- /dev/null +++ b/docs/gnulinux/grub_boot_installer.html @@ -0,0 +1,312 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <style type="text/css"> + @import url('../css/main.css'); + </style> + + <title>How to install GNU/Linux on a libreboot system</title> +</head> + +<body> + <div id="pagetop" class="section"> + <h1>How to install GNU/Linux on a libreboot system</h1> + <p> + This section relates to preparing, booting and installing a + GNU/Linux distribution on your libreboot system, using nothing more than a USB flash drive (and <i>dd</i>). + </p> + <ul> + <li><a href="#prepare">Prepare the USB drive (in GNU/Linux)</a></li> + <li><a href="#encryption">Installing GNU/Linux with full disk encryption</a></li> + <li><a href="#guix">GNU Guix System Distribution?</a></li> + <li><a href="#trisquel_netinstall">Trisquel net install?</a></li> + <li><a href="#parse_isolinux">Booting ISOLINUX images (automatic method)</a></li> + <li><a href="#manual_isolinux">Booting ISOLINUX images (manual method)</a></li> + <li><a href="#troubleshooting">Troubleshooting</a></li> + </ul> + <p> + <a href="index.html">Back to previous index</a> + </p> + </div> + + <div class="section"> + <p> + <b>This section is only for the GRUB payload. For depthcharge (used on CrOS devices in libreboot), instructions + have yet to be written in the libreboot documentation.</b> + </p> + </div> + + <div id="prepare" class="section"> + + <h2>Prepare the USB drive (in GNU/Linux)</h2> + + <p> + Connect the USB drive. Check dmesg:<br/> + <b>$ dmesg</b><br/> + + Check lsblk to confirm which drive it is:<br/> + <b>$ lsblk</b> + </p> + + <p> + Check that it wasn't automatically mounted. If it was, unmount it. For example:<br/> + <b>$ sudo umount /dev/sdX*</b><br/> + <b># umount /dev/sdX*</b> + </p> + + <p> + dmesg told you what device it is. Overwrite the drive, writing your distro ISO to it with dd. For example:<br/> + <b>$ sudo dd if=gnulinux.iso of=/dev/sdX bs=8M; sync</b><br/> + <b># dd if=gnulinux.iso of=/dev/sdX bs=8M; sync</b> + </p> + + <p> + You should now be able to boot the installer from your USB drive. Continue reading, for + information about how to do that. + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="encryption" class="section"> + + <h2>Installing GNU/Linux with full disk encryption</h2> + + <ul> + <li><a href="encrypted_trisquel.html">Installing Trisquel GNU/Linux with full disk encryption (including /boot)</a></li> + <li><a href="encrypted_parabola.html">Installing Parabola GNU/Linux with full disk encryption (including /boot)</a></li> + </ul> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="guix" class="section"> + + <h2>GNU Guix System Distribution?</h2> + + <p> + The Guix installers uses the GRUB bootloader, unlike most GNU/Linux installers which will likely use ISOLINUX. + </p> + <p> + To boot the Guix live USB install, select <b><i>Search for GRUB configuration (grub.cfg) outside of CBFS</i></b> from + the GRUB payload menu. After you have done that, a new menuentry will appear at the very bottom with text like + <b><i>Load Config from (usb0)</i></b>; select that, and it should boot. + </p> + <p> + Once you have installed Guix onto the main storage device, check + <a href="grub_cbfs.html#option1_dont_reflash">grub_cbfs.html#option1_dont_reflash</a> for hints on how + to boot it. + </p> + + <p> + GuixSD (Guix System Distribution) is highly recommended; it's part of GNU, and + <a href="https://www.gnu.org/distros/free-distros.html">endorsed</a> by the Free Software Foundation. + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="trisquel_netinstall" class="section"> + + <h2>Trisquel net install?</h2> + + <p> + Tip: don't use the official net install image. Download the full GNOME ISO (the ~1.5GiB one). + In this ISO, there is still the capability to boot the net install, while it also provides + an easy to use live system (which you can boot from USB). This ISO also works using + <i>syslinux_configfile -i</i> (the <i>Parse ISOLINUX</i> menu entries in the default + GRUB configuration that libreboot uses). + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="parse_isolinux" class="section"> + + <h2>Booting ISOLINUX images (automatic method)</h2> + + <p> + Boot it in GRUB using the <i>Parse ISOLINUX config (USB)</i> option. + + 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. + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="manual_isolinux" class="section"> + + <h2>Booting ISOLINUX images (manual method)</h2> + + <p> + <i>These are generic instructions. They may or may not be correct for your + distribution. You must adapt them appropriately, for whatever GNU/Linux distribution + it is that you are trying to install.</i> + </p> + + <p> + If the ISOLINUX parser or <i>Search for GRUB configuration</i> options won't work, then press C in GRUB to access the command line.<br/> + grub> <b>ls</b><br/> + + Get the device from above output, eg (usb0). Example:<br/> + grub> <b>cat (usb0)/isolinux/isolinux.cfg</b><br/> + + Either this will show the ISOLINUX menuentries for that ISO, or link to other .cfg files, for example /isolinux/foo.cfg.<br/> + + If it did that, then you do:<br/> + grub> <b>cat (usb0)/isolinux/foo.cfg</b><br/> + + And so on, until you find the correct menuentries for ISOLINUX. + <b>The file <i>/isolinux/foo.cfg</i> is a fictional example. Do not actually + use this example, unless you actually have that file, if it is appropriate.</b> + </p> + + <p> + For Trisquel (and other debian-based distros), there are typically menuentries listed in + <i>/isolinux/txt.cfg</i> or <i>/isolinux/gtk.cfg</i>. For dual-architecture ISO images + (i686 and x86_64), there may be separate files/directories for each architecture. + Just keep searching through the image, until you find the correct ISOLINUX configuration file. + </p> + + <p> + Now look at the ISOLINUX menuentry. It'll look like:<br/> + <b> + kernel /path/to/kernel<br/> + append PARAMETERS initrd=/path/to/initrd MAYBE_MORE_PARAMETERS<br/> + </b> + + GRUB works the same way, but in it's own way. Example GRUB commands:<br/> + grub> <b>set root='usb0'</b><br/> + grub> <b>linux /path/to/kernel PARAMETERS MAYBE_MORE_PARAMETERS</b><br/> + grub> <b>initrd /path/to/initrd</b><br/> + grub> <b>boot</b><br/> + Note: <i>usb0</i> may be incorrect. Check the output of the <i>ls</i> command in GRUB, + to see a list of USB devices/partitions. + + Of course this will vary from distro to distro. If you did all of that correctly, then it should now be booting your USB + drive in the way that you specified. + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div id="troubleshooting" class="section"> + + <h1>Troubleshooting</h1> + + <p> + 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. + </p> + + <p> + In most cases, you should use the vesafb ROM images. Example filename: libreboot_ukdvorak_vesafb.rom. + </p> + + <h2>parabola won't boot in text-mode</h2> + + <p> + Use one of the ROM images with vesafb in the filename (uses coreboot framebuffer instead of text-mode). + </p> + + <h2>debian-installer (trisquel net install) graphical corruption in text-mode</h2> + <p> + 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:<br/> + <b>vga=normal fb=false</b> + </p> + + <p> + Tested in Trisquel 6 (and 7). This forces debian-installer to start in text-mode, instead of trying to switch to a framebuffer. + </p> + + <p> + 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. + </p> + + <p> + This workaround was found on the page: <a href="https://www.debian.org/releases/stable/i386/ch05s04.html">https://www.debian.org/releases/stable/i386/ch05s04.html</a>. + It should also work for gNewSense, Debian and any other apt-get distro that provides debian-installer (text mode) net install method. + </p> + + <p> + <a href="#pagetop">Back to top of page</a>. + </p> + + </div> + + <div class="section"> + + <p> + Copyright © 2014, 2015 Leah Rowe <info@minifree.org><br/> + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a> + </p> + + <p> + Updated versions of the license (when available) can be found at + <a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a> + </p> + + <p> + UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + </p> + <p> + TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + </p> + <p> + The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + </p> + + </div> + +</body> +</html> |