玄箱debianバージョンアップ

古いノートPCにdebianを入れてUSB機器を監視しようとおもっていたのですが、そのノートPCがお亡くなりになってしまいました。2000年に購入したものですが、さすがに前半はモバイルのメインマシンとして酷使、後半はdebianで宅内サーバ、監視サーバとして酷使したので仕方がないでしょう。

で、監視サーバの代役として玄箱(無印)が余っているので、なんとかならないかと思いました。USBシリアルを使うためにはある程度カーネルバージョンが上がっていないといけないのですが、この玄箱、lennyにアップデートすると立ち上がらなかったので、Debianのバージョンはetchのままアップデートしていません。いまさらながら調べてみると、lennyはubootでなければならないようです。なので、その辺をやってつけて、アップデートをかけていくことにしました。

作業内容(後から書いたので、抜けや間違いがあるかもしれません)

1.すでにetchになっていたので、uboot化

注意深く /dev/mtdblock にファームウェアデータを流し込み

# cat u-boot-hd.flash.bin > /dev/mtdblock1

どのブロックかはカーネルによって変わる?ので、全部ダンプしてみてそれっぽいのを探した。

2.再起動せずにカーネル差し替え

ubootで起動できるカーネルをおいとかないと、立ち上がるわけがないので、先に用意しておく。

# cd /boot
# tar xvfz (置いてある場所のパス)/kernelimage-2.6.20-kuroBOX-uImage.tgz
# cd /lib/modules
# tar xvfz (置いてある場所のパス)/modules-2.6.20-kuroBOX.tgz

3.再起動

時間がかかるけど、たちあがる。
立ち上がったら再度 telnet で接続

4.lenny化実行

・/etc/apt/sources.list を修正
“etch” の部分を “lenny” に書き換え
・lenny化実行

#apt-get update
#apt-get safe-upgrade
#apt-get dist-upgrade

5.再起動

たちあがらねぇ・・・というか、立ち上がってるけどIPアドレスがわからない感じ
Linuxマシンで nmap をかけてもみつからない
nc.exe を使ってもつながらない

6.シリアルコンソール接続

最後の手段、シリアルコンソール接続とします。Webで調べるといろいろ情報は出てきますが、R76はシリアルの信号と直列に入っている保護用?の抵抗なので、115200bpsという速度を考え、適当に470オームとした。・・・が実際の接続の速度は 57600bps/8N81だった。

ubootの環境変数やsttyで速度は変えられるけど、カーネルは57600bpsでコンパイルされているようなので、実質57600bps以外の選択肢はない。

で、IPアドレスを調べてみたら、変わってない。
telnetでもつながる。なんだったんだろう?

7.squeeze化

・/etc/apt/sources.list を修正
“lenny” の部分を “squeeze” に書き換え
・squeeze化実行

#apt-get update
#apt-get safe-upgrade
#apt-get dist-upgrade

8.再起動

問題なく起動。

9.カーネルバージョンアップ

某所でsqueezeにバージョンアップしてもカーネルのバージョンは古いまま
(確かに 2.6.20 のまま)

# sudo apt-get install linux-image-2.6-powerpc

でカーネルバージョンアップとか書いてあったので試してみたが、ubootでロードするファイルとあってないのでロードされない。ubootを手動でコマンドを打ちながら起動してみたが、「linkstation用のカーネルじゃない」と蹴られる。どうしょうもない。

なので、

# cd /boot
# tar xvfz (置いてある場所のパス)/kernelimage-2.6.25.20-kuroBOX.tgz
# cd /lib/modules
# tar xvfz (置いてある場所のパス)/modules-2.6.25.20-kuroBOX.tgz

で 2.6.25.20 まではバージョンアップした。

10.電源落ちない対策

ここで、shutdownコマンドやrebootコマンドで最後の最後にフリーズする対策を見つけたので、追加。

/etc/init.d/haltのpathの行の後ろにecho -n “EEEE” > /dev/AVR00を追加

これでシャットダウン時に電源が切れるようになった・・・が、その後電源SWを押しても起動しない。結局一度プラグを抜かなきゃいけない。うーん。

<まとめ>
結局、カーネルのバージョンは 2.6.25 のまま。うーん。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)