Hack BBS
[全部のスレッド一覧][新規投稿][記事の削除・変更]
[Home Page]
返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.5622】の中の記事をすべて表示しています
【No.5622】のスレッド
09/11/01(日) 23:49:33 投稿者[べむよし] [No.5622]のスレッド内
- 【No.5622】 タイトル[LS-XHL bootargs_root]
この記事がスレッドの最初です
- 機種:LS-XHL
ファームウェア:1.03改
ディストリビューション:debian lenny
みなさんの知恵をかしてください。
rootディレクトリをUSBメモリ/HDDにしようと考えています。
カーネルに渡すパラメータで root=/dev/sdb1 とかしたいのですが、
LS-XHL の nvram -c printenvではその手の変数が出てこないのが
ひとつの疑問です。プロテクトされているとか隠されてるとか?
しょうがないので、buffaloのソース置き場からu-bootのソースを
もらってきて、該当箇所を修正し、環境変数bootargs_root が
あってもなくても強制的にsdb1にするようにしたのですが、
しゃあしゃあとsda2から上がってきます。dmesgでも
Kernel command line: console=ttyS0,115200 root=/dev/sda2 rw initrd=0x00800040,32M panic=5 BOOTVER=0.07
と意図した変更が反映されていません。
できあがったu-boot.buffalo改をstringsしてsdb1に変わっているのは
確認しているのですが、誰がどこのブートパラメータをどうやって
渡しているのかわからなくなってしまいました。
p.s
u-bootのソースを見ていて、山下さんが経験された 00:50:43(Marvel)
で始まるランダムなMACアドレスを割り振るコードもありました。
山下さんの予想どおり eth1addrがセットされてないときに限りますが、
現在時刻を種にしたランダムな値を00:50:43の後につけていました。
eth1addrがない理由がわかった訳ではないので、「だからどうした」
という手の話ですが。
09/11/02(月) 21:10:59 投稿者[山下康成] [No.5622]のスレッド内
- 【No.5623】 タイトル[Re: LS-XHL bootargs_root]
【No.5622】に対する返信
- root fs は、RamRoot(EM) と HDDRoot(通常)との切り換えが必要な
initrd の /linuxrc でも指定されています。
目的からするとハズレかも知れませんが、調べてみてください。
09/11/04(水) 01:48:14 投稿者[べむよし] [No.5622]のスレッド内
- 【No.5624】 タイトル[Re: LS-XHL bootargs_root]
【No.5623】に対する返信
- アドバイスありがとうございます。
実は/linuxrcで /proc/sys/kernel/real-root-devをsdb1にするのを
初めに試したのですがうまくいきませんでした。
そうしているうち、カーネルのinitrdドキュメントを見ていたら、
real-root-devよりも root=/dev/sdxx パラメータが有効になるような
ことが書いてあったのでnvram や u-boot に走ってしまったのが遠回り
でした。
実際には山下さんの言われるとおり、linuxrcでRAM/HDDのrootfs切替が
できるはずで、何か変だなと思っているうち「linuxrc が実行されて
いないのでは?」と思い立ちました。linuxrc に sleep入れても効果が
ないのを確認して確信にいたりました。
自前のカーネルを使っているのですが、結局のところ initrd すら
ロードされていませんでした。
#/initrdに展開されないので変だなとは思っていたのですが
RAMDISKサポートとinitramfs/initrdサポートを有効にしたカーネル
+initrd/linuxrc改でrootデバイスをsdb1にすることができました。
お騒がせしました。バスパワーのUSB HDDでうまくいったのでUSB
フラッシュでもうまくいきそうです。
LS-GLに比べてファンの音が気になっていたのですが、温度に応じた
回転数のコントロール方法が分からなくて、「ええい、HDD止めたら
温度下がるだろ」が動機でした。
HDD止める->カーネルあげる->root移す と思ったより大変でした...
....が楽しかったです。
09/12/18(金) 20:57:30 投稿者[べむよし] [No.5622]のスレッド内
- 【No.5671】 タイトル[Re: LS-XHL bootargs_root]
【No.5624】に対する返信
- この応用?で sda2 に標準ファームのrootを、sda3にdebianのrootを
置いて、initrdを切り替えることで「手動?」dual boot にしてみました。
標準ファームに教えを請うときなど、何かと便利です。
1T級のパーティションを動かすのはとても時間がかかるので、
先に切っておくのがおすすめです。