Howto compile kernel 2.6.16.14 on Ubuntu Dapper B2


Recommended Posts

*updated for kernel 2.6.17*

Another ubuntu howto wahey :p

This one is a mission so I hope you have plenty of time on your hands

Kernel

----------

Firstly, you should download kernel 2.6.17 from the kernel.org ftp

ftp://ftp.kernel.org/pub/linux/kernel/v2....-2.6.17.tar.bz2

I suggest this version because various kernel patches can be applied directly to this

get the latest patch for the stable kernel from www.kernel.org

put the kernel and patch in /usr/src and tar xvf filename.bz2 to extract them

cd into the kernel source directory and bzip2 -dc ../patch.bz2 | patch -p1 to patch the kernel source

the latest suspend2 can be downloaded from here:

http://www.suspend2.net/downloads/all/susp....17-rc6.tar.bz2

extract to the /usr/src/linux-2.6.17 folder and ./apply to apply the patches

the latest reiser4 can be downloaded from here:

ftp://ftp.namesys.com/pub/reiser4-for-2.6...-mm1-2.patch.gz

gunzip -dc ./reiser4-for-2.6.17-rc4-mm1-2.patch.gz | patch -p0

now to configure the kernel,

you can either

a) copy the /boot/config-2.6.15-23-k7 to /usr/src/linux-2.6.17/.config to use Ubuntus default configuration

b) you can get the packages from the apt repositories for xconfig and "make xconfig" an X kernel config program and change all the kernel options one by one which will take a few hours

or c) do b) but use my working desktop configuration and select your own sata/raid/network/sound card drivers etc from this

*My config is attached to the bottom*

now we have to compile our kernel, we can do this and make an installable/uninstallable .deb! by using

make-kpkg -initrd kernel_image

this appears in the /usr/src folder

dpkg -i kernel-image-2.6.17-etc to install this kernel

ok so we're all compiled and installed

you need to add this line to the kernel options in /boot/grub/menu.lst -> resume2=swap:/dev/sda3

i.e.

kernel /vmlinuz-2.6.17 root=/dev/sda4 ro quiet splash vga=0x324 resume2=swap:/dev/sda3

edit as applicable (see fdisk /dev/sda or /dev/hda and type p to display partition info to find your swap partition or check your /etc/fstab)

please download and install the hibernate program to use suspend2

You can now reboot, but your system won't be bootable from a reiser4 partition yet, you won't have fglrx/madwifi/rt61 drivers for this kernel either as these have to be recompiled

Reiser4

----------

For reiser4 you will need get the reiser4 packages from the apt universe repository (uncomment all the repositories in /etc/apt/sources.list)

you will also need to get and compile grub with reiser4 support and install it,

I suggest first backing up /boot/grub to /boot/grub.bak,

grab grub from here ftp://ftp.namesys.com/pub/reiser4progs/LATEST_GRUB

tar xvf LATEST_GRUB to extract,

enter the grub-0.97 folder

./configure

make

make install

grub-install /dev/sda (or /dev/hda) this will replace files in your /boot/grub folder

make sure that menu.lst is still there or copy from the backup folder

reboot

make a reiser4 partition by

umount(ing) the partition

then use mkfs.reiser4 /dev/sda8 etc and mount :)

to make a root reiser4 you need a spare partition, I copied my systems files over by backing up the root partition then restoring to the reiser4

tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=cdrom --exclude=/media/cdrom --exclude=/media/cdrom0 --exclude=/root/.Trash --exclude=/home/z3r0/.Trash --exclude=/var/cache/apt/archives /

to restore

tar xvpfz backup.tgz -C /reiser4

Do this otherwise you won't be able to boot

cd reiser4

mkdir /sys

mkdir /mnt

mkdir /proc

mkdir /lost+found

mkdir /dev

cd dev

mknod null c 1 3

mknod console c 5 1

cd /reiser4/fstab and change the mount point of the root partition

my /boot is on a seperate partition so it was just a matter of changing menu.lst to root=/dev/hda8 and all works fine, if you don't have /boot on a seperate partition it may be necessary for you to rexec the grub-install command once you boot into the reiser4 partition

I should also mention that it can get confusing when you install the kernel, it also installs libraries to your current boot partition, if you reboot into an ext3/reiserfs kernel with reiser4 support you can install the kernel to the reiser4 partition with dpkg -i --root=/dev/hda5 kernel-etc

Fglrx

-------

We need to get the fglrx drivers from www.ati.com (8.25.18)

once downloaded type X_VERSION=x690 sh ./ati-driver-installer-8.25.18-x86.run

select the second option - generate distribution specific driver packages

then, if you can see the options :) select ubuntu/dapper and go! it will place .debs in the current directory for your system

you then need to install the fglrx-kernel-sources

go to /usr/src and extract the fglrx.tar.bz2 using tar,

now we can go back to our kernel source folder and

make-kpkg modules_image

this will compile the kernel module and make a .deb,

install with dpkg -i fglrx-kernel-module.deb,

if you have rebooted already to the new kernel you can modprobe fglrx and then press ctrl + alt + backspace to close the xserver and restart it with acceleration enabled, or you can reboot,

you may need to use --force-all command to ignore the dependency error, or just install xorg package generated by the ati installer to satisfy the dependency (not necessary imho)

Madwifi

----------

http://snapshots.madwifi.org/madwifi-ng-current.tar.gz

extract the package and make, make install, modprobe ath_pci, there is a problem with this driver, setting ad-hoc mode with iwconfig ath0 mode ad-hoc doesn't work but you can do this, rmmod ath_pci to unload and then modprobe ath_pci autocreate=adhoc

To set this up on each bootup you can read the readme :p or add the modprobe command to /etc/rc.local

RT61

-------

http://www.ralink.com.tw/drivers/Linux/RT6...v1.0.4.0.tar.gz

extract the package, make, mkdir /etc/Wireless/RT61STA, copy *.bin /etc/Wireless/RT61STA, the same for*.dat <configuration file,edit if bored :p, insmod rt61.ko and it's loaded, you may need to add the insmod command with full path to rc.local, the only problem I found is that you have to specify the channel for the device to start working, weird but true, iwconfig ra0 channel 1 or 2 then 1 whilst pinging from the other machine to check it is working

gl hf

------------------

Troubleshooting

Something Something Something

config.txt

Edited by Z3r0
Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.