Обновление на openSUSE 11.4

Обновляюсь с openSUSE 11.3 на openSUSE 11.4. zypper dup сначала радостно снес у меня пакет liblzma0-4.999.9beta, а через мгновение rpm выяснил, что не может почему-то запуститься без lzma0, жалобно смотрел на меня и говорил:
rpm: error while loading shared libraries: liblzma.so.0: cannot open shared object file: No such file or directory
Тут все бы и закончилось, если бы я не скачал и не подсунул нужную библиотеку ему.

upd: тут в комментариях умные люди сделали правильные оргвыводы. zypper addlock liblzma0, либо обновляться с http-репозитория, а не с DVD.

openSUSE Build Service: kvm с поддержкой virtio

Инструкция по созданию образа initrd с поддержкой virtio. В файле
/etc/sysconfig/obs-worker должно быть указано, где какие образы искать рабочим(а то сами они могут не то найти), кроме того, там указана файловая система, которую вы желаете использовать для виртуальных дисков (у меня по умолчанию был ext3). По идее, файловая система важна только чтобы initrd смог потом её смонтировать.

rootfstype="ext4" mkinitrd -d /dev/null -m "binfmt_misc virtio_pci virtio_blk" -k /boot/vmlinuz -i /boot/initrd-virtio -S

Создаст специальный initrd, который потом можно скормить сборщикам. Важно указать rootfstype, иначе mkinitrd начинает пытаться определить тип файловой системы у /dev/null и ругается.

upd: В скором времени восприятие /dev/null было окончательно починено (поломано). Несмотря на то, что скрипт build до сих пор содержит напоминание о ключе -d /dev/null, эта опция больше не работает. Самым простым способом оказалось копирование /lib/mkinitrd куда-нибудь в сторону и наглое исправление файла scripts/setup-storage.sh:
@@ -331,9 +331,10 @@
             fstype=nfs
             ;;
         /dev/*)
-            if [ ! -e "$dev" ]; then
-                error 1 "$name device ($dev) not found"
-            fi
+       fstype=$rootfstype
             ;;
         *://*) # URL type
             fstype=${dev%%://*}

После чего следует использовать команду:

rootfstype="ext4" mkinitrd -d /dev/vda -m "binfmt_misc virtio_pci virtio_blk" -k /boot/vmlinuz -i /boot/initrd-virtio -S -l /path/to/lib/mkinitrd