2016年03月26日
_ [debian] OpenBlocks AX3をJessieに更新してみた
ぷらっとホームのOpenBlocks開発の中の方(@OBSDEV)からAX3のJessieイメージができた、ということで早速更新することにした。
やり方としては http://openblocks.plathome.co.jp/support/guide/ax3/verup_to_8.html のガイドに全部書いてあるとおりなので、あまり考えることはない。ということはこの日記もあまり意味がないのだが、いちおう自分への覚え書きとして。
自分の環境は以前にWheezy→Jessie化で変な状態にして壊してしまっていた(カーネルをちゃんと対応させないと、udevまわりでハマる)ので、新規インストール同等の作業となる。
1. 今回はまっさらにするつもりだったので、バックアップはせず。旧バージョンから行う場合は、ガイドにあるとおりにバックアップをする必要がある。
2. シリアルコンソールにケーブルを接続し、PCと接続する。232C変換器には私はELECOMのUC-SGT USBアダプタを使っている。シリアルコンソールソフトはminicom。
3. AX3を再起動し、すぐにEnterキーを押し続けると、openblocks>というプロンプトが表示される。
4. ここでvmallocの設定をするのだが、minicomのデフォルトのシリアル設定だとうまく入力できない(Debian起動後はできる)。情報を探したところ、シリアルコンソールソフトのハードウェアフロー制御をOFFにする必要があった。minicomだとHardware Flow Control: NO。
5. 入力できるようになったところで、ガイドに従い、vmallocを設定し、保存する。
openblocks> printenv vmalloc vmalloc=160M openblocks> setenv vmalloc 240M openblocks> printenv vmalloc vmalloc=240M openblocks> saveenv Saving Environment to Flash...
6. 続いてINITを押しながらAX3を再起動し、フラッシュのLinuxを起動する。Linuxの起動が始まったらINITから離す。さもないとまた再起動してしまうので注意。SSD側の環境を壊しちゃったときに「フラッシュにも行かねぇ、詰んだ…」と思っていたのだが、単にINITの押しが甘いだけだった。かなり強く押しつけないとダメ(精密ドライバでやったけれども、これはこれで傷つけそう。もう少し押しやすい形状か、DIPで設定できるといいなぁ)。
7. Debian 7 Wheezy環境が起動したら、root/rootでログインする。
8. ポート0とLANをつなぎ、ifdown eth0; dhclient eth0 でひとまずアドレスを獲得する。
9. ガイドのとおり、イメージのダウンロードと書き込みを行う。
cd /root # wget http://ftp.plathome.co.jp/pub/OBSAX3/jessie/4.1.19-0/uImage.initrd.obsax3 # flashcfg -f uImage.initrd.obsax3 Save firmware file to FlashROM. Are you ok? [y|N] y
10. 「mkfs.ext4 -L DEBIAN /dev/sda1」でストレージをクリアする(バックアップしてないものは消えるよ!)。
11. rebootする。
これで、見事Debian 8 Jessie環境が起動した。開発の中の方たち、本当にありがとう。
あとはパスワードを変更し、ユーザーを作り、/etc/network/interfacesをいじったり、いろいろ利用するパッケージをインストールしたりしていくが、現時点で、少なくともSSD利用モードにおいては、apt-get upgradeで落ちてくるuboot-imageパッケージは3.0.1に更新してはいけないようだ。
/etc/init.d/uboot-image: line 66: /sys/devices/virtual/mtd/mtd0/flags: No such y
でインストールが止まってしまう(こうなると、/etc/init.d/uboot-image冒頭でexit 0させてapt-get -f installでともかく終わらせる、みたいなハックが必要になる)。 とりあえず3.0.0のままで「apt-mark hold uboot-image」でホールドしておいたほうが様子見したほうがよさそうに思える。