2010年08月11日

玄箱PROのDebian再インストール

ネット回線をCATVからフレッツに移行したタイミングでネットワーク構成をいくつか変更したら問題出まくりで困った。
Gatewayとなるルーターのアドレスを変更したのは無謀だったか。
設定項目を忘れていただけなのだけど。

玄箱PROは結局DynDNSの更新クライアントとOpenVPNサーバーが動作しているだけだったのだけど(Sambaすら使ってなかった)、久々に設定変更とかしてみると再起動に失敗したり、bootのlogでエラーはいてたり、sshもつながらなくなってたり…と、なんか挙動が怪しくなっていた。

この際だから、Debianの再インストールをしてみることにした。
ちょうど1年前にDebian化を試したときにもなかなかうまく行かず困った記憶があるのだけど、今度は大丈夫だと信じて!!



……

………同じトラブルにひっかかtt

ということで、以前の記事にもあるけどインストールメモ再び。
足りなかった部分を補足しつつ。


まずシリアルコンソールで接続。(telnetとかで接続できるならそっちでも)
とりあえず玄箱PROを起動して、
<<system_bootend>>
Hit any key to stop autoboot:3

のカウントが0になる前にキーを押して中断。

Marvell>のプロンプトが出るので以下のコマンドを順に入れる。
長いけど1行ずつコピーしてTeraTermで右クリックで貼り付ければ簡単確実。

setenv bootargs_root root=/dev/mtdblock2 rw panic=5
setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver)
setenv bootcmd 'nboot $(default_kernel_addr) 0 $(nand_uImage_offset) ;setenv bootargs $(bootargs_base) $(bootargs_root) $(buffalo_ver); bootm $(default_kernel_addr)'
setenv nand_boot yes
boot

これで玄箱PROのオリジナルファームで起動する。

root(デフォルトパスワードはkuroadmin)でログインする。

IPアドレスを確認する。
#オリジナルファームにはifconfigどころか/etc/network/interfacesも無いので焦った。
#こちらが参考になる。
/etc/netinfoを編集する。
my_ipaddress=IPアドレス (DHCPクライアントにする場合はdhcp)
my_subnetmask=ネットマスク
my_dgw=デフォルトゲートウェイ
my_dns1=ネームサーバー1
my_dns2=ネームサーバー2

標準ではdnsの項が無いので1だけでも追加しておく。

/etc/resolv.confを確認する。
nameserver ネームサーバーアドレス

どうやらresolv.confは起動のたび初期化されるらしい。
/etc/netinfoにmy_dns1を書いておけば自動設定されると思うけど、なかなか気付かなかった。
少なくともmy_dns1の記述がないと/etc/resolv.confは空になっているが、自分でnameserverを記述してそのまま継続しても大丈夫だった、というか自分はそうした。むしろmy_dns1は試してなかったりする。

/etc/nsswitch.confを確認する。
デフォルトはhostsのみを参照する設定。
hosts: files
これを
hosts: files dns
に書き換えておく。

この時点で適当なアドレス(www.yahoo.co.jpでもなんでもいい)にpingを打てば返ってくるはず。
ここで名前解決できない、もしくはunreachableやtimeoutになるならおそらくどこかが足りないか間違っていて、インストール中にハマることになる…ので解決してから先に進むこと。


あとはこちらのサイトの通りにやればOK
fdisk /dev/sda
で、とりあえず1個パーティションを用意する。
既にある場合は敢えて削除しなくてもOK
mkfs.ext2 /dev/sda1
でフォーマットし、
mount -t ext2 /dev/sda1 /mnt/disk1
cd /mnt/disk1

としてマウント〜ディレクトリ移動する。

wget http://ftp.jp.debian.org/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/config-debian
wget http://ftp.jp.debian.org/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/initrd.buffalo
wget http://ftp.jp.debian.org/debian/dists/lenny/main/installer-armel/current/images/orion5x/netboot/buffalo/kuroboxpro/uImage.buffalo

としてインストーラ一式をダウンロードする。

sh config-debian
とすると初期化が行われ、sshで接続するように求められる。

TeraTermを起動してsshで接続。
id:installer password:installとしてログインするとインストーラが走る。

#名前解決が上手くいってないと、悪夢の「No kernel modules were found.」が出る。
#コマンドシェルに落ちて操作することはできるが、正直そこからなんとかするのは難しそう。ってか自分には無理だった。
#ちなみにAbort Installationして再起動するとHDDからの起動に失敗してbootの無限ループに陥るが、
#そのときはCtrl+Cで中断してMarvell>のプロンプトに入れるのでsetenvしてオリジナルファームの起動からやりなおせばいい。

パーティションの選択ではGuided - use entire diskでOK(どれでもいい)
構成はSeparate /home, /user,...にしたけどこれもなんでもいい。
追加機能もお好きに。とりあえず今回はどれもいらないので基本システムのみ入れておしまい。


これ1年前に書いた内容とほぼ一緒だな…w


他にもやり方はあるしどの環境でもうまくいくかはわからないけど、とりあえず自分がうまくいった方法として記録しておく。

posted by Taidy at 18:09| Comment(0) | TrackBack(0) | PC | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。