For the current default stable debian release doesn’t support my chipset, I decided to slipstream my own Debian cd, installer included. I will try to minimalise the amount of packages, for I think the default netboot cd offers still too many. Also, I will use the newest stable kernel: 2.6.19.2 . Because I screwed up my previous ubuntu installation and because the ubuntu installer denies service, I do it all from a live-cd.
root@ubuntu:/home/ubuntu# w-get http://cdimage.debian.org/debian-cd/3.1_r4/ia64/iso-cd/debian-31r4-ia64-netinst.iso
root@ubuntu:/home/ubuntu# mkdir /mnt/iso
root@ubuntu:/home/ubuntu# mount -o loop /home/ubuntu/debian-31r4-ia64-netinst.iso /mnt/iso
ioctl: LOOP_SET_FD: Invalid argument
I can’t figure out what the ioctl error means exactly, some say it’s a module that wasn’t compiled in the kernel, but that is not the problem here. Luckily I found a way to fix it:
root@ubuntu:/home/ubuntu# mkdir /mnt/memory
root@ubuntu:/home/ubuntu# mount -t tmpfs tmpfs /mnt/memory
root@ubuntu:/home/ubuntu# mkdir /mnt/iso
root@ubuntu:/home/ubuntu# cp debian-31r4-ia64-netinst.iso /mnt/memory/
root@ubuntu:/home/ubuntu# mount -o loop /mnt/memory/debian-31r4-ia64-netinst.iso /mnt/iso
So now the iso is extracted/mounted in /mnt/iso. First off, I copied everything to another directory, looked if there are any differences (which weren’t the recursive directory loop warning can be ignored), and set the rights so that I can do the rest as a normal user.
root@ubuntu:/home/ubuntu# mkdir newiso
root@ubuntu:/home/ubuntu# cp -a /mnt/iso/* newiso/
root@ubuntu:/home/ubuntu# cp -a /mnt/iso/.disk/ newiso/
root@ubuntu:/home/ubuntu# diff -crN /mnt/iso/ newiso/
diff: /mnt/iso/debian: recursive directory loop
root@ubuntu:/home/ubuntu# cd newiso/pool/main/
root@ubuntu:/home/ubuntu/newiso/pool/main# chmod -R o+w *
Now, it’s time to compile the kernel.
root@ubuntu:/home/ubuntu# apt-get install kernel-package libncurses5-dev
...
root@ubuntu:/home/ubuntu# w-get http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.2.tar.gz
root@ubuntu:/usr/src# rm -rf /mnt/memory/*
root@ubuntu:/home/ubuntu# cd /mnt/memory
root@ubuntu:/usr/src# tar -xzf /home/ubuntu/linux-2.6.19.2.tar.gz
Ubuntu uses 1.7 GiB according to ‘df’. The default partition (tmpfs) ubuntu creates is 1.9 GiB, while the extracted linux kernel is 557 MiB. Herefor I emptied /mnt/memory first, and extracted it there.
root@ubuntu:/mnt/memory# cd linux-2.6.19.2/
root@ubuntu:/mnt/memory/linux-2.6.19.2# make oldconfig
root@ubuntu:/mnt/memory/linux-2.6.19.2# make-kpkg kernel-image
And then I get stuck with some error during the compiling of the kernel. Busy on figuring out what I did wrong during the configuration of the kernel. You can find my kernel-configuration here.