---
title: GNU+Linux Installation Instructions
...

This section pertains to GNU+Linux installation on systems that use the GNU
GRUB bare metal coreboot payload.

If you're using SeaBIOS or Tianocore, refer to their documentation. SeaBIOS
works like any standard BIOS system and Tianocore is *literally* **in** most
commercial vendor firmware (but Tianocore is non-copyleft Free Software, so
their version is non-free while the one Retroboot distributes is Free Software
with source code provided). We currently do not document Tianocore and SeaBIOS.

- [How to Prepare and Boot a USB GNU+Linux Installer for bare metal GNU GRUB
  coreboot payload](grub_boot_installer.md)

- [Modifying the GRUB configuration in CBFS for GNU GRUB bare metal coreboot
  payload](grub_cbfs.md)

- [Guix System with Full-Disk Encryption on bare metal GNU GRUB coreboot payload](guix_system.md)

- [Installing Hyperbola GNU+Linux, with Full-Disk Encryption
  (including /boot) on bare metal GNU GRUB coreboot payload](https://wiki.hyperbola.info/en:guide:encrypted_installation)

- [Installing Debian or Devuan GNU+Linux-Libre, with Full-Disk Encryption
  (including /boot) on bare metal GNU GRUB coreboot payload](encrypted_debian.md)

- [GNU GRUB security hardening for bare metal coreboot payload configuration](grub_hardening.md)

Fedora won't boot (GNU GRUB payload)?
-------------------------------------

If you're using SeaBIOS or Tianocore, ignore this section.

This may also apply to CentOS or Redhat. Chroot guide can be found on
[fedora website](https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/#restoring-bootloader-using-live-disk)

### linux16 issue

When you use Retroboot's default GRUB config, and retroboot's grub uses
Fedora's default `grub.cfg` (in `/boot/grub2/grub.cfg`), fedora by default
makes use of the `linux16` command, whereas it should be saying `linux`

Do this in fedora:

Open `/etc/grub.d/10_linux`

Set the `sixteenbit` variable to an empty string, then run:

    grub2-mkconfig -o /boot/grub2/grub.cfg

### BLS issue

With [newer versions of
fedora](https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault),
scripts from grub package default to generating
[BLS](https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/) instead
of `grub.cfg`. To change that behaviour add following line
to `/etc/default/grub` (or modify existing one if it already exists):

    GRUB_ENABLE_BLSCFG=false

Then generate `grub.cfg` with:

    grub2-mkconfig -o /boot/grub2/grub.cfg
