Dependencies stored in grey matter

by Oliver on Wednesday, February 2nd, 2011.

I have a Zotac ZBox which I use an my HTPC, and generally it works pretty well. One thing that is slightly troublesome is the HDMI audio, which seems to rely on having the ALSA backports modules package installed in order for it to work. Remembering this is key, though, since when the package is installed it does not automatically get updated when you upgrade the kernel package.

Most packaging systems rely on the fact that you only have the one instance of a package around at a time, and as time passes you upgrade these packages between versions (a notable exception is the Gem packaging system). Kernel packages are the exception to the rule and not only can you have several present on your system at a time, but this is usually desirable so that you can test stabliity, rollback etc. For this reason the version number of the kernel creeps into the package name, making it effectively treated as a unique package (and since the file paths differ, it is unique on disk as well). The DEB package format handles upgrades by way of a meta-package which pulls in the latest version of the kernel package. RPM uses some other magic I can’t recall right now.

In the case of the linux-backports-modules-alsa package, the same idea applies. However where the kernel meta-package pulls in the newer kernel package when there is an update available, it can’t do the same for this package since not everybody wants it installed automatically. Since I do want it installed automatically but am not in a position to change the packages, this puts me in a slightly irritating position. Ideally there would be some hook that I could use to pull in the latest version of this package whenever a new kernel package is installed (and in fact there is, in /etc/kernel/postinst.d/) but anything triggered synchronously with the kernel upgrade will fail since the dpkg transaction is not yet complete and starting a new one will be blocked.

The trigger could in fact schedule an at job to install the newer alsa package a few minutes later, but I don’t like the asynchronous nature of this method and the likelihood of failure (what if I reboot immediately after to activate the new kernel?) although I can’t see an obvious alternative. Does anybody have any suggestions?

The work around for this to prevent having to remember to install the latest version is to make use of the kernel package maintainer hook directory: /etc/kernel/postinst.d. Scripts in this directory are called after installation of a new kernel with the first parameter being the new kernel version in uname -r style format.

Tags: , , , , , , ,

Wednesday, February 2nd, 2011 Tech No Comments


by Oliver on Saturday, October 9th, 2010.

If you’ve been following my excessively techy posts you will be aware that my personal notebook computer has been on the verge of utter failure for some time now. It has come to the point where I can no longer tolerate holding a finger in the “magic” spot to keep the screen alive long enough to update my Facebook status or other meaningless activities, and standing up in front of the TV with the notebook connected by a short cable just wasn’t fun. Not that I need more computers, but the time had come to buy the much-desired Zotac ZBOX HD-ID11.

No, this isn’t a picture of the ZBOX. We’ve been going a bit crazy ordering things from Amazon recently, including a bunch of books which are probably over my head. I recently read through Stasiland and After The Wall on recommendation from some friends (and especially relevant given we are living in the former East Berlin). They both whet my appetite for reading which has been stagnant for some time. Ange has been a long-time fan of Steven Pinker having studied his work during university and we both really enjoyed his talks on TED (if you haven’t seen them, I highly recommend them) usually centred around cognitive science. So I’m currently reading his book How The Mind Works which is a thoroughly good read. The Language Instinct actually precedes the book I’m reading but has been updated recently so that will be next on the reading list.

So, I was most pleased this morning when we returned from our regular visit to Bar Centrale to find a message from DHL in our letterbox (yes, they deliver on Saturdays in Germany!) and went to visit the random neighbour they had decided to leave our stuff with. There is never any indication of exactly what has been dropped off so the excitement levels are always high. I was expecting just books but sure enough the ZBOX was there. I cracked it open and the insides were a little underwhelming (in fact not unlike what a couple of my self-made wireless KVMs looked like) but hey, it certainly gets the job done.

Within minutes I had the 2.5″ SSD and RAM installed. It is really just minimal hardware to facilitate the operation of the box, the real storage will be outside of the unit as large 3.5″ spinning media tends to be large, noisy and hot. Not long after I had the thing back together I realised I was missing a couple of key components – a video cable and some sort of input device (all the other computers in the apartments are notebooks). Medimax furnished me with a very cheap HDMI cable (no, I didn’t spring for the gold-plated Monster cable!) and a wireless keyboard and mouse.

Huzzah! It was a little easier than I expected, getting the unit working with the TV but having never played with HDMI before I didn’t know what to expect. There will be the compulsory compiling of latest ALSA drivers I suspect, to get the audio-over-HDMI functionality working.

Fortunately we already had a USB DVD drive so it was a piece of cake getting Ubuntu installed. At some point I will install the Mythbuntu additions and get this thing functioning as a proper HTPC. There goes my weekends for the next few weeks 😉

Tags: , , , ,

Saturday, October 9th, 2010 Tech 1 Comment