Installation on libreboot

While the Gentoo handbook is very thorough in detailing the process of installation on a standard BIOS environment, Gluglugs or librebooted, refurbished Thinkpads take some special considerations. The purpose of this article is to document some of these considerations to help out any other Gentoo users who decide to take the 100% Free Software philosophy into practice with their installs.

Booting a Gentoo LiveCD Environment from Libreboot
After following the directions at LiveUSB to construct a bootable installation medium, you might encounter some issues with the grub scripts the Libreboot developer has written for booting from USB drives. If the directions for loading the isolinux config from USB at libreboot.org are followed, it spits out a three line error code and fails to boot the iso.

Manually boot Gentoo from GRUB CLI
To bypass this you must drop to the GRUB command line and manually specify your LiveCD kernel & initrd before issuing the boot command.
 * First descend to the GRUB command line:


 * Next issue the command to verify the location of your Gentoo LiveUSB:

Below is an example output from that command:


 * Next specify the location of the Gentoo kernel, making sure to pass any parameters needed for boot. See man bootparam or use Google for more kernel parameters. The example below assumes that the Gentoo LiveCD is the only USB drive connected. The  is important, without it there is a kernel panic.


 * With the kernel and parameters specified, it's just a matter of identifying the initrd:


 * Finally execute the boot command:

Maintaining FSF Certified Status
While configuring the portage be sure to specify that you want nothing to do with any software which isn't completely free. The whole point of this guide is to build a Libre Gentoo system after all. This step has to be done before emerging any software or do a manual update with the  flag which can result in recompiling a lot of software unnecessarily.

See License_groups for more info.

Use a Kernel without blobs
There are two ways to ensure the kernel won't contain any binary blobs.

Method 1 (recommended): Remove proprietary binary blobs from the gentoo kernel sources
The package is de-blobbed out of the box. This means that there is no firmware installed in the kernel at all. You might want to install free firmware for certain devices to work, below are instructions on how to do that.

Installing free firmware
Install the package. Out of the box this package contains non-free firmware also, but you can instruct portage to only install free firmware from this package.

Install

Use linux-libre sources
This is not recommended because the kernel sources installed this way won't get updated by portage. It is also more difficult to install the patches from the Project:Hardened.

You have been warned!

Navigate to linux-libre.org and download the desired kernel source.

When it comes time to Handbook:Parts/Installation/Kernel just extract the kernel source to a safe location and then symlink it to. The commands below are examples given the current kernel at time of writing, do not copy & paste these commands into ssh.

GRUB Payload
If you are using GRUB as Libreboot payload, it searches for files on every partition in  and. So you have to place the file there.

Possible invocation of, so libreboot-GRUB may find the config file.

Other ways to configure a GRUB Payload are listed on the libreboot site.