= Kernel Compilation Walkthrough = This script is an example how to compile your own Linux kernel 3.0.0-13 variante. This side intended to give you an idea on how to compile the Kernel under Ubuntu Linux. We cannot describe this for all Linux versions you may be working with. 0. You need the following tools. {{{ apt-get install fakeroot build-essential kernel-package libncurses5-dev }}} 1. At first you have to download the Kernel source code. {{{ versn="3.0.0" vers="13" ktype="variante" apt-get source linux-image-$versn-$vers-$ktype }}} * Or use your current version. {{{ apt-get source linux-image-$(uname -r) }}} 2. Go into the new Directory and copy your current kernel config file and configurate it. {{{ cd "linux-$versn" cp /boot/config-$(uname -r) .config make menuconfig }}} * You have to select the IPv6 multicast routing modul. For example: {{{ Networking support ---> Networking options ---> The IPv6 protocol ---> IPv6: multicast routing (EXPERIMENTAL) }}} 3. Generate your own kernel variante and edit some files. {{{ cp debian.master/abi/$versn-$vers/amd64/generic debian.master/abi/$versn-$vers/amd64/variante cp debian.master/abi/$versn-$vers/amd64/generic.modules debian.master/abi/$versn-$vers/amd64/variante.modules cp debian.master/control.d/vars.generic debian.master/control.d/vars.variante }}} * In the file gatabis is a line which starts with "getall amd64 ...". Add "variante" at the end of the line. {{{ --debian.master/etc/getabis vi debian.master/etc/getabis getall amd64 generic server virtual ==> getall amd64 generic server virtual variante }}} * In the file amd64.mk is a line which starts with "flavours ...". Add "variante" at the end of the line. {{{ --debian.master/rules.d/amd64.mk vi debian.master/rules.d/amd64.mk flavours = generic server virtual ==> flavours = generic server virtual variante }}} 4. Apply the Kernel configuration. {{{ mv .config debian.master/config/amd64/config.flavour.variante rm -r include/config/ chmod +x debian/scripts/* chmod +x debian/scripts/misc/* fakeroot debian/rules clean debian/rules updateconfigs }}} 5. Compile the Linux-Kernel. {{{ AUTOBUILD=1 NOEXTRAS=1 skipabi=true skipmodule=true fakeroot debian/rules binary-variante }}} 6. Install the Kernel. {{{ dpkg -i linux-headers-3.0.0-13_3.0.0-13.22_all.deb linux-headers-3.0.0-13-variante_3.0.0-13.22_amd64.deb linux-image-3.0.0-13-variante_3.0.0-13.22_amd64.deb }}}