HOWTO no-sources

From Gentoo Linux Wiki

(Redirected from HOWTO nitro-sources)
Jump to: navigation, search
This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

Contents

[edit] 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

[edit] 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 Version No Release
2.6.17.x 2.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.x 2.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.x 2.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.

[edit] The Gentoo Way

  • Create a Gentoo overlay structure

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

# mkdir -p /usr/local/portage
  • Configure Gentoo to use the overlay structure

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

PORTDIR_OVERLAY=/usr/local/portage
  • Create overlay structure for the non-standard no-sources build
# cd /usr/local/portage
# mkdir -p sys-kernel/no-sources
# cd sys-kernel/no-sources
  • Install Ebuild

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

  • Install The Sources

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.

[edit] The DIY Way

  • Steps to compiling no
    • Read the current Notes.txt for the release, it contains important information
    • Download the kernel sources
    • Download the patches for -mm and -no (and possibly incremental patches)
    • Extract the kernel sources
    • Patch the kernel
    • Compile the kernel

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

[edit] 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

[edit] Alternatives you might like

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

  • beyond-sources: Previously ArchCK, the Beyond patchset is an experimental patchset designed for desktop usage, including -ck's features for increased performance, as well as additional hardware support. Beyond is the result of merger of ArchCK and Nitro patchset. Now maintained by iphitus and Tiger683.
  • emission-sources: E-Mission Sources is based on the Lockless Pagecache by Nick Piggin, GenPatches, and CK. Now maintained by vipernicus and astorm.

[edit] 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.

[edit] 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

Personal tools