スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

玄箱Pro 標準Linux起動のメモ

ずっと安定して使用していた玄箱Proであるが、しばらく前にディスクが故障した。幸いにして必要なデータ等は、代替スーパーブロックを指定して一時的にマウントすることで吸い出すことができた。

この機に、HDDを2TBのものに換装することにする。で、毎回何か起きる度に「玄箱Proの本」を引っ張り出してUbootのコマンドを見ながら、えーとデフォルトのカーネルってどこにあったっけなあ、ファイル名は…ルートデバイスはなんだっけ…と右往左往するので、ここにまとめておこう。

故障が起きたら、電源再投入→2度目のカウントダウンのところで何かキーを押してUbootプロンプトに入る。

フラッシュメモリからの起動

玄箱Proの標準カーネルをブートするには、フラッシュメモリから標準カーネルをロードした上で、ルートデバイスとして/dev/mtdblock2を使用する。すなわち

setenv bootargs console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09
nboot 0x00100000 0 0x00020000
bootm 0x00100000

で起動する。起動した後は、ユーザ名root、パスワードkuroadminでログインする。

なお、起動した標準Linuxからは、nvram -c printenv でUboot環境変数の設定を見ることができ、

nvram set 変数名 値

で変数の値を変更できる。

Uboot上で直接setenvを使用して設定した値は一時的なものなので、必要に応じてsaveenvを実行してフラッシュへの書き込みを行う。

ハードディスクからの起動

直接起動する場合
環境変数bootcmdおよび、そこから参照されるkernel, initrd、そしてbootargsを設定する。
setenv bootcmd ide reset; ext2load ide 0:1 $(default_kernel_addr) /$(kernel)
setenv kernel uImage.buffalo (あるいは新しく作成したカーネル(uImage形式))
setenv initrd initrd.buffalo (あるいは新しく作成したinitrd)
setenv bootargs console=ttyS0,115200 root=/dev/sda2 rw panic=5 BOOTVER=1.09 (ルートデバイスが/dev/sda2の場合)
boot

いったんカーネルをハードディスクからメモリにロードして起動する場合
bootargsは使用されるので、上記と同じく適切に設定。
ide reset
ext2load ide 0:1 0x00100000 /uImage.buffalo
この例は/dev/sdaの一番最初のパーティション(0:1)上のディレクトリに置かれたuImage.buffaloというファイル名のカーネルをロードする場合。状況に応じて変更せよ。
メモリにカーネルがロードできたら
bootm 0x00100000
で起動。

Delicious Save this on Delicious
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

Author:GM3D
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。