Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How I installed Linux Libre kernel on Fedora 30

How to install Linux Libre in Fedora

Fedora has the Linux kernel. This instruction is to install Linux Libre kernel which is a version of the Linux kernel with closed source binary blobs removed. This results in a Free-er system which respects your 4 essential freedoms. On Fedora, the linux libre kernel has the name "Freed-ora freedom".

I tried this on a Fedora 30 install.

WARNING: Although this gives you a libre kernel, it is possible that all components of your hardware does not work without binary blobs (e.g. wifi card, bluetooth). In that case those components will not work after installation. Please do not apply this on a production install before testing thoroughly and for prolonged period of time on a test install. Use these instructions at your own risk. Backing up is also recommended.

sudo -s
rpm --import http://linux-libre.fsfla.org/pub/linux-libre/SIGNING-KEY.linux-libre
rpm -i http://linux-libre.fsfla.org/pub/linux-libre/freed-ora/freed-ora-release.noarch.rpm
yum -y install freed-ora-freedom

The last one might complain about some conflicting packages, like this:

...
Problem: problem with installed package zd1211-firmware-1.5-4.fc30.noarch
  - package freed-ora-freedom-14-1.noarch conflicts with zd1211-firmware provided by zd1211-firmware-1.5-4.fc30.noarch
...

So I removed the -firmware package:

yum remove -y zd1211-firmware

I ran yum -y install freed-ora-freedom again, again it conflicts with some package, I removed it too. I repeated this a couple of times. Remove -firmware packages without worry. But be careful for kernel packages (coming later).

I had to remove:

zd1211-firmware
ipw2200-firmware
ipw2100-firmware
atmel-firmware
microcode_ctl
linux-firmware
xorg-x11-drv-ati-firmware
libertas-usb8388-firmware
iwl7260-firmware
iwl6050-firmware
iwl6000g2b-firmware
iwl6000g2a-firmware
iwl6000-firmware
iwl5150-firmware
iwl5000-firmware
iwl4965-firmware
iwl3945-firmware
iwl3160-firmware
iwl2030-firmware
iwl2000-firmware
iwl135-firmware
iwl105-firmware
iwl1000-firmware
iwl100-firmware

When the firmwares are removed, run yum -y install freed-ora-freedom again. The install process will go halfway, but not complete. It will show Error messages like:

...
Error: kernel-core-5.2.8-200.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-modules-5.2.8-200.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-5.0.9-301.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-modules-extra-5.0.9-301.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-5.2.8-200.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-core-5.0.9-301.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-modules-extra-5.2.8-200.fc30.x86_64 conflicts with freed-ora-freedom
Error: kernel-modules-5.0.9-301.fc30.x86_64 conflicts with freed-ora-freedom
...

Now install -libre packages for these. Libre packages will need to add -libre after the kernel part in the package name that are there in the above code block. e.g. previous kernel-core package will become kernel-libre-core in Freed-ora freedom.

sudo yum install kernel-libre-core kernel-libre-modules kernel-libre-modules-extra

Make the newly-installed kernel-libre the default for the next boot:

grubby --set-default=`ls -t /boot/vmlinuz-*libre* | sed 1q`

Then reboot. If you don't reboot, you will see a Problem: The operation would result in removing the following protected packages: kernel-core error when removing the packages.

When you reboot you should see the new "libre" kernel entry in the GRUB menu.

Now you can remove the kernel- packages:

sudo yum remove kernel-core kernel-modules kernel-modules-extra

Now try uname -r. It should say something like 5.2.8-libre.200.fc30.gnu.x86_64. Haha... Libre, baby!

Enjoy freedom!

Ref: https://www.fsfla.org/ikiwiki/selibre/linux-libre/freed-ora.en.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment