4.3 KiB
Personal Gentoo overlay, focusing mostly on needed tools and compatibility for a libre version of Gentoo on the Librem 14 computer.
Available packages:
- dev-python/ecp: Python implementation of Emacs RPC stack. Depends
on
orjson
ororjson-bin
from the GURU (or another) overlay. - sys-kernel/libre-kernel: A dist-kernel built from the Linux-libre sources.
- media-fonts/fonts-meta: Modified version to remove non-Free fonts from the dependencies.
- sys-apps/librem-ec-acpi: An ebuild packaging the Librem 14 EC ACPI kernel module, necessary for proper functioning of the laptop's battery charging and function keys.
- sys-power/librem-control: A GTK application to control parameters of the Librem EC (battery charge levels, etc).
- sys-apps/purism_ectool: Tool for querying and flashing Purism EC firmware images on certain Librem laptops.
How to Add This Repository
Using eselect-repository:
# eselect repository add projectmoon git https://git.agnos.is/projectmoon/projectmoon-overlay
It usually a best practice to mask packages from overlays, except the ones you want:
In /etc/portage/package.mask
:
*/*::projectmoon
Individual packages can be unmasked (and added to
package.accept_keywords
if necessary). In /etc/portage/package.unmask
:
sys-kernel/libre-kernel::projectmoon
virtual/dist-kernel::projectmoon
The Linux-libre dist-kernel
This overlay provides a dist-kernel (based on
sys-kernel/vanilla-kernel
) using the Linux-libre kernel sources, and
an accompanying updated version of virtual/dist-kernel
. It is
maintained and tested for my personal use on amd64. The Linux-libre
kernel removes the ability for the Linux kernel to load firmware that
is not Free Software. The ebuild roughly follows the
current stable gentoo-kernel for amd64.
The libre kernel can be installed alongside other dist-kernels, and
works with the dist-kernel
and initramfs
USE flags. The ebuild
does NOT fail if non-free firmware (i.e. sys-kernel/linux-firmware
with redistributable
USE flag set) is installed, but it will warn
you if this is the case. It will also warn you if the linux-firmware
package is not found at all, like normal dist-kernel ebuilds.
The kernel installed by this ebuild has the version suffix
-gnu-dist
, making it easy to determine which kernel it is.
To install only the Linux firmware that meets the Free Software
Definition, configure /etc/portage/package.use
accordingly:
# Install only libre firmware
sys-kernel/linux-firmware -redistributable -unknown-license
You can also edit /etc/portage/profile/package.use.mask
to prevent
the linux-firmware package from ever installing the closed-source
firmware by adding this line:
# forcibly stop non-free firmware installation
sys-kernel/linux-firmware redistributable unknown-license
Using the Librem EC ACPI kernel module
The Librem EC ACPI kernel module should install and be automatically
available (via modprobe) after installation, using emerge sys-apps/librem-ec-acpi
. The module is currently installed to
/lib/modules/<kernel>/librem/
.
This ebuild supports the dist-kernel
USE flag, and the module will
automatically be rebuilt when installing a new dist-kernel if that
flag is enabled.
If you are not using a dist-kernel, when upgrading or installing a new
kernel, you will need to do emerge @modules-rebuild
to install the
module for the new kernel.
Librem Control and the Purism EC Tool
These two appliations can be used to manipulate device-specific features of the Librem 14, including the flashing of firmware images. It is not recommended to use the EC tool from this overlay for flashing a firmware image. Instead, follow the official firmware flashing instrutions.
Disclaimer
The ebuilds in this overlay are really only tested for my specific use-case. I do not test every combination of USE flags, for example. So there may be issues with non-Free dependencies etc in some cases.