Search:  
Gentoo Wiki

No-sources

This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

Contents

What is no-sources?

No-sources is a linux kernel patchset (formerly based around the -mm patchset by Andrew Morton) and is considered to be experimental, it contains numerous user-requested features and other things gathered from various sources. In recent releases it also boasts a selectable cpu scheduler offering the user with a choice between multiple schedulers - currently ingosched, staircase, and rsdl (with the possibility of more selections being offered in the future) without the complexity of plugsched's code. No-sources now also includes specific patches for desktop and laptop machines using USE="desktop" and USE="laptop" respectively. See release notes at links below for more information.

"No-sources was founded during the end of love-source's reign by JasonF and myself. Our intention was to create a patchset that would be able to continue on regardless of maintainer and still live in the spirit of -love's original -mm base and featureset. Given there have been numerous changes throughout the release, including different maintainers, but I believe through this philosophy a useful patchset can continue to be made. " -joecool

Installing no-sources

Before installing, it is recommended reading Notes.txt in the release you plan on using, it can be found in the main directory of the kernel (e.g. no.oldos.org/files/2.6.17-no2/Notes.txt) it contains important information about each release.

There are two main ways you can go about downloading -no, the first is the Gentoo way (using the ebuild provided and emerging it) and the second is the DIY (Do It Yourself) way (downloading the patch by hand). Both are provided so that you the user can have a broader understanding of how the process works.

This document was written based the 2.6.17-no2 release. Links to several of the latest no-sources releases are listed below:

Hot-Fixes: can be found in the hot-fixes directory of each release

Kernel VersionNo Release
2.6.17.x2.6.17-no5/ "IMPORTANT: hi"
2.6.17-no4/ "Kickin' With G's On The West Side"
2.6.17-no3/ "Rock Like Ninja"
2.6.17-no2/ "Boozed Into Oblivion"
2.6.17-no1/ "Viva Gorditas!"
2.6.18.x2.6.18-rc2-no1 "No Soup 4 U"
2.6.18-rc4-no1 "Pay Day"
2.6.18-rc4-no2 "To be..."
2.6.18-rc5-no1 "No? Hell No!"
2.6.18-rc6-no1 "Where is the love?"
2.6.18-no1 "Freakin' A"
2.6.18-no2 "Freeze Sucka!"
2.6.20.x2.6.20-no1 "Second Coming_New Beginning"
2.6.20-no2 "Pardon Me? No. Pardon You"

A good place to obtain the ebuilds and required files is: here.

The Gentoo Way

The standard portage lives under /usr/portage. We will create our own under /usr/local/portage.

# mkdir -p /usr/local/portage

In your /etc/make.conf, add the following line:

PORTDIR_OVERLAY=/usr/local/portage
# cd /usr/local/portage
# mkdir -p sys-kernel/no-sources
# cd sys-kernel/no-sources

You can place a copy of the Ebuild into the newly created no-sources directory with any method you wish. Below, we use the wget command only as an example.

# wget http://no.oldos.org/files/2.6.17-no2/no-sources-2.6.17-r2.ebuild

-make sure you get the latest version

Now that you have the Ebuild downloaded, you need to create the package digest and Manifest files. Use this command to calculate these and merge the patchset.

# emerge --digest no-sources

From this point, you may continue with Compiling no-sources.

The DIY Way

First download and unpack the kernel sources.

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2
tar -xvjf linux-2.6.17.tar.bz2 /usr/src/

For release 2.6.17-no2, the 2.6.17-mm2 patch is needed as well as the -no2 patch.

wget http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm2/2.6.17-mm2.bz2
wget http://no.oldos.org/files/2.6.17-no2/2.6.17-no2.bz2

Patch the kernel sources

cd /usr/src/linux-2.6.17
bzcat /path/to/2.6.17-mm2.bz2 | patch -p1
bzcat /path/to/2.6.17-no2.bz2 | patch -p1
cd ..

Now that thats done we can copy our kernel source tree and patch it.

cp -r linux-2.6.17 linux-2.6.17-no2
rm linux; ln -s linux-2.6.17-no2 linux
cd linux

Compiling no-sources

Now we have a patched source tree, all that's left is building the kernel. Also note, that if you have a config file you can copy it over now and run make oldconfig instead of make menuconfig.

make menuconfig
make && make modules_install install

Alternatives you might like

In case no-sources isn't your cup of tea, here are some alternatives.

Conclusion

No-sources is a great patchset for desktop users willing to experiment with new things. It is a very complex patch when compared to others because the the great number of patches and being based on -mm.

Credits

Original Writers: predatorfreak, KateWard

No-sources Rewrite: joecool

No-sources co-founders: JasonF, joecool

No-sources acting maintainer: cheater-conrad

No-sources contributers: predatorfreak, DaMouse (I think, he's weird)

No-sources former maintainers: joecool, bzcat_-patch_p1

Retrieved from "http://www.gentoo-wiki.info/No-sources"

Last modified: Sat, 30 Aug 2008 20:40:00 +0000 Hits: 54,999