Debian Wheezy - Oprava bugu s UUID

Pokud se Vám na Wheezym nelíbí dlouhý symbolické linky a nefunguje Vám oprava v /etc/default/grud jako mě, pak je tento návod určen právě Vám.

Wheezy identifikuje root / filesystem pomocí příkazu df jako
/dev/disk/by-uuid/fde9addb-5ecc-4774-9d9f-8ac95fd0c5fe
což způsobuje že je výstup dlouhý a nečitelný na terminálech s 80 sloupci. Oprava by měla být jednoduchá - editací /etc/default/grud a odkomentování řádku

GRUB_DISABLE_LINUX_UUID=true

s následným spuštěním příkazu

update-grub

By mělo bez problému fungovat. Mohou se však vyskytnout i případy, kdy systém nenabootoje. Pro takové je tu řešení složitější - leč řeší problém přímo u zdroje - initramfs.

Podstatou je založení skriptu v /etc/initramfs-tools/scripts/local-premount/rootdevice

#!/bin/sh
#  Mimic a "normal" mount of root device by translating the device link 
#  (UUID or LABEL) to the actual device.

set -e

[ "$1" = prereqs ] && exit 0

REALROOT=`readlink -f ${ROOT}`
[ "${REALROOT}" ] && echo "ROOT=${REALROOT}" >> /conf/param.conf

exit 0

Dále je potřeba nastavit patřičná oprávnění

chown root:root /etc/initramfs-tools/scripts/local-premount/rootdevice
chmod +x /etc/initramfs-tools/scripts/local-premount/rootdevice

aktualizovat initfamfs (jako root)

update-initramfs -u

A rebootovat system. Od této chvíle používá df a mount krátké označení pro název zařízení.