初心者もOK! FreeBSD質問スレッド まとめサイト @Wiki FreeBSD5.4でad4からいつもブートさせるには

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

FreeBSD5.4でad4からいつもブートさせるには

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
FreeBSD 5.4-RELEASEをIDEのthird master(ad4)から起動しようと
しています。当然boot時に ad(4,a)/kernel と書けば起動する
状況にはなっているとして、
http://www.jp.freebsd.org/QandA/HTML/87.html
このQ&Aのようにad4をad0として認識させる事はできないでしょうか。

devfsのおかげでこういうkernel config fileの書き方は無くなって
いるようですので、5.0以降ではどういう方法があるのか教えて
いただけませんでしょうか。


ところでこのQ&A 87ですが、
config        kernel root on wd1
と書くぐらいならここに root on wd2 とすればwd2をwd1に見せかける
必要がそもそも無いように思えるのですが、wd0かwd1からしか起動
できないという制限があったりしたんでしょうか。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
なんでad4のままじゃだめなの?

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
ad4のまま起動する方法がわからんのです。
/boot.configにad(4,a)/kernelと書いてみたんですが、何も変化
しなかったので、ad0にすれば起動できるなぁ、と思ったわけで。
ad(4,a)/kernelをdefaultにする方法ってどうすればいいんでしょう。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
loader.conf(5)

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >183
3rd master だけどディスク1本目なので ad0 にしたいという場合、
(最近のチップセットだと 1st, 2nd が PATA で 3rd, 4th 以降が SATA で
SATA ドライブしかつけていないというときにこういう状況になりがち)

カーネルコンフィグファイルの options ATA_STATIC_ID をコメントアウトして
rebuild したカーネルを使えばそのようになる。

調べてないけど >>186 の言う通り loader.conf でほげるほうが正道なのかもしれん。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
root_disk_unit="5"
rootdev="disk4s1a"
と書いてみましたがだめでした。
さらにloader.confを調べつつ…

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >187
3rd masterかつディスク2本目です。
ad0,ad4,ad8,ad10,ad11と5本繋がっていて、boot可能なのはad4だけです。
ところで、loader.confに何か書いたとして、5台あるHDDのうちの
ad(4,a)/boot/loader.confを読んでくれる仕組みってのはどこで
実現されているのでしょう。
これを読んでくれない限り何を書いてもどうしようもないですよね。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
BIOS では ad4 から BOOT するようにしてるんだよね。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >189
はい。そこら辺ちょっと詳しく書くと、M/BはASUSのCUBX-Eという物で、
440BXのIDE 2chに加えて、Promiseのコントローラも積んでいて、
さらに2ch存在しています。前者がad0-3、後者がad4-7です。

で、BIOSでは440BXのコントローラはIDEとして、PromiseのはSCSIとして
認識するようになっています。BIOSでのbootの順位はFD, CD-ROM, SCSIの
順で、IDEからのbootは無効にしてあります。

この状態で、Default: 0:ad(0,a)/kernel を開こうとしてエラーになり、
手動で ad(4,a)/kernel を指定すると起動する、という状況です。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
5.4なのに/kernel?

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >190
5.x には /kernel なんてないからエラーになるのは当り前。
0:ad(0,a)/boot/loader だとどうなる?

で、ad(4,a)/kernel って、BIOS から見て 5 番めのドライブってことだよ。
ad11 だかから起動しちゃってるんじゃない?

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >190

/boot.configを変更しても何も変わらなかったのが変。
本当に ad4 の boot block が読まれてる?
ad4 以外にも FreeBSD インストールしてない?


html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
orzorzorzorzorzorz
わたくし大嘘申しておりました。orz
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >192
はい、大嘘です。よーくみたら 4.10-RELEASE ですた。
laptop に入ってる生活用(つまり今これ書いてるこいつ)が5.4だったんで
uname する host を間違えてますた…。まことにあいすみません。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >193
boot 時に手で入力しているのは ad(4,a)/kernel で、そして ad8,10,11 は
データのみ(1s1eのみ)のディスクです。kernel が入っているのは ad0、ad4 で、
それぞれ違う設定なので、ad4 から起動しているのは確認できています。

ところで、loader.conf で ad(4,a)/kernel を指定している場合、それが失敗
した場合は Default: ad(4,a)/kernel とでるんじゃないんでしょうか。
ここが Default: ad(0,a)/kernel って事は、loader.conf は読まれていない
と判断したんですが、間違っていますか?

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
自分で何やってるかすらわからん香具師はどんなアドバイスもらっても無駄だから
あきらめて ad0 から起動しとけ。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >197
失礼しました。ブートしたいHDDをad0にもってこれるような
M/Bを買うのが一番早そうですね…。

色々アドバイスして下さった方々、ありがとうございます。

html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >190

boot1, boot2, loader の違いがわかってないように見える。
/boot.config は boot1 & boot2 のパラメータ設定。
loader.conf は loader の設定。
通常は boot1 -> boot2 -> loader -> kernel の順で立ち上がる。
Default: ってのは boot1 & 2 のプロンプトで、
ad(4,a)/kernel を入力すると、loader を省いて kernel を起動する。


html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。
html plugin Error : このプラグインを使うにはこのページの編集権限を「管理者のみ」に設定してください。 >201
ありがとうございます。
つまり BIOS が boot1 を起動し、boot1,2 が boot.config を読んで、
それに基づいて loader を呼ぶ。loader は loader.conf を読んで
kernel を起動するわけですね。

これを踏まえて悩んでみた結果、解決しました。
ad4 から起動する事に気をとられて、ad(4,a) の boot1 を起動する
方法を探っていたんですが、BIOS で ad0 を BOOT disk にした上で
ad0 の boot.config で ad4 の loader を呼ぶようにしてみました。
ad4 の loader.conf では、ad4 の kernel を起動するようになって
いますので、とりあえず ad4 の FreeBSD を起動するという目的は
達成できました。

改めてアドバイスいただいたみなさんありがとうございます。