Download News How SVN Other downloads Artwork

GNU Linux-libre, Free as in Freedo

Linux, the kernel developed and distributed by Linus Torvalds et al, contains non-Free Software, i.e., software that does not respect your essential freedoms, and it induces you to install additional non-Free Software that it doesn't contain.

GNU Linux-libre is a project to maintain and publish 100% Free distributions of Linux, suitable for use in Free System Distributions, removing software that is included without source code, with obfuscated or obscured source code, under non-Free Software licenses, that do not permit you to change the software so that it does what you wish, and that induces or requires you to install additional pieces of non-Free Software.

Our releases can be easily adopted by 100% Free GNU/Linux distros, as well as by their users, by distros that want to enable their users to choose freedom, and by users of those that don't.

Although UTUTO-e was the first GNU/Linux distro to remove non-Free portions of Linux, GNU Linux-libre follows and improves on the practices established by gNewSense and BLAG.

Free Software Foundation Latin America (FSFLA) joined the (then non-GNU) Linux-libre project as part of its campaign dubbed "¡Sé Libre!", to encourage and enable users to go beyond using some Free Software, and rather seek and choose freedom.


source tarballs tracking upstream releases, from which we removed blobs and code that induces users to install non-Free Software.
The GnuPG keys used to sign source tarballs, patches, Freed-ora packages, and the keys that sign other repositories. For each repository R, there's a corresponding SIGNING-KEY.R in the download tree.
.debs for 32-bit x86 of recent sources. Read more.
.debs for various architectures of the latest sources available. Read more.
.debs of recent sources with real-time support. Read more.
.rpms packages tracking Fedora kernel builds. Read more.
.debs for gNewSense/mipsel, for Lemote Yeeloong laptops. Read more.
(OBSOLETE) .debs tracking Debian kernel builds. Mirrored from Robert Millan's repository.
The repositories above are available from our network of mirrors too.
Other binaries
There are other distributions of GNU Linux-libre binaries from third parties. We maintain a list.


2012-12-11 - GNU Linux-libre 3.7-gnu

Tolerate non-executable deblob-check script, and detect other likely error scenarios that would produce empty files. Fix detection of presence of source files along with pre-built binary counterparts within the source tree. Introduce conditional ihex firmware loading. Adjust for tree reorg within drivers/media. Adjust deblobbing for arm ixp4xx-npe and imx dts, nouveau, rtl8192e, wlcore, gdm72xx, s5k4ecgx, s5p_mfc, xc5000, bfad, ueagle-atm, and tda10071. Deblob daqboard2000, me_daq, ni_pcidio, ezusb_fx2, ste_modem_rproc and wm0010. Drop some of computone, cxgb3, keyspan_pda and whiteheat deblobbing and cleanups.

2012-09-30 - GNU Linux-libre 3.6-gnu

Make deblobbing scripts immune to locale settings. Deblob csr-wifi and wl18xx. Adjust bcm, iwlwifi, wlcore, wl12xx, WiMAX i2400m, Comedi JR3, em28xx-dvb, and r8169. Drop iwmc3200.

2012-07-21 - GNU Linux-libre 3.5-gnu: “Free and a half!”

Deblob af9035 and wlcore. Adjusted deblobbing for nouveau, libertas, wl1251, wl12xx, gdm72xx, r8169, ath6kl, and mwifiex. Dropped 3c359, smctr and tms380tr.

2012-05-21 - GNU Linux-libre 3.4-gnu

Deblobbing news: new az6007 and nfc wilink drivers needed cleaning up; radeon got new blob dependencies; xc5000, lmedm04, em28xx, bna, bnx2x, brcmfmac, iwlwifi, wl12xx, ath6kl and qla2xxx required deblobbing adjustments.

2012-05-18 - New mirror at gnulinux.tv

Jan Prunk set up a new mirror. The server is located in California, USA. Thanks!

2012-04-20 - real-time support in the rt apt repository

Juan Jacobo Nájera has built Linux-libre with real-time support for quite a while, but he's now started uploading his 32- and 64-bit x86 binaries to an apt repository on our servers. To get easy access to the packages, add the following line to your sources.list:

 deb http://linux-libre.fsfla.org/pub/linux-libre/rt squeeze main

2012-03-19 - 3.3-gnu: “3.3 as in freedom.freedom”

Linux-libre joins the GNU Project, becoming GNU Linux-libre. This release, 3.3-gnu, marks the transition, although upcoming stable releases based on earlier -libre releases may become -gnu releases as well. Deblobbing scripts now support .gz, .lz and .xz compressed inputs, in addition to .bz2 and uncompressed ones, and tarballs are now named linux-libre-<kver>-gnu*.tar*. Few deblobbing changes were required for this release: deblobbing of drivers for arm imx, dib0700, it913x, em28xx-dvb, brcmfmac, iwl3945, iwl4965, and rtl8192e needed some adjusting, while wl12xx-sdio-test and snd-intel-sst are no longer present, and sigmadsp code moved about in the tree.

2012-01-05 - gen5 - 3.2-libre

Cleaned up newly-added drivers it913x, ath6kl, mwifi_pcie, usbduxsigma, as102 and r8192e_pci. Adjusted deblobbing for ethernet drivers, moved within the tree, and s5p-mfc. Fixed deblobbing typos in bt8xx, iwlwifi, libertas usb8xxx, vxge, and pcxhr.

2011-10-31 - Wheezy mipsel binaries

James Turner maintains binary .debs of recent Linux-libre releases for Lemote Yeeloong (mipsel) netbooks.

2011-10-24 - gen5 - 3.1-libre

Newly-added xc4000, drxk_hard, em28xx-dvb, s5p-mfc, rtl8192de, adau1701, and sigma cleaned up. Fixed minor deblobbing bug in iwlwifi. Accept nouveau's new built-in FUC with accompanying source code (some nv cards remain limited by the lack of Free microcode). Dropped deblobbing for removed westbridge, ip2main, and myri_sbus drivers. Adjusted deblobbing for mach-imx, ft1000, brcmsmac, brcmfmac, mwifiex, dib7000p, and others.

2011-09-12 - Freesh binaries

Jason Self's Freesh apt repository carries binary .debs for 32- and 64-bit x86 systems, and support for more architectures is planned. Thanks!

2011-07-22 - gen5 - 3.0-libre

Newly-added mwifiex, rtl8192se, vub300, lpfc and wm8994 cleaned up. Updated deblobbing of ath6k, drxd, bnx2x, brcmfmac, rtl8192ce and rtl8192cu. Dropped deblobbing for upstream-removed rt2860 and rt2870.

2011-06-11 - New mirror in Turkey

Gökdeniz Karadağ tells us linux.org.tr is a new Linux-libre mirror. Thanks!

2011-05-19 - gen5 - 2.6.39-libre

Newly-added technisat-usb2, fm_drv (WL128X), rtl8192cu, ums-eneub6250, and snd-usb-6fire cleaned up. Adjusted deblobbing of computone, cyclades, isi moxa_intellio, dib0700, cx23885, bnx2, brcmsmac, iwlegacy, iwlagn, rtl8192ce, rtl8192u, r8712u, and atmel-mxt. Dropped deblobbing of dabusb (driver removed from upstream, with blobs left over) and dx-sep.

2011-03-15 - gen5 - 2.6.38-libre

Nouveau requested blobs again, large ones this time; radeon required more blobs for new cards; newly-added wl1273, rtl8192ce, can_softing, and re-introduced dx_sep depended on blobs; bnx2 and bnx2x had updated blobs as usual; r8169's blobs were moved out of the sources; dabusb, vicam, wl1xx, serial_cs, icom, and serial_qe were moved about in the tree; bcm_wimax and snd_intel_sst required deblobbing updates; 3c359 had its harmlessly-buggy cleaning-up fixed.

2011-01-09 - gen5 - Updated 2.6.27..36

The README blurb, the loading of PCMCIA CIS files and the fix for the message that recommended the installation of non-Free Software were all backported to the following releases:,,,,,,,,,, as well as their baselines 2.6.36-libre1, 2.6.35-libre3, 2.6.34-libre2, 2.6.33-libre1, 2.6.32-libre2, 2.6.31-libre4, 2.6.30-libre3, 2.6.29-libre3, 2.6.28-libre5, 2.6.27-libre5. The deblobbing scripts in 2.6.37-libre were updated with cosmetic changes that did not change the output. Patch files between base releases and from base to patch release are now GPG-signed, compressed with both bzip2 and lzip. The tarballs for older releases, containing the Free Bait freedom bug, were removed, and the xdeltas and scripts moved to old/gen4.

2011-01-05 - gen5 - 2.6.37-libre

New README blurb about Linux-libre, re-enabled loading of PCMCIA CIS files found to be available under Free with sources elsewhere, adjusted Libertas drivers to accept user-specified firmware, fixed error message that recommended the installation of non-Free Software, removed the newly-introduced blobs from 5 new drivers, disabled requests for blobs from 10 new drivers, updated the cleaning up of 5 drivers, removed the deblobbing of 1 blob-dependent and 1 blob-in-sources driver dropped from staging.

2010-11-07 - Linux-libre/planet .debs

Aurélien Desbrières's Linux-libre binaries are now available at an apt repository on our servers and mirrors. To get easy access to them, add the following line to your sources.list:

 deb http://linux-libre.fsfla.org/pub/linux-libre/planet planet main

2010-10-21 - 2.6.36-libre

Deblobbed 2 new blob-dependent drivers, adjusted the deblobbing of 3 others, dropped deblobbing of nouveau, now blob-free, and of a dropped driver. Read the announcement.

2010-08-22 - 2.6.35-libre2

Fixed a deblobbing error in drivers/net/e100.c.

2010-08-03 - 2.6.35-libre1

Fixed a deblobbing error in drivers/media/video/s2255drv.c.

2010-08-02 - 2.6.35-libre, 2.6.34-libre1

Cleaned up 4 new blob-dependent drivers in 2.6.35, fixed a deblobbing error that caused compile errors in r8192S_firmware.c in 2.6.34-libre.

2010-05-18 - 2.6.34-libre

Cleaned up 9 new blob-dependent drivers in 2.6.34, updated cleaning up of a couple others.

2010-02-24 - 2.6.33-libre, generation 4

New, much faster deblob-check, based on Python, GNU awk, PERL or GNU sed, at your choice. Updated for 2.6.33. Blobs are growing faster than Linux. Read the announcement.

2009-12-13 - Linux-libre for Lemote Yeeloong with Freedo

Linux-libre binaries (.deb) for gNewSense metad/mipsel (for Lemote Yeeloong) are available. Compared with the gNewSense binaries, they add a number of modules, and display Freedo as the boot-time logo. Add this line to sources.list:

 deb http://linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense metad main

2009-12-10 - gen3 - 2.6.27-libre3

Released 2.6.27 baseline and deblobbed with updated deblob-check and deblob-2.6.27 scripts.

2009-12-08 - gen3 - 2.6.32-libre, 2.6.31-libre2, 2.6.30-libre1

Updated for 2.6.32, fixed deblobbing bugs (some cosmetic issues, some compile errors in a few drivers in staging, such as ME4000, RT2670, RT2680, and RT3070) in 2.6.31 and 2.6.30. Backported the newer deblobbing of Radeon, R128, and BNX2X to 2.6.30. Untested backports to earlier kernel releases are in the SVN repository.

2009-09-21 - gen3 - 2.6.31-libre1

Fixes deblobbing errors in usbdux staging drivers, reworks the deblobbing of Radeon, R128 and MGA drivers, in preparation for removal of the firmware from upstream, and improves operation with –force for better operation with already-deblobbed kernels and other variants.

2009-09-12 - gen3 - 2.6.31-libre

It's out! 'nuff said.

2009-06-12 - gen3 - 2.6.30-libre

Broadcom b43 WiFi should now work with the Free reverse-engineered firmware. Other than that, this release just updates to the deblobbing machinery to deal with all the upstream shuffling and addition of non-Free firmware and of dependencies on non-Free firmware.

2009-06-09 - gen3 - 2.6.29-libre1, 2.6.28-libre3 and 2.6.27-libre2

This release fixes regressions in e100 and radeon introduced in the gen2 releases, and fixes a few deblobbing errors. Read the announcement.

“Free as in Freedo” T-shirts are on the way

We're going to print T-shirts with Freedo. Check out the design and colors here. Get them first at FISL 10.

2009-04-02 - gen2 - 2.6.27-libre1 released

This release makes the 2.6.27 series suitable for use in Free System Distributions, after backporting and adjusting the clean-ups already available in 2.6.28-libre2 and 2.6.29-libre. is also available.

2009-03-31 - gen2 - 2.6.28-libre2 and 2.6.29-libre released

The 2.6.28-libre2 release fixes a number of problems in 2.6.28-libre1: some compile errors caused by deblobbing, a few missed non-Free firmware names and references to non-Free firmware, and some shell scripting portability issues. is also available.

The 2.6.29-libre release uses the same deblobbing infrastructure as 2.6.28-libre2, but it's updated for 2.6.29, and adapted to deal with the pieces of non-Free firmware and drivers that require external non-Free firmware added to the upstream release.

2009-03-21 - gen2 - 2.6.28-libre1 released at Libre Planet 2009

This is the first release completely suitable for Free System Distributions: not only does it remove non-Free Software (and brings back some data tables that used to be removed in earlier release), it also removes requests for and documentation that induced users to install and use non-Free Software.

Get the slides and the audio of the launch speech at the Libre Planet 2009 web site.

How it is done

The removal of non-Free bits from the kernel Linux is accomplished with the script deblob-main, that in turn uses deblob-<kver> and deblob-check.

deblob-<kver> is inspired in gNewSense's scripts, later customized for BLAG by Jeff Moe, and then further improved as part of the linux-libre project.

deblob-check is a script that you can use to test whether a kernel source file, a patch or a tarball, contains any remaining or suspicious firmware blob.

SVN repository structure

The main script to clean up a linux tarball.
A script that recognizes and optionally cleans up blobs.
Scripts that clean up blobs from within exploded Linux source trees.
More details on usage of these scripts.
See freed-ora.
Scripts and diffs used to maintain freed-ebian packages.
Scripts and diffs used to maintain Linux-libre binary packages for Lemote Yeeloong notebooks.

Other sources of binaries


The hanging penguin picture was taken by Lewis Laë in November, 2007, and he was kind enough to grant us permission to use it as a logo, in private e-mail. Merci beaucoup, lew!

Anyhow, the picture didn't make for a very good logo. The penguin is cute and clean indeed, but he's still a prisoner. That's why we call him Stux.

Burnaron drew the penguin getting out of the shower (thanks!). He posted a vectorial version too. We call him Freetz.

Rubén Rodrígues Pérez gave, erhm, birth to Freetz's younger brother, Freedo, our official (vectorial) logo. The name was suggested by Jeff Moe. Fernando suggested a grey version for printing in fewer colors. The final touches to Freedo were given by Islene Calciolari Garcia and Alexandre Oliva.

Alexandre Oliva combined Freedo with GNU, creating the image at the top of the page (vectorial). Binaries published by the Linux-libre project are going to be configured to display this logo at boot up. If you want to use it too, look for patches named 100gnu+freedo.patch, in directories named after Linux-libre builds within SVN repository. A few kernels used an older variant (vectorial).

Guillaume Pasquet drew Lux, the holy free penguin (thanks!), based on Larry Ewing's original tux; both must be credited for this art work. Here's a vectorial version.

Alexandre Oliva put together the levitating gnu, and Lux, being levitated out of the cage. This picture (and the corresponding sources) are licensed under the same terms as the levitating gnu: GPLv3+ or GFDL1.1 without invariant sections, front or back cover texts.

Last update: 2012-12-11 (Rev 9334)

svnwiki $Rev: 15576 $