玄箱ProにDebian busterをインストール


はじめに

プライムデーで新しいHDDを購入したので、余ったHDDを使って玄箱Proを復活させよう計画を発動しました。
当然Debian化だよねーと調べ始めたら、2019年7月6日にbusterがリリースしたというニュースが。誰の役にも立たない人柱になる可能性なぞ気にもせず、とりあえずチャレンジ!

新しいHDDで挑戦

玄箱Proという古いハードとはいえNASは便利なので、最初は新しいHDDを使ってbusterをインストールしましたが、うまくいきませんでした。
おそらく、玄箱ProがMBRを前提としているため、2TB以上のHDDには対応できないのではないかと思います。いわゆる「2TBの壁」というやつですね。
仕方がないので、寿命が心配ですが余った2TBのHDDでインストールしなおしました。

玄箱ProにDebian busterをインストール

ここからようやく記事の本文です。
こちらの記事を参考に作業を進めます。

nand_bootモードに切り替える

HDD昇天による休眠前もDebian化して使っていたので、まずはHDD bootモードからnand bootモードに切り替えます。
シリアルコンソールを接続し、Hit any key to stop autoboot: <count>が表示されているときに何かキーを押します(2回)。
ピロピロと煩いので、次のコマンドをささっと実行します。

setenv default_kernel_addr 0x00100000
setenv bootargs_base 'console=ttyS0,115200'
setenv bootargs_root 'root=/dev/mtdblock2 rw panic=5'
setenv bootargs 'console=ttyS0,115200 root=/dev/mtdblock2 rw panic=5 BOOTVER=1.09'
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
saveenv
shutdown

インストーラ起動

電源を入れなおして起動します。
例のグラサンの人が表示された後、ログインプロンプトが表示されるので、rootでログインします。
ここから先はほぼ参考記事の通りですが、ホスト名をIPアドレスに変換するところをhostsを編集するように変えました。IPアドレスに変換すると、404 Not foundになってしまったので。

date 072013182019
hwclock -w
fdisk /dev/sda
-----
n
p
1
<空白>
+100
w
-----
mkfs.ext2 /dev/sda1
mkdir -p /mnt/disk1
mount /dev/sda1 /mnt/disk1
cd /mnt/disk1/
vi /etc/hosts
-----最終行に追加
64.50.236.52 http.us.debian.org
-----
wget http://http.us.debian.org/debian/dists/buster/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/config-debian
wget http://http.us.debian.org/debian/dists/buster/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/initrd.buffalo
wget http://http.us.debian.org/debian/dists/buster/main/installer-armel/current/images/orion5x/network-console/buffalo/kuroboxpro/uImage.buffalo
sh config-debian
reboot

再起動すると、しばらく何かした後、インストールウィザードが始まります。

あれ、なんか違う

参考にしたページを見ると、「続きはSSHで」みたいな画面が出てくると言っています。確かに、4TBのHDDをつなげていた時はそんな画面が出て、SSHで接続して続行しました。2TBのHDDの場合は、SSHのキーを作っていたのに、シリアルコンソール上でウィザードが始まりました。そのまま続けて問題なかったので、気にしないことにします。

インストールウィザード

最初の画面のキャプチャーをし忘れましたが、たぶんこんな感じの画面だったと思います。

Start installerを選択し、[Enter]を叩きます。
ダウンロードサイトを聞いてくるので、近そうなサイトを選択します。


プロキシサーバを聞いてきます。必要なければ空白のまま[Enter]を叩きます。

しばらく待つとロケールを聞いてきます。ここも4TBのときは選択肢が沢山あったのですが、2TBの場合は2つだけになってしまいました。いずれにせよ日本語の選択肢がないのでCを選んでおきます。

次はロケーションを聞いてきますので、Asia Japanを選択します。
Asia Tokyoじゃないんですね。

rootのパスワードを聞かれます。2回同じ文字列を入力します。

次に一般ユーザの情報を聞かれます。



ハードディスクがスキャンされてパーティションの設定が始まります。容量を無駄にしたくないのでワンパーティションを選択しました。





パーティションの設定とフォーマットにしばらくかかります。

開発者に情報を提供するように言われますが、Noを選択します。しばらく運用してみて安定しないようであれば後で設定を変更するかもしれません。

インストールソフトウェアを聞かれます。最低限のものだけ選択しておきます。

ダウンロードと展開が始まります。しばらくすると終わります。

再起動が始まりますが、シリアルコンソールの表示がおかしくなります。

操作できないわけではないけど見づらければターミナルを再起動しましょう。
ログインプロンプトが出たらrootか一般ユーザでログインてみます。ログイン出来たらインストール成功じゃないでしょうか。

課題

電源切れない問題

root でshutdown -h nowすると、電源がOFFにならず再起動します。
ただし、[0 0]: Read Fail for PIOと表示されてTFTPブートモードになります。TFTPサーバを建ててないので当然そこで繰り返し。

TFTPサーバを探している間に電源ボタン長押しで強制電源OFFし、改めて電源ONすると正常に起動します。

多分、何かのドライバの問題だと思うんですが…
そのうち調べたいと思います。

以上、最後まで読んでいただき、ありがとうございました。