カーネルのコピーと.wslconfigの変更
カーネルを差し替える前に「uname -a」で現在のカーネルを確認しておく。その後、vmlinuxファイルをWin32側のフォルダーにコピーする(WSL側には置けない)。ここでは、仮に「c:\temp」フォルダーにコピーしたとする。
次にWin32側の自分のユーザーフォルダーにある.wslconfigを編集する(なければ作る)。カーネル以外はデフォルト値を使うとしたら、以下のリストのようなものになるはずだ。
[wsl2]
kernel=C:\\temp\\vmlinux
なお、パスは自分がvmlinuxを置いたフォルダーを指定すること。また、パス区切りの“\”は、“\\”と記述する必要がある。.wslconfigファイルについてはマイクロソフトのサイトに説明がある。
●WSLでの詳細設定の構成
https://docs.microsoft.com/ja-jp/windows/wsl/wsl-config
最後にWSL2を抜け、コマンドプロンプトからWSL2をシャットダウンする。それには、「wsl.exe --shutdown」を実行する。確実に.wslconfigファイルを読み込ませるには、完全に停止する必要がある。
その後、WSL2でディストリビューションを起動し、再度uname -aコマンドなどで、カーネルのバージョンを確認する。バージョンや日付が変わっていれば、カーネルのコンパイルは成功である。もしWSL2が起動しない場合、.wslconfigのkernel行などをコメントアウトするなりして無効化すれば、WSL2の標準カーネルで起動するようになる。
とりあえず、ソースコードの入手からコンパイルまでは今回解説した方法で可能だ。手順だけなら、Linuxカーネルのコンパイルはさほど難しくない。ただ、コンフィギュレーションをどう変更するのかなどに関しては、Linuxのさまざまな仕組みやカーネル自体など、さまざまな知識が必要なので一朝一夕にはいかない。
この連載の記事
-
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 -
第447回
PC
この秋登場のWindows 11の新バージョン、Ver.24H2の状況を見る - この連載の一覧へ