💨

WSL2新バージョンで6系Linuxカーネルバイナリがリリース

2024/07/18に公開

5.15から6.6に大幅更新

WSLの2.3.11がリリースされた

https://github.com/microsoft/WSL/releases/tag/2.3.11

アップデート情報をチェックしていたが興味深いものがあった。

Update Kernel to 6.6.36.3

こんな記事がある

https://forest.watch.impress.co.jp/docs/news/1605152.html

執筆時点(令和6年7月18日)から2週間ぐらい前の記事だが、
この時点でWSLのカーネルが5系から6系に変わることが分かっていた。
ただ、しばらく経っても自前でビルドする以外に適用方法がなかったのだが、
ここにきて漸くカーネルバイナリがリリースされたようだ

Linuxカーネルの最新版は6.10なので最新版とは言い難い。
3年分のアップデートになるので、
導入は慎重に

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

バージョンアップ

WSL2.3.11がpre-releaseとなった
wslにはpre-release版のインストールコマンドがあるので、
それを使えば6系カーネルをビルドせずに使うことができる

wsl --update --pre-release
wsl --version
 WSL バージョン: 2.3.11.0
 カーネル バージョン: 6.6.36.3-1
 WSLg バージョン: 1.0.63
 MSRDC バージョン: 1.2.5326
 Direct3D バージョン: 1.611.1-81528511
 DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
 Windows バージョン: 10.0.22631.3880

個人的にはストアバイナリ(.msixbundle)をダウンロードしてインストールするするのを薦めておく。

stable版リリースはもう少し先だと思うので、
日常で利用している場合はそちらを待つのがいいだろう。

アップデート内容

Add WSL Settings Feature
Bridged networking mode is currently not selectable from the UI
WSL設定機能の追加
ブリッジ・ネットワーキング・モードは現在UIから選択できない。
Update Kernel to 6.6.36.3
Hundreds of new kernel modules added.
カーネルを6.6.36.3に更新
何百もの新しいカーネルモジュールが追加されました。
Update WSLg to 1.0.63
WSLgを1.0.63に更新
Update Microsoft.DXCore.Linux to version 10.0.26100.1-240331-1435.ge-release
Microsoft.DXCore.Linuxをバージョン10.0.26100.1-240331-1435.ge-releaseに更新
Implement wsl --manage --move
wsl --manage --move の実装
From github feedback, increasing the Linux ephemeral port range (solves #11450)
githubのフィードバックから、Linuxのエフェメラルポートの範囲を拡大(#11450を解決)
Update mirrored mode loopback routing to support connections between Windows host and Linux Docker/Podman containers (solves #11136,#11468,#11758,#10926)
ミラーモードのループバックルーティングを更新し、WindowsホストとLinux Docker/Podmanコンテナ間の接続をサポートした(#11136,#11468,#11758,#10926を解決)
Propagate errors from bsdtar to stderr (solves #11577)
bsdtar からのエラーを標準エラー出力に反映するようにした (#11577 を解決)。
Improve error message when calling wsl.exe --exec (solves #11571)
wsl.exe --exec 呼び出し時のエラーメッセージを改善 (#11571 を解決)。
Move kernel module mounting earlier in the boot process and adjust module mount behavior
カーネルモジュールのマウントをブートプロセスの早い段階に移動し、モジュールマウントの動作を調整。
Resolve issue with incorrect localization files for msrdc.exe
msrdc.exe のローカライズファイルが正しくない問題を解決
Disable virtio9p while an issue is being debugged (default is 9p with vsock transport)
問題のデバッグ中に virtio9p を無効にする (デフォルトは vsock トランスポートの 9p)
Various fixes for VirtioFs
VirtioFs に関する様々な修正
Improve socket protocol to catch errors early
エラーを早期に検出するためのソケットプロトコルの改善
Add error tracing statement for all cases where opening wslconfig fails
wslconfig のオープンに失敗した場合のエラートレース文を追加
Change distro install to attempt store install then fall back to direct download
ディストロのインストールがストアインストールを試みてから直接ダウンロードにフォールバックするように変更

カーネルを6.6.36.3に更新

一番の目玉はこれだろう

https://github.com/microsoft/WSL2-Linux-Kernel/releases/tag/linux-msft-wsl-6.6.36.3

さすがに3年分の差分を調べるのは厳しいのでAIに聞いてみたところ

Linux カーネルのバージョン 5.15 から 6.6 への変更内容を以下にまとめます:

新しいハードウェアのサポート:
Linux 6.6 カーネルでは、新しいハードウェアのサポートが追加されています。これには、最新の CPU アーキテクチャやデバイスのドライバーが含まれています。
メモリ管理の改善:
メモリ管理に関する最適化が行われており、効率的なメモリ使用とパフォーマンス向上が期待されます。
ファイルシステムのアップデート:
一部のファイルシステムに対して改善が行われています。これにより、ファイルアクセスやディスク I/O の速度が向上します。
ネットワークスタックの更新:
ネットワークスタックにも変更が加えられており、ネットワークパフォーマンスが向上しています。
その他の修正とセキュリティアップデート:
さまざまなバグ修正やセキュリティアップデートが含まれています。

だそうです。

https://www.phoronix.com/news/Microsoft-WSL-2.3.11

Discussion