Heute hatte ich etwas Stress mit meinem Ubuntu-9.10 System.  Der Rechner wollte nicht booten und lieferte nach dem Boot-Menü die Fehlermeldung

Gave up waiting for root device. Common problems
- Boot args (cat /proc/cmd/line)
  - Check rootdelay= (did the system wait long enough?)
  - Check root= (did the system wait the right device?)
- Missing modules (cat /proc/modules;ls /dev)
Alert! /dev/disk/by-uuid/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx does not exist

Da sowohl bei Grub2, als auch in der fstab alle Partitionen per UUID angesprochen wurden ein ernsthaftes Problem. Als ich ein Testsystem von Ubuntu 10.04 gestartet habe war die Partition auch per UUID erreichbar und keine Fehler auf der Festplatte erkennbar.

Ich habe den Rechner dann mit einer Grub-Shell erfolgreich starten können mittels:

set root=(hd0,6)
linux  /vmlinuz  root=/dev/sda6
initrd  /initrd.img
boot

Das System startete auf diese Art. Es war dann aber wirklich die Partition sda6 nicht per UUID erreichbar.  In /dev/disk/by-uuid fehlte der Link auf die Partition und

blkid

lieferte Informationen über alle Partitionen außer sda6. Mittels

blkid -p /dev/sda6

kann man Informationen erzwingen, aber hier kam nur ein Hinweis auf verschiedene Partitionstypen.

ambivalent result (probably more filesystems on the device)

Es scheint sich hierbei um ein unglückliches Zusammenspiel mehrerer normalerweise unauffälliger Fehler zu handeln, zumindest unter 10.04 tritt das Problem so nicht auf. Eine Beschreibung habe ich dann unter http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg2057379.html gefunden.

Minix uses the "magic number" 137f, 138f, 2468,2478,  at  the location 0x410   to mark a Minix file system.
- 0x410 is also the location any ext filesystem uses to record the number of free inodes.
- (The number of free inodes is essentially the number of files you are still able to create on the file system)
+ 0x410 is also the location any ext filesystem uses to record the number
+ of free inodes.

  In  decimals  those four umbers are  4991,5007,9320,9336

  If the number of free inodes happens to  be one of those four numbers plus a multiple of 65536,
  then  the  ext filesystem will write  one of the four  Minix magic numbers  to the 0x410 location.

Bei einer unglücklichen Zahl von freien Inodes in der Partition lässt sich blkid irritieren und die Informationen z.B. über die ID werden nicht richtig gelesen.

Die Lösung ist im Prinzip einfach. Man muss nur einen einzigen zusätzlichen Inode belegen oder freigeben. Mein System hätte ich also nur rebooten müssen, ich hatte es ja zum Laufen gebracht und damit die Zahl der Inodes verändert.

Da unklar ist, wann dieses Problem mal wieder auftritt habe ich lieber von UUID auf Devices umgestellt. Dazu muss man einerseits die /etc/fstab umstellen, die notwendigen Informationen finden sich dort aber als Kommentare. Dann muss man die Grub2-Konfiguration umstellen.

Am Ende der Datei /etc/default/grub muss man ein Kommentarzeichen entfernen, damit GRUB_DISABLE_LINUX_UUID=true aktiv wird

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

Nun noch die Konfiguration neu erzeugen lassen mittels:

update-grub

und dann steht einem Reboot nichts mehr im Wege. Das Ändern der /etc/default/grub ist nicht mal unbedingt notwendig, da update-grub die Partition perr UUID nicht findet und dann von sich aus mit den Device-Bezeichnungen arbeitet.

Bei der Recherche zu diesem Problem habe ich zusätzlich gelernt, dass die UUID per tune2fs und per mkfs gesetzt werden kann.

Bei Typo3 benutze ich gern simulateStaticDocuments um nettere URLs zu bekommen. Bei den aktuellen 4.3.x-Versionen muss man dabei aufpassen, dass die Extension Simulate Static URLs (simulatestatic) aktiviert ist.

In dieser Typo3-Version wurden einige Funktionen in System-Extensions ausgelagert, so auch diese Funktion. Standardmäßig ist die Extension aber nicht aktiviert.