Switch from old ATA/IDE driver to libata

Today I switched to libata on my laptop. Libata now not only handles SATA anymore, but also got PATA support. Read more here. I suppose I’m early with that switch, libata for PATA is still marked experimental… but sooner or later this will be standard.

On the surface there is not much change, except that my harddisk is /dev/sda now instead of /dev/hda (what caused me to have to change a few scripts and configs here and there). The optical drive is now /dev/sr0 instead of /dev/hdb.

If you want to switch, too, here is what you basically have to do:
In menuconfig, deactivate the whole “ATA/ATAPI/MFM/RLL support” tree under Device Drivers – this is the old driver architecture – nothing inside is needed anymore. Then go to “Serial ATA (prod) and Parallel ATA (experimental) drivers” (which will probably get renamed soon 😉 ). Activate “ATA device support” and find the right option for your IDE controller. My laptop has an ICH 7 built in (00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)).
Now here is one thing which took me a while. Because I never needed /dev/sd* devices in an early stage of booting, I had “Device Drivers / SCSI device support / SCSI disk support” (CONFIG_BLK_DEV_SD) only compiled as module. But modules can only be loaded after the Kernel can access the root partition. So make sure this option is compiled into the kernel.
Then change your GRUB config so that root=/dev/hd* is root=/dev/sd* now. Furthermore you need to adjust the /dev/hd* entries in your /etc/fstab to also read as /dev/sd*.
After building the kernel you should be able to boot your system as normal.

I had another minor complication involving udev: It symlinked /dev/cdrom7 to /dev/sr0. Why the hell 7? I only have exactly one optical drive in my laptop. After poking around a bit in /etc/udev, I figured out that there was some cruft in /etc/udev/rules.d/70-persistent-cd.rules. After I deleted it and re-initialised udev (“udevstart”), the file respawned without the cruft, and I have my good old /dev/cdrom symlink back (which links to /dev/sr0).

That’s it. Enjoy the new technology 🙂 I bet in a few years, we will consider /dev/hd* device names as archaic relics from long gone times 😉

RedHat Liberation Fonts

Today I discovered that RedHat released a set of fonts under GPL which are approximately metrically equivalent to the most used Microsoft fonts.

Arial ~ Liberation Sans
Times New Roman ~ Liberation Serif
Courier New ~ Liberation Mono

The Liberation fonts are not yet complete (no full hinting, yet), still they look quite good already, in my opinion. The fonts will be complete at the end of this year.

Read more here: RedHat’s announcement

Download the package containing the three truetype fonts here: Download

Thanks to RedHat! 🙂

There is still one thing though: We should have a free font like “Arial Unicode MS”, containing all the characters you can think of… right now I still have to use Arial Unicode MS as fallback substitution, because there are only very few chinese characters in the Liberation fonts.

UPDATE (2007-06-13):
A small sample of the Liberation Sans font, rendered by Qt / KDE with anti-aliasing and full sub-pixel hinting (RGB), hinting style: full:

Sample of the Liberation Sans font

New SSL certificates

Today I got two mails from StartSSL that my certificates (valid for one year) are about to expire. So I went through the process of obtaining new ones, and just now I finished installing them (one on my webserver for https://patrick-nagel.net and one on my mailserver (mail.patrick-nagel.net)). I think it took me half a week to figure everything out the first time (one year ago), but this time it went quite smoothly, within an hour or so.

Thanks to StartCom for that service! 🙂