XML

Linux, as distributed by Linus Torvalds et al, contains non-Free Software, i.e., software that does not respect your essential freedoms.

Linux-libre is a project to maintain and publish 100% Free versions of Linux, removing the offending portions.

Freed-ora is a sub-project that prepares and maintains 100% Free RPMs that track Fedora's non-Free kernels.

Our kernel-libre packages are used by BLAG, a 100% Free distribution based on Fedora.

We thank the FSF for offering us build machines, and BLAG for having offered us build machines and mirrors in the past.

Downloads

The primary download site and its mirrors contain yum repositories with 100% Free kernel source and binary packages for various releases of Fedora. There's a sample yum.repo here.

Packages containing debug information for the kernels are provided in a separate debuginfo repository. They are much larger than the kernels themselves, and of relatively limited use, so not all mirrors carry them.

Stable releases and updates

These are some Freed versions of kernels released by Fedora, as stable releases or updates. Their non-Free counterparts have presumably gone through the Fedora release or update testing process.

Updates under test

These are some Freed versions of kernels published by Fedora for testing purposes. Their non-Free counterparts have presumably gone through some initial testing that precedes the publication as an update candidate for testing.

Random additional builds

These are some Freed versions of kernels ever gone through the Fedora package build system. Neither these packages nor their non-Free counterparts have gone through any quality assurance whatsoever. They might as well fry your machine or wipe out all your data, and you may very well not like that. You have been warned!

Obsolete releases

There are old builds for Fedora 7 and 8 that are Free Software, but that induce users to install non-Free Software. We don't recommend their use, but we still provide them for emergencies, if you can find them :-)

Raw sources

The src directory is a dumping ground for Freed versions of Linux upstream source tarballs, stable and development (-rc and -git) patches. Patches that don't require clean-up are not stored there.

It is organized to simplify its use by the build system. If you are looking for a more organized tree, look in download/releases instead.

SVN repository

Current

The directories in this tree track the kernel package in the Fedora CVS repository. It only contains files that are modified or added in order to make the kernel 100% Free Software.

Tags

These are historical snapshots of earlier versions of the trees above, with CVS tags that enable the complete sources of any earlier builds to be recovered.

Recovering sources and building

First, check out a current or historical tree from FSFLA's Subversion repository, for example:

 svn checkout \
 http://www.fsfla.org/svn/fsfla/software/linux-libre/freed-ora/current/devel

Then, fetch the remaining files from the Fedora CVS repository:

 cvs -z9 update

You don't need a Fedora login. This uses anonymous access to the CVS server to fetch the Free files that we don't duplicate in FSFLA's repository. Files containing non-Free Software won't be downloaded by this command, CVS will show them as locally modified or removed.

Then, use Fedora's infrastructure to fetch the tarballs and patch files:

 make download

At this point you should be ready for Fedora local builds such as:

 make mock
 make x86_64
 make i686
 make noarch

Failure to download sources

Old Freed tarballs or patch files may be removed by the time you try to download them. It is still possible to recover the Freed tarballs and patch files, but it takes a bit more work, and it will involve getting non-Free Software downloaded from kernel.org into your machine.

First, revert the file named upstream to what's in Fedora CVS, then download the sources from kernel.org, and finally revert upstream to what's in SVN:

 cvs diff -u upstream | patch -p0 -R
 make download
 svn revert upstream

You'll notice there are some .xdelta or .xdelta.bz2 files in your tree, whose names resemble those you have downloaded, but with a word 'libre' in them. These are the ones you'll need to clean up the non-Free tarballs and patches into Free ones.

We use xdelta rather than patch files because they're unidirectional, so we don't redistribute the non-Free Software ourselves, not even as a reversible patch meant to remove that non-Free Software. Besides, xdelta supports binary files, so it can be used for the tarballs.

We create xdeltas without internal compression, so that you can have an idea of what's being added by the delta, although not quite see what's being removed.

To recover say the linux-2.6.32-libre.tar.bz2 tarball out of linux-2.6.32.tar.bz2, run:

 bunzip2 < linux-2.6.32.tar.bz2 > linux-2.6.32.tar
 xdelta patch linux-2.6.32-libre.xdelta linux-2.6.32.tar \
              linux-2.6.32-libre.tar
 bzip2 -9 linux-2.6.32-libre.tar.bz2
 rm -f linux-2.6.32.tar
 

The deblobbing approach introduced by Linux-libre doesn't require deblobbing of patch files very often. However, at times non-Free Software is added or moves about during development cycles, or even as part of stable releases. When this happens, you can follow a similar procedure to apply the xdelta so as to form cleaned-up patches.

Be Free!

Last update: 2009-12-08 (Rev 5695)

svnwiki $Rev: 12966 $