BeagleBoneGreenのdebian versionup と wireguard client設定

#PCとプログラム覚え

概要

はじめに

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

近日中に書きます

Popup