Linux-libre kernel 3.0.66-1 booting
|Developer||Free Software Foundation Latin America|
|Written in||C and Assembly|
|Initial release||February 20, 2008|
|Final release||5.4-gnu / November 25, 2019|
|Platforms||x64, i386, ia32, ARM (Parabola), MIPS (Debian), RISC-V, IBM POWER8 and above|
The GNU Project attempts to keep Linux-libre in synchronization with upstream development of the Linux kernel while removing any software that does not include its source code, has its source code obfuscated, or is released under a proprietary license.
Software components with no available source code are called binary blobs and, as such, are mostly used for proprietary firmware images in the Linux kernel. While generally redistributable, binary blobs do not give the user the freedom to audit, modify or, consequently, redistribute their modified versions.
The Linux kernel started to include binary blobs in 1996. 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.
Linux-libre was first released by the Free Software Foundation Latin America (FSFLA), then endorsed by the Free Software Foundation (FSF) as a valuable component for the totally free Linux distributions. It became a GNU package on March 2012. Alexandre Oliva is the project maintainer.
Proprietary firmware removal
The removal process is achieved by using a script called deblob-main. 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, 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.
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, for security problems, and for malicious operations 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, and without the ability to perform a security audit on manufacturer-provided firmware, even an innocent bug could undermine the safety of the running system.
The downside of removing proprietary firmware from the kernel is that it will cause loss of functionality of certain hardware that does not have a free software replacement available. This affects certain sound, video, TV tuner, and network (especially wireless) cards, as well as some other devices. When possible, free software replacement firmware is provided as a substitute, such as the openfwwf for b43, carl9170 and ath9k_htc wireless card drivers.
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. There are also precompiled packages for Debian and derived distributions such as Ubuntu.
Distributions in which Linux-libre is the default kernel
- Dragora GNU/Linux-Libre
- Guix System Distribution
- Hyperbola GNU/Linux-libre
- Parabola GNU/Linux-libre
Distributions that compile a free Linux kernel
These distros don't use the packaged Linux-libre but instead completely deblob the proprietary Linux kernel with some of the tools to make Linux-libre. The source is then compiled and the resulting free Linux kernel is used by default in these systems:
Linux-libre as an alternative kernel
Distributions in which Linux is the default kernel used and which propose Linux-libre as an alternative kernel:
- Arch Linux
- Gentoo Linux
- Mandriva-derived (PCLinuxOS, Mageia, OpenMandrivaLx, ROSA Fresh)
- openSUSE Tumbleweed (via OpenBuildService)
- Open-source hardware
- GNU Hurd, an operating system kernel developed by GNU, which follows the microkernel paradigm
- List of computing mascots
- Category:Computing mascots
- blag-announce (February 20, 2008). "[blag-devel] linux-libre". Retrieved July 8, 2019.
- "GNU Linux-libre 5.4-gnu". November 25, 2019. Retrieved November 25, 2019.
- "Index of /pub/linux-libre/freesh/dists/freesh/main/binary-riscv64". linux-libre.fsfla.org. Retrieved February 7, 2019.
- "Index of /pub/linux-libre/freesh/dists/freesh/main/binary-ppc64el". linux-libre.fsfla.org. Retrieved February 7, 2019.
- Free Software Foundation (2013), Directory.fsf.org, retrieved 5 January 2014
- Take your freedom back, with Linux-2.6.33-libre FSFLA, 2010.
- Alexandre Oliva: Linux-libre and the prisoners’ dilemma FSFLA, 2009.
- jebba: BLAG :: View topic - Linux Libre Archived October 11, 2018, at the Wayback Machine BLAG forums, 2008.
- Free Software Foundation. "Linux (BLOB free version)". Free Software Directory. 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
- Oliva, Alexandre (March 19, 2012). "GNU Linux-libre 3.3-gnu is now available" (Mailing list). info-gnu. Retrieved August 7, 2012.
- Free Software Foundation Latin America. "How it is done". Linux-libre, Free as in Freedo. Retrieved December 6, 2011.
- "fsfla - Revision 8200: /software/linux-libre/scripts". Free Software Foundation Latin America. Retrieved December 6, 2011.
- 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.
- "LinuxLibre:Devices that require non-free firmware". LibrePlanet. February 5, 2011. Retrieved April 17, 2012.
- "OpenFWWF - Open FirmWare for WiFi networks". unibs.it. Archived from the original on September 24, 2015. Retrieved June 14, 2017.
- "en:users:drivers:carl9170 [Linux Wireless]". kernel.org.
- "en:users:drivers:ath9k_htc [Linux Wireless]". kernel.org.
- 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
- 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 [...]
- 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.
- "Parabola GNU/Linux-libre - linux-libre-tools (x86_64) - Group Details". parabola.nu. Retrieved February 16, 2017.
- 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.
- "/gnewsense/packages-parkes/linux-2.6 : contents of debian/README.gNewSense at revision 16". gnu.org. Retrieved February 16, 2017.
- Index of downloads, ututo.org, retrieved 16 February 2017
- Bruce Byfield (August 1, 2008). "Linux-libre project meets rocky reception". Linux.com. SourceForge, Inc.
- Arch Linux (November 16, 2015). "AUR (en) linux-libre". AUR. Retrieved November 30, 2015.
- "::[FSFLA]:: GNU Linux-libre's Freed-ora project". www.fsfla.org. Retrieved February 7, 2019.
- O'Kelly, Tim (April 14, 2009). "Bug 266157". Gentoo's Bugzilla. Gentoo Linux. Retrieved December 6, 2011.
- "Licenses: Common Setups". Gentoo Wiki. Gentoo Linux. August 6, 2012. Archived from the original on July 18, 2012. Retrieved August 8, 2012.
- "FreeSlack". freeslack.net. Retrieved August 9, 2016.
- "installation [FreeSlack Wiki]". freeslack.net. Retrieved August 9, 2016.
|Wikimedia Commons has media related to Linux-libre.|