BeagleBoneGreenのdebian versionup と wireguard client設定
概要
はじめに
2年半前に、BeagleBoneGreenに、GPS deviceを搭載して、GPS-PPS-NTPサーバをつくり稼働させてました。
今回、それをVPNネットワークセグメントにも入れることにしました。一応、VPNとはいえ、internet接続をしますので、upgradeなどはしておきたい。
ただ、それまで動作させてたのが
- initrd.img-5.10.168-ti-r7
- vmlinuz-5.10.168-ti-r71
で、各種バイナリをupgradeしても、archives入りしてますので、 BBB対応の最新のカーネル(IoT版)をインストールし直しました(BBG独自ってのはありません)。
am335x-debian-13.7-base-v6.18-armhf-2026-10-09-4gb.img.xz
miniSDブート用に新debianを書き込む
手元のmacで、
xz -d am335x-debian-13.7-base-v6.18-armhf-2026-10-09-4gb.img.xz
sudo dd if=am335x-debian-13.7-base-v6.18-armhf-2026-10-09-4gb.img of=/dev/rdiskX bs=1m
して(rdiskXは、miniSDのデバイス名)、あとはBBGのスロットに差し込むだけ(16GB miniSD)。
今回はeMMCへの書き込みはしないので複雑なことなしに、そのまま新バージョンが立ち上がります。
USBデバイスからmac iterm2でloginして(jerm -b 9600 /dev/cu.usbXXXXXXXXX)
uname -r
6.18.59-bone61
と、ここまでは順調。
wireguardのinstall時にカーネルバージョン書き換えで、はまる
wireguardそれ自体じゃなくて、 apt install wireguradしたときに、強制的に linux-image-6.12.113+deb13-rt-armmp と linux-image-rt-armmp が依存としてインストールされ シンボリックリンクが変更されてしまうという現象
text/vmlinuz → boot/vmlinuz-6.12.113+deb13-rt-armmp
/vmlinuz.old → boot/vmlinuz-6.18.59-bone61
dmesgをみると
etc/kernel/postinst.d/zz-uenv_txt:
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=6.12.113+deb13-rt-armmp]
Setting up linux-image-rt-armmp (6.12.113-1) ...
Setting up wireguard (1.0.20210914-3) ...
Processing triggers for man-db (2.13.1-1) ...
で、/root/uEnv.txtが、 uname_r=6.12.113+deb13-rt-armmp に書き換えられ、SDブートがfailする。
wireguardインストール時の障害報告がいくつかあるのを、後で知ったが、これはひどい(ちなみに、2年前からその報告はあるが、いまだに、かわってない)。
というわけで、uEnv.txtを uname_r=6.18.59-bone61 に書き換え。ブートしなおす。
今後問題がでると困るので
sudo apt-mark hold linux-image-rt-armmp linux-image-6.12.113+deb13-rt-armmp
して、おく。
やれやれw
wireguard install
近日中に書きます