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級のパーティションを動かすのはとても時間がかかるので、
先に切っておくのがおすすめです。