Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000139Vine Linux1 バグ公開2006-09-05 14:352006-11-17 02:53
anonymous 
daisuke 
不明 
完了不明 
4.0beta 
 
x86
なし
0000139: アップグレードインストールで、ブートローダがインストールされない。また、ファイルシステム破壊
3.2からアップグレードインストールを実施しましたが、再起動時にブートローダが LILOのままになっており、grubに変更されなかった。インストールじは「推奨」のものを選択しています。アップグレードインストール自体は正常に終了しました。
また、3.2を選択し、起動したところ、/etc/init.d/以下のrcスクリプトを実行中に

Mounting static /dev filesystem: [OK]
/etc/sysconfig/modules/udev-stw.modules: line 3: /dev/null: Read-only file system
(これが5回)
Umounting initrd: up2: Bad file descriptor
以後、Error表示が多数発生します。主なものとして
/sbin/splash.sh: line 1: /dev/null: Read-only file system
/etc/rc.sysinit: line 272: /dev/null: Read-only file system
/etc/rc.sysinit: line 284: /dev/null: Read-only file system
/sbin/splash.sh: line 1: /dev/null: Read-only file system
や、ところどころで
dup2: Bad file descriptor
と表示されます。

Give root password for maintenace
と出たので、パスワードを入れ、ファイルシステムを確認しましたが、
# df
/dev/hda2 5044188 3616356 1171596 76% /
/dev/hda1 5044188 3616356 1171596 76% /boot
/dev/hda5 5044188 3616356 1171596 76% /home
none 5044188 3616356 1171596 76% /sys

と異常な構成になってしまいました。さらに、
# fdisk /dev/hda
Unable to open /dev/hda
となります。

システム構成
Pentium III 800 Dual
Memory 1G
SCSI AHA-2940AU

完全に、壊れたかなぁ
設定されていません。
課題の履歴
2006-09-05 14:35anonymous新規課題
2006-09-05 14:51daisuke担当者 => daisuke
2006-09-05 14:51daisuke状態新規 => 担当者決定
2006-09-05 14:51daisukeコメント追加: 0001015
2006-09-05 16:14anonymousコメント追加: 0001016
2006-09-05 18:18kanekoコメント追加: 0001017
2006-09-06 09:36anonymousコメント追加: 0001018
2006-11-17 02:53daisuke状態担当者決定 => 完了
2006-11-17 02:53daisukeコメント追加: 0001019

コメント
(0001015)
daisuke   
2006-09-05 14:51   
> 3.2からアップグレードインストールを実施しましたが、再起動時にブー
> トローダが LILOのままになっており、grubに変更されなかった。インス
> トールじは「推奨」のものを選択しています。アップグレードインスト
> ール自体は正常に終了しました。

現在「推奨」は、すでに入っているブートローダを使うようになっている
と思います。なのでLILOのままになったのは正しい動作です。

> また、3.2を選択し、起動したところ、/etc/init.d/以下のrcスクリプト
> を実行中に

3.2 を選択したということは 2.4 kernel が動いているのだとおもいますが、
4.0用の(2.4 kernel用のstaticな)devはインストールCDには含まれていないた
め、udevもdevもなくデバイスがない状態になっているのだと思います。
2.6 kernel で起動し、dev パッケージをインストールすれば 2.4 kernel
で(一応)動くようになると思います。ですが、Vine Linux 4.0 では kernel
2.4 をサポートしません。
# 表示されたメッセージはすべてデバイスファイルがないためのものです。

> # df
> /dev/hda2 5044188 3616356 1171596 76% /
> /dev/hda1 5044188 3616356 1171596 76% /boot
> /dev/hda5 5044188 3616356 1171596 76% /home
> none 5044188 3616356 1171596 76% /sys
>
> と異常な構成になってしまいました。さらに、
> # fdisk /dev/hda
> Unable to open /dev/hda
> となります。

デバイスファイルがないため正しい情報が取得できなかっただけで、
デバイスファイルが復活すれば元に戻るとおもいます。2.6 kernel
で起動すれば udev が動くので上記問題は解決するのではないかと
思います。

CD upgrade において 2.4 kernel が動かないにもかかわらずブート
ローダで選択できる状態は好ましくないことは確かなので、メニュー
にのせないようにしたいと思います。また、現在は推奨がブートロー
ダを変更しないものですが、GRUBに変えるのをデフォルトにしたほ
うがよさそうです。検討します。
(0001016)
anonymous   
2006-09-05 16:14   
> 現在「推奨」は、すでに入っているブートローダを使うようになって
> いる思います。なのでLILOのままになったのは正しい動作です。

これは勘違いでした。

> CD upgrade において 2.4 kernel が動かないにもかかわらずブート
> ローダで選択できる状態は好ましくないことは確かなので、メニュー
> にのせないようにしたいと思います。また、現在は推奨がブートロー
> ダを変更しないものですが、GRUBに変えるのをデフォルトにしたほ
> うがよさそうです。検討します。

2.4が全く動かなくなるので、アップグレード時には注意が必要ですね。
「推奨」はgrubの方が良いですね。

さて、このシステムを linux rescueで起動し、grubのメニューを手動で書いて、再起動したところ2.6で無事起動しました。

実はその前に、(3.2+4.0 betaアップグレード)を(再)アップグレードしました。このとき、kernelはすでにインストールされていたため、ブートローダが再インストールできませんでした。なので、LILOからGrubに変更するために、rescueが必要でした。
一般論として、4.0のシステムをCDでアップグレードした場合、カーネルとブートローダは再インストールされるべきでしょうか?それとも、されないのが良いのでしょうか?CDで修復できて、起動可能な方がうれしいことが多いかなと思います。
(0001017)
kaneko   
2006-09-05 18:18   
GRUBのメンテナです。
# 最近開発にタッチできてなくてすみません。

> 一般論として、4.0のシステムをCDでアップグレードした場合、カーネル
> とブートローダは再インストールされるべきでしょうか?それとも、さ
> れないのが良いのでしょうか?CDで修復できて、起動可能な方がうれし
> いことが多いかなと思います。

カーネルは、アップグレードされたものを前提にシステムが構築されているので、
アップグレードされるべきです。

マルチブートで別のOS(Windowsなど)をブートするように設定しているシステムを
想定すると、ブートローダは変更されない方がうれしい場合もあると思います。
アップグレード前のlilo.confやmenu.lstが、現在のシステムのブートローダで参照
されているという保証もないですし。

しかし、「他のOSのことは構わずに、ブートローダはVineのkernel2.6(だけ)を
使うように変更する」というのが一つの解でしょう。ひとまずそこがブートすれば、
あとは例外的な使用法に合わせて、ユーザーが個々にブートローダの設定を変更
すればよいかと…。そうすればCDで修復する必要もないでしょうし。

どうでしょうか?
(0001018)
anonymous   
2006-09-06 09:36   
> > 一般論として、4.0のシステムをCDでアップグレードした場合、カーネル
> > とブートローダは再インストールされるべきでしょうか?それとも、さ
> > れないのが良いのでしょうか?CDで修復できて、起動可能な方がうれし
> > いことが多いかなと思います。
 (略)
> マルチブートで別のOS(Windowsなど)をブートするように設定している
> システムを
> 想定すると、ブートローダは変更されない方がうれしい場合もあると思
> います。
> アップグレード前のlilo.confやmenu.lstが、現在のシステムのブートロ
> ーダで参照
> されているという保証もないですし。

インストーラ中で、ブートローダの扱いを聞く画面があります。
今回の場合、Grubを使用するところにチェックしましたが、既にカーネルがインストール済だったので、ブートローダのインストールも無視されました。
ブートローダをインストールしないと言う選択肢もあるので、そのときのユーザの意向を反映できる方が、仕様上好ましいような気がします。
(0001019)
daisuke   
2006-11-17 02:53   
カーネルが更新されなかった場合に boot loader を更新しないのは
正しい処理だと思ますし、そのほうが安全です。カーネルをかならず
インストールしてブートローダも入れ直す ということであれば、
そういう仕様もアリだとはおもいますが、少なくとも 4.0 では対応
はしません。