備忘録:KURO-BOX Pro / Buffalo LS-GL を Debian 12 にする

目次

はじめに

3年ぶりに KURO-BOX/Pro (玄箱) と Buffalo LS-GL に最新の Debian をインストールしたので、その際の手順と注意点を備忘録として記録します。

どちらも HDD から Linux カーネルがブート可能になっていることを前提としています。


Linux イメージの入手と配置

Linux イメージは最終的に以下の URL 先から Debian 10 のものを入手しました。

Debian 11 や 12 の Linux イメージも試しましたが、後続の作業で正常に起動してこず、シリアルコンソールを繋がないと原因解析もできないので、正常に起動した Debian 10 を使いました。

次に、それぞれの機器から HDD を取り出し、適当な Linux マシンに接続して作業をします。 やることとしては、HDD の1番目のパーティションを ext2 でフォーマットし、そこに上記 URL 先から入手した "initrd.buffalo" と "uImage.buffalo" ファイルを配置するだけです。 パーティションのサイズは後で変えられるので任意で良く、2番目以降のパーティションもこの時点で作る必要はありません。

ファイルを配置したら、Linux マシンから取り外して元の機器に戻しましょう。


ネットインストール作業

LAN ケーブルを接続して電源を入れると、数分でネットインストールモードで起動してきます。 DHCP でIPアドレスが割り当てられていますので、適当な方法でIPアドレスを調べましょう。

SSH で次のユーザ名・パスワードでログインすれば、ネットインストールモードに入れます。

  • ユーザ名 : installer
  • パスワード : install

あとは自由にインストールすれば良いと思いますが、パーティションは次のようにしました。

  • Primary 1 : 256MB, ext2, /boot, Bootable on
  • Primary 2 : 30GB, ext4, /
  • Primary 3 : 4GB, swap

普通の Linux マシンならスワップメモリはパーティションじゃなくファイルで作るようにしていますが、KURO-BOX/Pro や LS-GL は非力すぎるのでオーバーヘッドを減らすためにパーティションとして作りました。 HDD には空き容量を多く持たせており、もしもルートパーティションが足りなくなったら swap パーティションを削除してルートパーティションを拡張し、改めて swap パーティションを作り直す予定です。

インストールが終わって機器を再起動すれば、Debian 10 が起動して SSH で接続できます。


インストール直後にやること

インストール直後は /run の tmpfs が小さすぎるので、16M から 32M に変更しましょう。

/etc/fstab に次のように追記し、再起動すれば反映されます。

1echo "tmpfs   /run    tmpfs   rw,nosuid,noexec,relatime,size=32M,mode=755     0       0" >> /etc/fstab

Debian 11 (Bullseye) へのアップグレード

apt で Debian 11 にアップグレードしましょう。

  1. /etc/apt/sources.list を次のように書き換える
    1deb http://deb.debian.org/debian/ bullseye main
    2deb-src http://deb.debian.org/debian/ bullseye main
    3
    4deb http://security.debian.org/debian-security bullseye-security main
    5deb-src http://security.debian.org/debian-security bullseye-security main
    6
    7deb http://deb.debian.org/debian/ bullseye-updates main
    8deb-src http://deb.debian.org/debian/ bullseye-updates main
    
  2. apt update
  3. apt upgrade
  4. 再起動する
    • ⇒Debian 11 のカーネル linux-image-5.10.0-23-marvell で起動してくる
  5. apt autoremove
  6. "find /etc | grep dpkg" で不要ファイルを探して削除する

どちらの機器も、ここまでは順調にいけました。


Debian 12 (Bookworm) へのアップグレード

続けて apt で Debian 12 にアップグレードするのですが、KURO-BOX/Pro であれば次の手順で上手くいくものの、Buffalo LS-GL ではダメでした。

  1. /etc/apt/sources.list を次のように書き換える
    1deb http://deb.debian.org/debian/ bookworm main
    2deb-src http://deb.debian.org/debian/ bookworm main
    3
    4deb http://security.debian.org/debian-security bookworm-security main
    5deb-src http://security.debian.org/debian-security bookworm-security main
    6
    7deb http://deb.debian.org/debian/ bookworm-updates main
    8deb-src http://deb.debian.org/debian/ bookworm-updates main
    
  2. apt update
  3. apt upgrade
  4. 再起動する
    • ⇒Debian 12 のカーネル linux-image-6.1.0-10-marvell で起動してくる
  5. apt autoremove
  6. "find /etc | grep dpkg" で不要ファイルを探して削除する

Buffalo LS-GL では、上記の手順の3までは上手くいくものの、4で再起動すると正常に起動して来なくなりました…。 おそらくこれと同じ事象です。 ⇒ https://github.com/1000001101000/Debian_on_Buffalo/issues/182

そのため、4の再起動をする前に、3でインストールされた Debian 12 のカーネルをアンインストールすると良いです。 (古いカーネルで動かすのが良いのかどうかはさておきですが。)

1apt remove linux-image-6.1.0-10-marvell linux-image-marvell

アップグレードして起動して来なくなった場合の対処

カーネルをアップグレードして起動して来なくなっても、慌てずに対処しましょう。

HDD を取り出して適当な Linux マシンに接続し、/boot パーティションの中にある次のファイル・シンボリックリンクを古いものの置き換えれば、次はアップグレード前のカーネルで起動してきます。

  • dtb
  • initrd.buffalo
  • initrd.img
  • uImage.buffalo
  • vmlinuz

その他問題

OS をシャットダウンしても電源が正常に落ちず、電源ボタン長押しで強制終了しないといけないという問題は以前からあります。

これについては別記事として書きました。
KURO-BOX Pro で正しく電源オフにできるようにする