Download | News | How | SVN | Other downloads | Artwork

GNU operating system + Linux-libre kernel = 100% Freedom

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.

Stux, a cute penguin.  Few realize he's not Free

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.

Downloads

  • releases: source tarballs tracking upstream releases, from which we removed blobs and code that induces users to install non-Free Software.
  • SIGNING-KEY: 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.
  • planet: .debs for 32-bit x86 of recent sources. Read more.
  • freesh: .debs for various architectures of the latest sources available. Read more.
  • rt: .debs of recent sources with real-time support. Read more.
  • freed-ora: .rpms packages tracking Fedora kernel builds. Read more.
  • lemote/gnewsense: .debs for gNewSense/mipsel, for Lemote Yeeloong laptops. Read more.
  • freed-ebian: (OBSOLETE) .debs tracking Debian kernel builds. Mirrored from Robert Millan's repository.
  • Mirrors: 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.

News

2014-10-05 - GNU Linux-libre 3.17-gnu

Disabled blob loading in the drivers for Intel QuickAssist Technology, Silicon Labs Si2157 and si2165, Broadcom IEEE802.11n PCIE FullMAC WLAN, xHCI support for Renesas R-Car SoCs. Adjusted cleaning up of go7007 driver, moved out of staging. Dropped deblobbing of wlags49h2, wlags49h25, keucr; the drivers were removed. Updated blob names in radeon, si2168, code v4l, s5p_mfc, xc4000, ti-st, ath6kl, brcmfmac, p54, and iwlwifi drivers.

2014-08-07 - GNU Linux-libre 3.16-gnu

Lots of new blobs and blob requests had to be removed for this release: ast_dp501, radeon, drx39xyj, m88ds3103, si2168, s5k5baf, iwlwifi, rsi_91x, rtl8192ee, rtl8723au, rtl8723be, rtl8821ae, bt_nokia_h4p, mxuport, adau1761, and adau1781; dgap and sst-acpi are back after rewrites that required new deblobbing patterns too.

2014-06-08 - GNU Linux-libre 3.15-gnu

Upstream dropped it913x and dgap drivers and added a few new blob names and corresponding requests, all deblobbed in 3.15-gnu. Nouveau and radeon also grew new longish sequences that turned out not to be blobs, so those are explicitly retained.

2014-03-31 - GNU Linux-libre 3.14-gnu: “Freedom Pi”

Dropped checks for aic7xxx_old and cs46xx firmware and sources. Added reject_firmware_direct. Adjusted deblobbing of moved microcode loaders. Updated deblobbing of bnx2x, bt_mrvl, cs46xx. Dropped deblobbing of btmtk (removed upstream).

2014-01-20 - GNU Linux-libre 3.13-gnu

Deblobbed cx24117, vpdma, wcn36xx, and btmrvl. Updated deblobbing of rtl8188eu, em28xx, ath10k, brcmfmac, iwlwifi, readon, and wl1251.

2013-11-03 - GNU Linux-libre 3.12-gnu

Deblobbed msm, pn544_i2c, r8188eu, and dgap drivers. Updated deblobbing of s5p_mfc, bna, and bfa, and added expressions to match several new or modified false positives.

Linked to gdnewhat and slack-n-free as sources of packages.

2013-09-02 - GNU Linux-libre 3.11-gnu: “Linux for freedom-loving Workgroups”

Updated deblobbing of nouveau, radeon, comedi, x86 early microcode loaders. Deblobbed ath10k, cw1200, iwlmvm, mtmtk. Dropped csr_wifi.

2013-07-01 - GNU Linux-libre 3.10-gnu

Updated deblobbing of iwlwifi, csiostor, go7007, siano sms1xxx, and radeon. Disabled non-Free firmware loading of newly-added drivers for btusb, ims-pcu, exynos4 fimc-is, and rtl8188ee. Fixed a deblobbing bug in radeon that affected cayman variants since 2.6.39.

2013-04-28 - GNU Linux-libre 3.9-gnu

Restored the (now Free) firmware loading in ath9k (thanks, Jason Self, for the patches and for the firmware build!). Deblobbed Intel early microcode loader, s5c73m3, rp2, lp5521, lp5523, lattice ecp3, ca0132 dsp. Updated imx sdma, m920x, bnx2x, qlcnic, iwlwifi, mwifiex, wl18xx, wm_adsp deblobbing.

2013-02-19 - GNU Linux-libre 3.8-gnu

Disabled non-Free firmware requests in newly-added drivers xrx200, ar5523, rtl8723ae, csiostor, and wm_adsp, and the new non-Free firmware requests in ath9k and nouveau (falcon). Updated deblobbing of lpfc and gdm72xx. Drop dabusb firmware removal, now removed upstream.

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--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: 2.6.36.3-libre1, 2.6.35.10-libre3, 2.6.34.8-libre2, 2.6.33.7-libre1, 2.6.32.28-libre2, 2.6.31.14-libre4, 2.6.30.10-libre3, 2.6.29.6-libre3, 2.6.28.10-libre5, 2.6.27.57-libre5, 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 2.6.27.41 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. 2.6.27.21-libre1 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. 2.6.28.9-libre2 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- and deblob-check.

deblob- 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.

How to participate

Mirrors

FSFLA

http://www.linux-libre.fsfla.org/pub/linux-libre/

http://www.fsfla.org/selibre/linux-libre/download/

rsync://rsync.linux-libre.fsfla.org/linux-libre/

linux.org.tr

http://ftp.linux.org.tr/linux-libre/

ftp://ftp.linux.org.tr/linux-libre/

rsync://ftp.linux.org.tr/linux-libre/

gnulinux.tv

http://linux-libre.gnulinux.tv/

LSD-IC-Unicamp

http://www.lsd.ic.unicamp.br/~oliva/fsfla/linux-libre/

Robert Millan's Freed-ebian upstream repository (no longer maintained)

http://people.debian.org/~rmh/linux-libre/ (freed-ebian only)

SVN repository structure

Other sources of binaries

Lux, a g[e]nuine holy free penguin

Freetz, our mascot's older brother

Artwork

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.

Freedo, the Linux-libre mascot

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.

GNU playing the flute to free Lux

Be Free!