コンテンツにスキップ

Linux 6.12と25.12のツールチェーン: カーネルモジュールが一致しなければならない理由

Linux 6.6 → 6.12、GCC 13.3 → 14.3。カーネルモジュールを合わせる必要があります。

25.12ではすべてのターゲットがLinux 6.6から6.12へ移行し、ツールチェーンも更新されるため、24.10向けにビルドされたカーネルモジュールは25.12ではロードできません。

コンポーネント 24.10.0 25.12.0
Linuxカーネル 6.6.73 6.12.71
GCC 13.3.0 14.3.0
binutils 2.42 2.44
musl 1.2.5 1.2.5
glibc 2.38 2.41

25.12.6ではカーネルが6.12.112になります。25.12.0では、ワイヤレススタック(cfg80211/mac80211)はカーネル6.18.7のものが使われ、dnsmasq 2.91、dropbear 2025.89、busybox 1.37.0も含まれます。

  • kmod-* パッケージは、ある特定のカーネルに合わせてビルドされています。フィードのパスには targets/<target>/kmods/<kernel-hash>/ のようにカーネルのハッシュが含まれ、実行中のカーネルと一致している必要があります。
  • 別のリリース、別のビルド、またはハッシュの異なるミラーのkmodは、インストールやロードに失敗します。これは、パッケージを「インストールできない」よくある原因です。
  • サードパーティのビルドは、独自のカーネルを同梱していることがよくあります。公式のkmodはまったく適合しない場合があります。
ターミナルウィンドウ
uname -r
grep -E 'RELEASE|TARGET' /etc/openwrt_release

出典

Router.Homes

独立した OpenWrt の実践ノートです。各ページにファームウェア、デバイス、パッケージマネージャー、元に戻す手順を明記しています。

アイコン:Solar by 480 Design, CC BY 4.0