Armadilloフォーラム

WireGuard起動不可

umaiboy

2025年5月19日 15時49分

==========
製品型番:AX1110-U00Z
Debian/ABOSバージョン:Debian12(bookworm)
※インストールディスクイメージ install_disk_sd_bookworm_20250221_x1.img使用
カーネルバージョン:6.1.128-at14
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

以下のような状況となっており、WireGuardが起動できません。
お気づきの点あればご教示をお願いします。

■wireguard導入(Armadillo作業)
・# apt install wireguard-tools
・/etc/wireguradに設定ファイルを作成、配置

■wireguard起動⇒失敗(Armadillo作業)
# systemctl start wg-quick@wg0
Job for wg-quick@wg0.service failed becauser the control process exited with erro code.
See "systemctl status wg-quick@wg0.servivce" and "journalctl -xeu wg-quick@wg0.service" ro details

■カーネルの状態確認(ATDE作業)
https://armadillo.atmark-techno.com/resources/software/armadillo-x1/lin…
よりLinuxカーネル(Linux 6.1対応)をダウンロード
ファイル:uImage-x1-v6.1-at16

ATDEにコピー展開の上、make menuconfigでWireGuard関連モジュールを確認
下記のようになっていた

Kernel Configuration

=====

> Device Drivers > Network device support > "M" WireGuard secure network tunnel
※WireGuard secure network tunnelにはブランク、*ではなく"M"が付いていたため、modprobe等でモジュールを読み込めば起動できると判断

■再度起動確認(Armadillo作業)
# modprobe wireguard
modprobe: FATAL: Module wireguard not found in directory /lib/modules/6.1.128-at14

wireguardモジュールが存在しないのか、別の場所に存在するのか確認
# find / name wireguard*
(省略)
/usr/lib/modules/6.1.0-32-rt-armmp/kernel/drivers/net/wireguard
/usr/lib/modules/6.1.0-32-rt-armmp/kernel/drivers/net/wireguard/wireguard.ko
(省略)
※wireguardモジュールは別ディレクトリに存在しているよう

■今後について
現在の状態を脱してWireGuardを起動するために必要な作業等をご教示ください。
以下考えている事は下記2案ですが、より良い対応方法をご教示頂けますと幸甚です。

・Armadillo /lib/modules/6.1.128-at14配下に/usr/lib/modules/6.1.0-32-rt-armmp/kernel/drivers/net/wireguardのシンボリックリンクを張る
 ⇒カーネルバージョンが異なるため動作保証なし、エラーやカーネルパニックの可能性もあり

・Kernel Configurationにて現在の WireGuard secure network tunnelを<*> WireGuard secure network tunnelへ
変更、ビルドしたものでインストールイメージを作成しArmadilloへ導入

以上

コメント

at_dominique.m…

2025年5月19日 16時10分

umaiboyさん

お世話になっています、
マルティネです。

> https://armadillo.atmark-techno.com/resources/software/armadillo-x1/lin…
> よりLinuxカーネル(Linux 6.1対応)をダウンロード
> ファイル:uImage-x1-v6.1-at16
>
> ATDEにコピー展開の上、make menuconfigでWireGuard関連モジュールを確認
> 下記のようになっていた

make menuconfig だけではデフォルトの x86_64 のコンフィグになりますので、実際に Armadillo 上に実行されているカーネルのコンフィグではありません。
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu… のビルド手順(x1_defconfig の適用、または ARCH と CROSS_COMPILE 変数の設定)を確認してください。

カーネルに含まれているコンフィグを参考にすると無効化されています:

root@armadillo:~# zgrep WIREGUARD /proc/config.gz 
# CONFIG_WIREGUARD is not set

ちなみに、モジュールでも明示的に modprobe する必要はありませんが、
弊社の debian 製品ではカーネルを単独ファイルとして提供していますのでモジュールを利用した場合のインストール・アップデートは難しいです。
(かと言って、みんなさんが wireguard を使っているわけではないので標準のカーネルでは =y として有効化してません)
他の Armadillo Base OS 製品では wireguard はモジュールとして有効化しています。

> ・Armadillo /lib/modules/6.1.128-at14配下に/usr/lib/modules/6.1.0-32-rt-armmp/kernel/drivers/net/wireguardのシンボリックリンクを張る
>  ⇒カーネルバージョンが異なるため動作保証なし、エラーやカーネルパニックの可能性もあり

はい、標準では /usr/lib/modules/6.1.0-32-rt-armmp のディレクトリはないので何かのパッケージでインストールされたと思われます。
違うカーネルでビルドされたので、ロードできない・強制ロードしても正常に動作しないと思われます。

> ・Kernel Configurationにて現在の WireGuard secure network tunnelを<*> WireGuard secure network tunnelへ
> 変更、ビルドしたものでインストールイメージを作成しArmadilloへ導入

はい、上記の手順通りに CONFIG_WIREGUARD=y でカーネルをビルドしていただいてそのカーネルを利用していただければと思います。

お手数ですがよろしくお願いします