Issue 25/2006 of the c’t magazine included a DVD with the (at that point) new Ubuntu 6.10 Edgy Eft Linux distribution. And because the grass is always greener on the other side on the other side of the fence I decided to install it on one of my PCs recently.
My first surprise was that Ubuntu’s famous graphical installer didn’t work on my hardware at all. The Linux on the DVD displayed a splashscreen which doesn’t work properly with my ATI Radeon X850 XT and disabled the text consoles. That wouldn’t have mattered if the X11 server would have worked. But unfortunately it crashed immediately which left the box completely unusable. This was somewhat of a surprise because the X.org 6.9 server I was using under NetBSD worked fine.
I reset the machine and selected the expert mode installation. Because it is text mode based it work without problems. The expert mode is flexible and comfortable at the same time. It took less than half an hour to finish the installation on my 3GHz Pentium 4 system with a reasonably fast SATA harddisk.
When the system came up after the installation I was stuck again: the text consoles were unusable, the X11 server wouldn’t start and no SSH service was availabe. I had to reboot the machine hard, boot it into single user mode and turn off the splash screen in the grub configuration. I brought the machine up, installed and configured the OpenSSH server package to be able to login remotely. Searching the web I found various hints and finally got the X11 server working. I’m not completely sure what really went wrong initially because now both the X.org radeon driver and ATI’s proprietary driver work fine. My best guess is that the ATI driver didn’t work without a configuration file, crashed the X11 server and the X.org driver was never loaded. But the splash screen is definitely something that the Ubuntu developers should get rid of or at least turn it off by default. I like eye candy but it should never get in the way of using the system. Hmm, why does Windows Visto come to my mind?
The next thing I did was updating all the installed packages to get security fixes. Thanks to APT it was really easy and did only take a few minutes. After the necessary reboot because of the kernel update I began to add a lot of extra packages: zsh, emacs, mutt, autofs, NIS client, WindowMaker and a lot more. Some of the package (e.g. NIS client) even provided an interactive setup which was very convenient. I was especially impressed by Linux’s automounter which was easy to setup (because my NIS server provides Solaris style automounter maps) and works much better than NetBSD’s amd(8).
The following day I wanted to configure IPv6 which turned out to be somewhat difficult. It is hard to find any documentation how to do that under Ubuntu. Most of the web pages that Google finds tell you how to turn IPv6 off because it makes Firefox a bit faster in some broken network setups. I finally found a web page which explained how to configure IPv6 under Debian. And because Ubuntu uses the same network configuration tool I got IPv6 working following those instructions. The only remaining problem was that the Linux kernel insisted on using stateless IPv6 autoconfiguration. It took me several hours to figure out how to turn that off. The main problem was to get sysctl to work as desired:
- None of the IPv6 related kernel parameters are available when one of the startup scripts reads /etc/sysctl.conf. Adding the ipv6 module to /etc/modules to get it loaded early enough fixed that problem.
- Although the Linux kernel provides global settings to disable stateless autoconfiguration you have to disable it on the particular network interface, too. This is again tricky because the necessary kernel parameters aren’t available before you configure the interface.
I ended up with the following settings in /etc/sysctl.conf:
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.all.accept_ra=0
The interface configuration in /etc/network/interfaces looks like this:
iface eth0 inet6 static
up /sbin/sysctl -q -w net.ipv6.conf.eth0.accept_ra=0 && /sbin/sysctl -q -w net.ipv6.conf.eth0.autoconf=0
address 2001:...:3
netmask 64
gateway 2001:...:1
You would think that one of the above configuration changes should be enough. But for some weird reason you need both of them. I really prefer NetBSD’s approach to IPv6 interface configuration:
- Stateless autoconfiguration is off by default.
- Sending the ICMP Router Solicitation messages is handled by an userland application called rtsol(8).
I spend a bit more time to get the sound (/etc/asound.conf was missing) and 3D acceleration (DRI doesn’t work before you disable the TV output in /etc/X11/xorg.conf) working and finally got to a useful desktop configuration. But besides the better performance of GL blankers in xlockmore there wasn’t much difference to the previous NetBSD-i386 4.0_BETA2 setup.
The next day Firefox 2.0.0.2 was released. Because the new release included several security fixes I immediately downloaded the precompiled Mac OS X distribution and installed in on my Power Mac G5. Later on the same day Geert Hendrickx updated the Firefox 2.x package in pkgsrc and I could update the Firefox package on my NetBSD server, too. I also tried to update the Ubuntu system via apt-get. But an update for Firefox wasn’t available. Today, more than a week later, the update for the Firefox package was finally released. But other security fixes e.g. for GnuPG or Wireshark are still missing.
Ubuntu looks promising and I especially like their code of conduct. The NetBSD project could definitely use some of that spirit. But an operating system distribution without timely released security fixes isn’t very useful, at least not for me. Security fixes don’t always get released as timely in NetBSD land as I would like them to. But in contrast to Ubuntu NetBSD doesn’t have a company and a lot of money behind it. And I know how to update things in pkgsrc if I have to.
Katie and MArcus’s machines wouldn’t work at all without a prodigious amount of swearing and hacking. If you tried to do anything on the framebuffer with the wrong settings the ATi would throw a hissy fit and refuse to show anything useful on the screen until you rebooted.
Eventually I found the correct X options and the proprietary drivers worked.
nVidia for the win!