Back to good old Debian

Back to good old Debian

IMPORTANT UPDATE: This post is entirely out-of-date due to the fact that the testing branch of Debian (codename Squeeze) was been already upgraded to the 2.26.30 kernel. Please, use one of the official methods of installation instead of following the instructions from this article.

Years ago I made the move from rpm-based systems such as RedHat to Debian due to the efficiency of the apt-get package manager. Then, I discovered Ubuntu, which is a user-friendly and up-to-date derivative of Debian. However, I carry out resource-intensive calculations and 3D-rendering and therefore performance is a priority. As I know a bit more about GNU/Linux now, “userfriendliness” is no longer a priority. The only reason why I did not go back from Ubuntu to Debian was that recent kernels not implemented in the second provided functionality I needed/wanted such as better wireless support and full ext4 support.

Of course, there are other updated distributions based upon Debian, apart from Ubuntu, but I found issues with all I tried. Happily, a Debian developer is now providing an installer image implementing kernel 2.26.30:

http://kmuto.jp/debian/d-i/

I decided to give it a try. The installation is similar to Debian netinstall, but, unlike the official distribution, the custom installer (lenny-custom-0627.iso) is full of bugs. I needed to do the installation in Expert Mode in order to make ext4 partitions. Only the graphical installer worked for me. Each time I made a mistake and/or tried to go back the installation hanged and I needed to force a reboot and start over. If you want to use ext4 for your root partition, you are advised to choose Grub2 (experimental) instead or Grub. You will also need to edit the boot line in grub to add “rootfstype=ext4”, otherwise the system will be unable to boot properly. To add this permanently, edit your /boot/grub/grub.cfg. For example mine was change to:

### BEGIN /etc/grub.d/10_linux ###
menuentry “Debian GNU/Linux, linux 2.6.30-1-amd64” {
set root=(hd0,1)
search –fs-uuid –set 57ff6c0a-c08b-4b22-80db-c265d6dd0275
linux    /boot/vmlinuz-2.6.30-1-amd64 root=/dev/sda1 ro rootfstype=ext4
initrd    /boot/initrd.img-2.6.30-1-amd64
}
menuentry “Debian GNU/Linux, linux 2.6.30-1-amd64 (single-user mode)” {
set root=(hd0,1)
search –fs-uuid –set 57ff6c0a-c08b-4b22-80db-c265d6dd0275
linux    /boot/vmlinuz-2.6.30-1-amd64 root=/dev/sda1 ro single rootfstype=ext4
initrd    /boot/initrd.img-2.6.30-1-amd64
}
### END /etc/grub.d/10_linux ###

After installation and rebooting I discovered that the x-server was not installed (even if I had chosen that option). I installed it by

$ sudo apt-get install xserver-xorg-video-nv

because I have an NVIDIA card. This install the required dependencies. Then I installed Gnome:

$ sudo apt-get install gnome

After rebooting again the usual welcome screen came up.

Next I recompiled the kernel as explained elsewhere, in brief:

$ sudo -i
$ cd /usr/src
$ wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.1.tar.bz2
$ tar jxvf linux-2.6.30.1.tar.bz2
$ ln -s linux-2.6.30.1 linux
$ cd linux
$ apt-get install apt-get install build-essential kernel-package ncurses-base
$ cp /boot/config-2.6.30-1-amd64 .config
$ make menuconfig

I made the following changes:

PROCESSOR TYPE AND FEATURES (Processor Family in my case is Core 2, Preemption Mode changed to Preemptible Kernel, Timer Frequency set to 1000 MHz, set Maximum Number of CPU to 2, optionally, if not required, unchecked Dynamic Ticks, Enable MPS Table, IBM Calgary MMU support, AMD IOMMU Support and EFI Runtime Support).

GENERAL SETUP (RCU Implementation changed to Preemptible, in the Block Layer I/O Schedulers I removed Anticipatory and Deadline and left CFQ).

$ make-kpkg clean
$ make-kpkg –append-to-version=-vanilla kernel_image –initrd binary (double hyphens instead of long hyphens).
$ cd ..
$ dpkg -i linux-image-2.6.30.1*.deb linux-headers-2.6.30.1*.deb
$ update-initramfs -u
$ reboot (but before do not forget to add “rootfstype=ext4” to the relevant lines of /boot/grub/grub.cfg as explained above)

For installing the proprietary NVIDIA drivers, tuning swappiness and other tweaks, see my previous post concerning Ubuntu:

The resulting Debian system is considerably more minimalistic, and therefore more responsive, than Ubuntu.