Booting problem after upgrading to ubuntu hardy (8.04)

28 May, 2008

I’ve been running 8.04 beta for a while now, with kernel 2.6.22-14 the system boots and runs just fine. However, with the recent updates to the kernel 2.6.24-15 and then to 2.6.24-16 the system fails to boot and “hangs” at the “loading” screen with the blue progress bar just moving back and forward. In the trimmed menu.lst only the last option boots.

patrickd@ubuntu:/media$ lsb_release -rd
Description: Ubuntu 8.04
Release: 8.04

===File:/boot/grub/menu.lst===
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=761e8f2c-dd8d-4042-a5bb-2ead0c26c54e ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet

title Ubuntu 8.04, kernel 2.6.24-15-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.24-15-generic root=UUID=761e8f2c-dd8d-4042-a5bb-2ead0c26c54e ro quiet splash
initrd /boot/initrd.img-2.6.24-15-generic
quiet

title Ubuntu 8.04, kernel 2.6.22-14-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=761e8f2c-dd8d-4042-a5bb-2ead0c26c54e ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet

After some back and forth with the ubuntu developers it using this bug report on launchpad, It appeared that the newer versions of the kernel where unable to mount my root partition. Then after some digging about in one of my old note books I discovered that I’d come across the same problem with another distro and at the time the solution was to add “pci=nomsi” to the kernel boot options and thankfully that seemed to have solved the problem this time to.

This workaround enabled my system to boot with the ubuntu 2.4.26-16-generic kernel.

patrickd@ubuntu:~$ uname -a
Linux ubuntu 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux

The workaround for me was to add “pci=nomsi” to the kernel boot options, so the entry in fstab now looks like;

kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=761e8f2c-dd8d-4042-a5bb-2ead0c26c54e ro quiet pci=nomsi splash


Pingus and Pulseaudio on Hardy

30 April, 2008

After installing pingus on ubuntu hardy (8.04) I discovered that the sound only worked when no other applications where using the sound card, which is a bit of a pain. When trying to start pingus from a gnome terminal the following message appeared;

patrickd@battlestar:~$ pingus
Welcome to Pingus 0.7.2!
========================
data path: /usr/games/../share/games/pingus/data/
language: English (en)
font encoding: iso-8859-1
sound support: enabled
music support: enabled
resolution: 800×600
fullscreen: disabled

Unable to initialize SDL_Mixer: No available audio device
Pingus: Unknown throw caught!

The interesting thing about this error is that it doesn’t appear to be pingus specific instead a generic SDL type problem. So, once again after some googling the solution that I came up with is shown below, I had tried a couple of other ones like “$ padsp pingus”, padsp appears to be a wrapper for pulseaudio (which is the default backend for hardy) and “export SDL_AUDIODRIVER=esd et” but this didn’t work either. I even found a post which suggested using “export SDL_AUDIODRIVER=pulse” but again this didn’t work for me. In the end I installed the pulseaudio “driver” for libsdl kind of obvious when you think about it 🙂 ;

patrickd@battlestar:~$ apt-cache search libsdl | grep sdl
libsdl-image1.2 – image loading library for Simple DirectMedia Layer 1.2
libsdl-image1.2-dev – development files for SDL 1.2 image loading libray
libsdl-mixer1.2 – mixer library for Simple DirectMedia Layer 1.2
libsdl-mixer1.2-dev – development files for SDL1.2 mixer library
libsdl-pango-dev – text rendering with Pango in SDL applications (development)
libsdl-pango1 – text rendering with Pango in SDL applications (shared library)
libsdl-ttf2.0-0 – ttf library for Simple DirectMedia Layer with FreeType 2 support
libsdl-ttf2.0-dev – development files for SDL ttf library (version 2.0)
libsdl1.2-dev – Simple DirectMedia Layer development files
libsdl1.2debian – Simple DirectMedia Layer
libsdl1.2debian-all – Simple DirectMedia Layer (with all available options)
libsdl1.2debian-alsa – Simple DirectMedia Layer (with X11 and ALSA options)
libsdl1.2debian-esd – Simple DirectMedia Layer (with X11 and esound options)
libsdl1.2debian-oss – Simple DirectMedia Layer (with X11 and OSS options)
libsdl-console – console that can be added to any SDL application
libsdl-console-dev – development files for libsdl-console
libsdl-erlang – Erlang bindings to the Simple Direct Media Library
libsdl-gfx1.2-4 – drawing and graphical effects extension for SDL
libsdl-gfx1.2-dev – development files for SDL_gfx
libsdl-net1.2 – network library for Simple DirectMedia Layer
libsdl-net1.2-dev – Development files for SDL network library
libsdl-ocaml – OCaml bindings for SDL – runtime files
libsdl-ocaml-dev – OCaml bindings for SDL – development files
libsdl-perl – SDL bindings for the Perl language
libsdl-ruby1.8 – Ruby/SDL interface for Ruby
libsdl-sge – extension of graphic functions for the SDL multimedia library
libsdl-sge-dev – development files for libsdl-sge
libsdl-sound1.2 – Decoder of several sound file formats for SDL
libsdl-sound1.2-dev – Development files for SDL_sound
libsdl-stretch-0-2 – stretch functions for Simple DirectMedia Layer
libsdl-stretch-dev – development files for SDL_stretch library
libsdl1.2debian-arts – Simple DirectMedia Layer (with X11 and aRts options)
libsdl1.2debian-nas – Simple DirectMedia Layer (with X11 and NAS options)
libsdl1.2debian-pulseaudio – Simple DirectMedia Layer (with X11 and PulseAudio options)

patrickd@battlestar:~$ sudo apt-get install libsdl1.2debian-pulseaudio

Now I can happily run amarok and pingus 🙂 I suspect this will probably work for other SDL based games like frozen-bubble.