2014年6月19日木曜日

Fedora 19 -> Fedora 20 の fedup でハマったこと

# fedup --network 20 -v --debuglog /var/tmp/fedup.log --disablerepo google-chrome 
でエラーなくコマンドが終了したんだけど、一向に grub.cfg が書き換わらず、
仕方ないので fedup のソースを追ったところ boot.py 内で new-kernel-pkg なる
コマンドで grub の設定ファイルをいじっていることを発見。
このコマンドを手動で実行してみるも何のエラーもなし。
-v つけてみたところ、どうも /boot/grub2/grub.cfg は書き込み対象じゃないら
しい。以下のように /etc/grub2.cfg が対象の模様。
$ sudo new-kernel-pkg -v --initrdfile /boot/initramfs-fedup.img --banner 'System Upgrade' --kernel-args 'upgrade systemd.unit=system-upgrade.target plymouth.splash=fedup enforcing=0' --make-default --install fedup
initrdfile is /boot/initramfs-fedup.img
found /boot/initramfs-fedup.img and using it with grubby
/etc/grub.conf does not exist, not running grubby for grub 0.97
/etc/grub2.cfg does not exist, not running grubby for grub 2
/boot/efi/EFI/fedora/grub.cfg does not exist, not running grubby for grub 2 with UEFI
/etc/lilo.conf does not exist, not running grubby
/etc/extlinux.conf does not exist, not running grubby for extlinux
 仕方ないので ln -s /boot/grub2/grub.cfg /etc/grub2.cfg しました。
で、再起動後アップグレード処理が完了。

しかし今度は grub の起動時にFedora20 のカーネルで立ち上がらん。
以下のエラー。
alloc magic is broken at 0x8a9b0360: 73......
Aborted. Press any key to exit.
いろいろ調べたところ、 grub.cfg で initrd を指定するところの
パラメータ名が initrdefi になってなかった(EFIな環境)。
initrdefi /boot/initramfs-3.14.8-200.fc20.x86_64.img
上記に書き換えたら起動した。

あと、起動後音が出なかったのだが、これは以前経験済みで alsaunmute コマンドで
解決。

0 件のコメント:

コメントを投稿