Linux-libre

Last updated

Linux-libre
Original author(s) Linus Torvalds et al.
Developer(s) Free Software Foundation Latin America
Initial releaseFebruary 20, 2008;16 years ago (2008-02-20) [1]
Stable release
6.7.6-gnu [2]   OOjs UI icon edit-ltr-progressive.svg / 23 February 2024
Repository
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]

Contents

History

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

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

Methods

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

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

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

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

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

Parabola GNU/Linux-libre uses Linux-libre as its default kernel and ship with linux-libre-tools packages. Parabola13.png
Parabola GNU/Linux-libre uses Linux-libre as its default kernel and ship with linux-libre-tools packages.

Distributions in which Linux-libre is the default kernel

Considered small distributions

Historical

Distributions that compile a free Linux kernel

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:

Historical

Linux-libre as an alternative kernel

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

See also

Related Research Articles

<span class="mw-page-title-main">Free software</span> Software licensed to be freely used, modified and distributed

Free software, libre software, or libreware is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

<span class="mw-page-title-main">GNU</span> Free software collection

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

<span class="mw-page-title-main">GNU Project</span> Free software project

The GNU Project is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.

<span class="mw-page-title-main">FOSDEM</span> Annual event in Brussels centered on free and open source software development

Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and open-source software movement. It aims to enable developers to meet and to promote the awareness and use of free and open-source software.

Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, including how quickly security upgrades are available; ease of package management; and number of packages available.

coreboot Open-source computer firmware

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

<span class="mw-page-title-main">Ututo</span> Entirely free Linux distribution

Ututo is a Linux distribution consisting entirely of free software. The distribution is named for a variety of gecko found in northern Argentina.

In the context of free and open-source software, proprietary software only available as a binary executable is referred to as a blob or binary blob. The term usually refers to a device driver module loaded into the kernel of an open-source operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.

<span class="mw-page-title-main">Linux</span> Family of Unix-like operating systems

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.

gNewSense Linux distribution

gNewSense was a Linux distribution, active from 2006 to 2016. It was based on Debian, and developed with sponsorship from the Free Software Foundation. Its goal was user-friendliness, but with all proprietary and non-free software removed. The Free Software Foundation considered gNewSense to be composed entirely of free software.

GNU variants are operating systems based upon the GNU operating system. According to the GNU project and others, these also include most operating systems using the Linux kernel and a few others using BSD-based kernels.

<span class="mw-page-title-main">Trisquel</span> Linux distribution based on Ubuntu

Trisquel is a computer operating system, a Linux distribution, derived from another distribution, Ubuntu. The project aims for a fully free software system without proprietary software or firmware and uses a version of Ubuntu's modified kernel, with the non-free code removed. Trisquel relies on user donations. Its logo is a triskelion, a Celtic symbol. Trisquel is listed by the Free Software Foundation as a distribution that contains only free software.

<span class="mw-page-title-main">GNU IceCat</span> Firefox derivative recommending only free software

GNU IceCat, formerly known as GNU IceWeasel, is a completely free version of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and macOS.

The following outline is provided as an overview of and topical guide to free software and the free software movement:

<span class="mw-page-title-main">BLAG Linux and GNU</span> Linux distribution

BLAG Linux and GNU is a discontinued Linux distribution that was made by the Brixton Linux Action Group.

<span class="mw-page-title-main">Uruk GNU/Linux</span>

Uruk GNU/Linux-libre is a PureOS-based Linux distribution. The name Uruk is an Iraqi city that states its Iraqi origin. Uruk GNU/Linux 1.0 was released on 13 April 2016 and it ships with the most common software for popular tasks.

<span class="mw-page-title-main">ROCm</span> Parallel computing platform: GPGPU libraries and application programming interface

ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains: general-purpose computing on graphics processing units (GPGPU), high performance computing (HPC), heterogeneous computing. It offers several programming models: HIP, OpenMP/Message Passing Interface (MPI), and OpenCL.

References

  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.6-gnu". February 23, 2024. Retrieved March 1, 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. 1 2 3 4 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.