Linux-libre

Version of the Linux kernel without proprietary code

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources.
Find sources: "Linux-libre" – news · newspapers · books · scholar · JSTOR (April 2022) (Learn how and when to remove this template message)

|

Linux-libre

Freedo the penguin, mascot of the Linux-libre kernel

Linux-libre kernel 3.0.66-1 booting

Original author(s)| Linus Torvalds et al.
Developer(s)| Free Software Foundation Latin America
Initial release| February 20, 2008; 16 years ago (2008-02-20)[1]
Stable release|

6.7.8-gnu[2] / 3 March 2024

Repository|

* linux-libre.fsfla.org/releases.git

Written in| C and Assembly
Platform| x86-64, i386, IA-32, ARM (Parabola), MIPS (Debian), m68k,[3] RISC-V,[4] IBM POWER8 and above[5]
Available in| English
Type| Kernel
License| GPL-2.0-only[6]
Website| www.fsfla.org/ikiwiki/selibre/linux-libre/

According to the  Free Software Foundation Latin America, Linux-libre is a modified version of the Linux kernel that contains no binary blobs, obfuscated code, or code released under proprietary licenses.[7] In the Linux kernel, they are mostly used for proprietary firmware images. While generally redistributable, binary blobs do not give the user the freedom to audit, modify, or, consequently, redistribute their modified versions. The GNU Project keeps Linux-libre in synchronization with the mainline Linux kernel.[8]

## History[edit]

The Linux kernel started to include binary blobs in 1996.[9] The work to clear out the binary blobs began in 2006 with gNewSense's find-firmware and gen-kernel. This work was taken further by the BLAG Linux distribution in 2007 when deblob and Linux-libre was born.[10][11]

Linux-libre was first released by the Free Software Foundation Latin America (FSFLA), then endorsed by the Free Software Foundation (FSF)[12] as a valuable component for the totally free Linux distributions. It became a GNU package in March 2012.[13] Alexandre Oliva is the project maintainer.

## Proprietary firmware removal[edit]

The GNU logo with Freedo, Linux-libre's mascot

### Methods[edit]

The removal process is achieved by using a script called deblob-main.[14] This script is inspired by the one used for gNewSense. Jeff Moe made subsequent modifications to meet certain requirements for its use with the BLAG Linux and GNU distribution. There is another script called deblob-check,[15] which is used to check if a kernel source file, a patch or a compressed sources file still contains software which is suspected of being proprietary.

### Benefits[edit]

Aside from the primary intended effect of running a system with only free software, the practical consequences of removing device firmware that a user is not allowed to study or modify has both positive and negative effects.

Removal of device firmware can be considered an advantage for security and stability.

When the firmware cannot be audited for bugs, security problems, and malicious functions such as backdoors, or when the firmware cannot be fixed by the Linux kernel maintainers themselves, even if they know of problems, it is possible for the entire system to be compromised by a malicious firmware. Without the ability to perform a security audit on manufacturer-provided firmware, even an innocent bug could undermine the safety of the running system.[16]

### Hardware support[edit]

Removing proprietary firmware from the kernel will cause loss of functionality of certain hardware that does not have a free software replacement available.[8] This affects certain sound, video, TV tuner, and network cards, especially in the case of recent Intel Wi-Fi cards and recent nVidia graphics cards, as well as some other devices. When possible, free software replacement firmware is provided as a substitute,[8][17] such as the openfwwf[18] for b43, carl9170[19] and ath9k_htc[20] wireless card drivers. Reviewer Ramces Red summarized the issue with Linux-Libre, writing, "it does not always have the best hardware support."[8]

### Microcode[edit]

Linux-libre does not suggest the user install CPU microcode update bundles, since the code is proprietary.[21] Microcode update bundles have been used in the Linux kernel version, among other things, to mitigate hardware vulnerabilities.[22]

## Availability[edit]

The source code and precompiled packages of the deblobbed Linux kernel are available directly from the distributions which use the Linux-libre scripts. Freed-ora is a subproject which prepares and maintains RPM packages based on Fedora.[23] There are also precompiled packages for Debian[24] and derived distributions such as Ubuntu.[25]

## Distributions[edit]

See also: Comparison of Linux distributions § Technical

Parabola GNU/Linux-libre uses Linux-libre as its default kernel and ship with linux-libre-tools packages.[26]

### Distributions in which Linux-libre is the default kernel[edit]

* Dragora GNU/Linux-Libre
* dyne:bolic
* GNU Guix System[27]
* Hyperbola GNU/Linux-libre
* Parabola GNU/Linux-libre

Considered small distributions

* libreCMC
* ProteanOS (If the underlying hardware is not supported, it must be ported.[28])

Historical

* Musix GNU+Linux

### Distributions that compile a free Linux kernel[edit]

These distros do not use the packaged Linux-libre but instead completely remove binary blobs from the mainline Linux kernel. The source is then compiled and the resulting free Linux kernel is used by default in these systems:

* Debian (May install binary blobs with the installer or kernel by default.[29][30])

* PureOS

* Trisquel (The Linux-libre deblob script is used during its development[31][32]).

* Uruk GNU/Linux

* Ututo[33]

Historical

* BLAG[34]
* gNewSense[35] (It was based on Debian.)
* Canaima[36] (It was based on Debian.)

### Linux-libre as an alternative kernel[edit]

Distributions in which Linux is the default kernel used and which propose Linux-libre as an alternative kernel:

* Arch Linux[37]
* Fedora[38]
* Gentoo Linux[39][40]
* Mandriva-derived (PCLinuxOS, Mageia, OpenMandrivaLx, ROSA Fresh)
* openSUSE Tumbleweed (via OpenBuildService)
* Slackware[41][42]
* NixOS[43][better source needed]

## See also[edit]

* Free and open-source software portal
* Linux portal

* GNU Hurd, an operating system kernel developed by GNU, which follows the microkernel paradigm
* Libreboot
* LibrePlanet
* List of computing mascots
* Open-source hardware
* Category:Computing mascots

## References[edit]

1. ^ blag-announce (February 20, 2008). "[blag-devel] linux-libre". Archived from the original on November 4, 2023. Retrieved May 25, 2020.
2. ^ "6.7.8-gnu". March 3, 2024. Retrieved March 3, 2024.
3. ^ "Index of /pub/linux-libre/freesh/dists/freesh/main/binary-m68k". linux-libre.fsfla.org. Retrieved October 5, 2020.
4. ^ "Index of /pub/linux-libre/freesh/dists/freesh/main/binary-riscv64". linux-libre.fsfla.org. Retrieved February 7, 2019.
5. ^ "Index of /pub/linux-libre/freesh/dists/freesh/main/binary-ppc64el". linux-libre.fsfla.org. Retrieved February 7, 2019.
6. ^ "Linux-libre - Free Software Directory".
7. ^ "Linux-libre - Free Software Directory". directory.fsf.org. Archived from the original on November 4, 2023. Retrieved September 23, 2022.
8. ^ a b c d Red, Ramces (March 22, 2022). "5 Best Linux-Libre Distributions for Better Security". Make Tech Easier. Archived from the original on April 30, 2022. Retrieved April 30, 2022.
9. ^ "Take your freedom back, with Linux-2.6.33-libre". www.fsfla.org. Archived from the original on November 4, 2023. Retrieved September 23, 2022.
10. ^ Olivia, Alexandre. "GNU Linux-libre and the prisoner's dilemma" (PDF). Free Software Foundation Latin America. Archived from the original (PDF) on November 4, 2023. Retrieved September 23, 2022.
11. ^ jebba: BLAG :: View topic - Linux Libre Archived October 11, 2018, at the Wayback Machine BLAG forums, 2008.
12. ^ Free Software Foundation. "Linux (BLOB free version)". Free Software Directory. Archived from the original on November 4, 2023. Retrieved December 6, 2011. "[...] in the interest of freedom, we are providing a link to a version of the kernel in which this proprietary code has been removed so that it is entirely free software"
13. ^ Oliva, Alexandre (March 19, 2012). "GNU Linux-libre 3.3-gnu is now available" (Mailing list). info-gnu. Archived from the original on November 4, 2023. Retrieved August 7, 2012.
14. ^ Free Software Foundation Latin America. "How it is done". Linux-libre, Free as in Freedo. Archived from the original on November 4, 2023. Retrieved December 6, 2011.
15. ^ "fsfla - Revision 8200: /software/linux-libre/scripts". Free Software Foundation Latin America. Archived from the original on November 4, 2023. Retrieved December 6, 2011.
16. ^ Delugré, Guillaume (November 21, 2010). Reversing the Broacom NetExtreme's Firmware (PDF). hack.lu. Sogeti. Archived from the original (PDF) on April 25, 2012. Retrieved April 18, 2012.
17. ^ "LinuxLibre:Devices that require non-free firmware". LibrePlanet. February 5, 2011. Retrieved April 17, 2012.
18. ^ "OpenFWWF - Open FirmWare for WiFi networks". unibs.it. Archived from the original on September 24, 2015. Retrieved June 14, 2017.
19. ^ "en:users:drivers:carl9170 [Linux Wireless]". kernel.org.
20. ^ "en:users:drivers:ath9k_htc [Linux Wireless]". kernel.org.
21. ^ "GNU Linux-Libre 4.16 Released, Won't Warn You About Spectre/Meltdown Microcode Updates". www.phoronix.com. Archived from the original on November 4, 2023. Retrieved September 23, 2022.
22. ^ "Hardware vulnerabilities". kernel.org. Archived from the original on November 4, 2023.
23. ^ Free Software Foundation Latin America. "Linux-libre's Freed-ora project". Retrieved December 6, 2011. "Freed-ora is a sub-project that prepares and maintains 100% Free RPMs that track Fedora's non-Free kernels"
24. ^ Millan, Robert (April 23, 2009). "Linux-libre for Debian Lenny". [Debian Mailing Lists] Announcements for developers (Mailing list). Retrieved May 12, 2009. "This is to announce that Debian packages of Linux-libre [...] are now available for Lenny users who want to use them [...]"
25. ^ Gündüz, Ali. "Uncle Gnufs' World Famous Home Baked Free Kernel Shoppe". aligunduz.org. Archived from the original on November 9, 2016. Retrieved June 19, 2017.
26. ^ "Parabola GNU/Linux-libre - linux-libre-tools (x86_64) - Group Details". parabola.nu. Retrieved February 16, 2017.
27. ^ "Download – GNU Guix". guix.gnu.org. Retrieved September 23, 2022.
28. ^ "Porting ProteanOS to a New Platform – ProteanOS".
29. ^ "Explaining Why We Don't Endorse Other Systems". Archived from the original on November 2, 2023.
30. ^ "General Resolution: non-free firmware: results". Archived from the original on November 2, 2023. Retrieved November 2, 2023.
31. ^ "Documentation | Trisquel GNU/Linux - Run free!".
32. ^ "How Trisquel is Made". Trisquel GNU/Linux. May 22, 2009.
33. ^ Index of downloads, ututo.org, retrieved 16 February 2017
34. ^ Bruce Byfield (August 1, 2008). "Linux-libre project meets rocky reception". Linux.com. SourceForge, Inc.
35. ^ "/gnewsense/packages-parkes/linux-2.6 : contents of debian/README.gNewSense at revision 16". gnu.org. Retrieved February 16, 2017.
36. ^ Fossi, Damián (August 24, 2009). "Linux-libre: Resumen del proyecto" [Linux-libre: Project summary]. Forja (in Spanish). Archived from the original on February 24, 2010. Retrieved December 6, 2001.
37. ^ Arch Linux (November 16, 2015). "AUR (en) linux-libre". AUR. Retrieved November 30, 2015.
38. ^ "::[FSFLA]:: GNU Linux-libre's Freed-ora project". www.fsfla.org. Retrieved May 25, 2020.
39. ^ O'Kelly, Tim (April 14, 2009). "Bug 266157". Gentoo's Bugzilla. Gentoo Linux. Retrieved October 13, 2020.
40. ^ "Linux-libre". Install Gentoo Wiki. Gentoo Linux. January 8, 2016. Retrieved October 13, 2020.
41. ^ "FreeSlack". freeslack.net. Archived from the original on October 25, 2021. Retrieved August 9, 2016.
42. ^ "installation [FreeSlack Wiki]". freeslack.net. Retrieved August 9, 2016.
43. ^ "Linux kernel - NixOS Wiki". Nixos. July 14, 2023. Retrieved July 14, 2023.

## External links[edit]

Wikimedia Commons has media related to Linux-libre.

* Official website

* v
* t
* e

Linux kernel

Organization|

| Kernel|

* Linux Foundation
* Linux Mark Institute
* Linus's law
* Tanenbaum–Torvalds debate
* Tux
* SCO disputes
* Linaro
* GNU GPL v2
* menuconfig
* Supported computer architectures
* Kernel names
* Criticism

|

Support|

* Developers
* The Linux Programming Interface
* kernel.org
* LKML
* Linux conferences
* Users
* Linux User Group (LUG)

Technical|

| Debugging|

* CRIU
* ftrace
* kdump
* Linux kernel oops
* SystemTap
* BPF

|

Startup|

* vmlinux
* System.map
* dracut
* initrd
* initramfs

ABIs|

* Linux Standard Base
* x32 ABI

APIs|

| Kernel|

| System Call
Interface|

* POSIX
* ioctl
* select
* open
* read
* close
* sync
* …
* Linux-only
* futex
* epoll
* splice
* dnotify
* inotify
* readahead
* …

|

In-kernel|

* ALSA
* Crypto API
* io uring
* DRM
* kernfs
* Memory barrier
* New API
* RCU
* Video4Linux
* IIO

Userspace|

| Daemons,
File systems|

* devfs
* devpts
* debugfs
* FUSE
* procfs
* sysfs
* systemd
* udev
* Kmscon

|

Wrapper
libraries|

* C standard library
* glibc
* uClibc
* Bionic
* libhybris
* dietlibc
* EGLIBC
* klibc
* musl
* Newlib
* libcgroup
* libdrm
* libalsa
* libevdev
* libusb
* liburing

Components|

* Kernel modules
* BlueZ
* cgroups
* Console
* bcache
* Device mapper
* dm-cache
* dm-crypt
* DRM
* EDAC
* evdev
* Kernel same-page merging (KSM)
* LIO
* Framebuffer
* LVM
* KMS driver
* Netfilter
* Netlink
* nftables
* Network scheduler
* perf
* SLUB
* zram
* zswap

* Process and I/O schedulers:
* Brain Fuck Scheduler
* Completely Fair Scheduler (CFS)
* Earliest eligible virtual deadline first (EEVDF)
* Noop scheduler
* O(n) scheduler
* O(1) scheduler
* SCHED_DEADLINE
* SCHED_FIFO
* SCHED_RR

* Security Modules: AppArmor
* Exec Shield
* seccomp
* SELinux
* Smack
* Tomoyo Linux
* Linux PAM

* Device drivers
* 802.11
* graphics
* Raw device

* initramfs
* KernelCare
* kexec
* kGraft
* kpatch
* Ksplice

Variants|

* Mainline
* Linux kernel
* Linux-libre
* High-performance computing
* INK
* Compute Node Linux
* SLURM
* Real-time computing
* RTLinux
* RTAI
* Xenomai
* PREEMPT_RT
* MMU-less
* μClinux
* PSXLinux

| Virtualization|

* Hypervisor
* KVM
* Xen
* OS-level virtualization
* Linux-VServer
* Lguest
* LXC
* OpenVZ
* Other
* L4Linux
* ELinOS
* User-mode Linux
* MkLinux
* coLinux

|

Adoption|

| Range
of use|

* Desktop
* Embedded
* Gaming
* Thin client:
* LTSP
* Server:
* LAMP
* LYME-LYCE
* Devices

|

Adopters|

* List of Linux adopters

* Linux portal
* Free and open-source software portal
* Category

* v
* t
* e

Linux

Linux kernel|

* History
* Linus's law
* Linux-libre
* Booting process
* Kernel oops
* Tux
* more…

Controversies|

* Criticism of Linux
* Criticism of desktop Linux
* GNU/Linux naming controversy
* Tanenbaum–Torvalds debate
* SCO and Linux

Distributions|

* General comparison
* Distributions list
* Netbook-specific comparison
* Distributions that run from RAM
* Lightweight
* Security-focused operating system
* Package manager
* Package format
* List of software package managers

Organizations|

* LinuxChix
* Linux Counter
* Linux Documentation Project
* Linux Foundation
* Linux Mark Institute
* Linux User Group (LUG)

Adoption|

* Adopters
* Desktop
* Embedded
* Gaming
* Mobile
* Range of use
* Linux malware

Media|

* DistroWatch
* Free Software Magazine
* Full Circle
* Linux.com
* Linux Format
* Linux Gazette
* Linux Journal
* Linux Magazine
* LinuxUser
* Ubuntu User
* Linux Outlaws
* Linux Voice
* LugRadio
* LWN.net
* Phoronix
* Revolution OS
* The Code

Professional related certifications|

* CompTIA Linux+
* Linux Foundation
* Red Hat
* Ubuntu

* Linux portal
* Free and open-source software portal
* Category

* v
* t
* e

GNU Project

History|

* GNU Manifesto
* Free Software Foundation
* Europe
* India
* Latin America
* History of free software

Licenses|

* GNU General Public License
* linking exception
* font exception
* GNU Lesser General Public License
* GNU Affero General Public License
* GNU Free Documentation License

Software|

* GNU (variants)
* Hurd
* Linux-libre
* glibc
* Bash
* coreutils
* findutils
* Build System
* GCC
* binutils
* GDB
* GRUB
* GNUstep
* GIMP
* Jami
* GNU Emacs
* GNU TeXmacs
* GNU Octave
* GNU Taler
* GNU R
* GSL
* GMP
* GNU Electric
* GNU Archimedes
* GNUnet
* GNU Privacy Guard
* Gnuzilla (IceCat)
* GNU Health
* GNUmed
* GNU LilyPond
* GNU Go
* GNU Chess
* Gnash
* Guix
* more...

Contributors|

* Alexandre Oliva
* Benjamin Mako Hill
* Bradley M. Kuhn
* Brian Fox
* Federico Heinz
* Georg C. F. Greve
* John Sullivan
* Nagarjuna G.
* Richard M. Stallman

Other topics|

* GNU/Linux naming controversy
* Revolution OS
* Free Software Foundation anti-Windows campaigns
* Defective by Design

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template