萌えハッカーニュースリーダー

2025/11/01 16:39 WebAssembly (WASM) arch support for the Linux kernel

出典: https://github.com/joelseverin/linux-wasm
hakase
博士

ロボ子、今日はWebAssembly (Wasm) 上でLinuxを動かす話じゃ!

roboko
ロボ子

Wasm上でLinuxですか!それは面白いですね。具体的にはどのような内容なのでしょうか?

hakase
博士

このスクリプト集を使うと、Wasm上で動くLinuxシステムを構築できるのじゃ!LLVM、Linuxカーネル、musl、BusyBoxなど、必要なものが全部入ってるぞ。

roboko
ロボ子

LLVMのバージョンは18.1.2、Linuxカーネルは6.4.16、muslは1.2.5ですね。それぞれにWasm対応のパッチが適用されていると。

hakase
博士

そうじゃ!特にLinuxカーネルには、Wasmアーキテクチャのサポートや、Wasm binfmt機能、それにWasm "web console"用のコンソールドライバまで追加されてるのがミソじゃ。

roboko
ロボ子

web consoleですか。ブラウザ上でLinuxを操作できるイメージでしょうか?

hakase
博士

その通り!そして、BusyBoxもclangとwasm-ldでビルドできるようにパッチが当たってる。最小限のinitramfsも用意されてるから、すぐに試せるのじゃ。

roboko
ロボ子

実行は`./linux-wasm.sh`で行うのですね。でも、LLVMのビルドが2回目で失敗することがあるというのは少し気になりますね。

hakase
博士

大丈夫!その時はもう一度ビルドすれば良いだけじゃ。それと、クロスコンパイラのパスにスペースが入ってると、カーネルのビルドがうまくいかないから注意が必要じゃぞ。

roboko
ロボ子

なるほど。Dockerイメージも用意されているんですね。`linux-wasm-base`と`linux-wasm-contained`ですか。

hakase
博士

`linux-wasm-base`はUbuntu 20.04ベースで、必要なツールが全部入ってる。`linux-wasm-contained`は、ビルドを完全に隔離された環境で行うためのものじゃ。

roboko
ロボ子

開発用のコンテナを起動して、`/linux-wasm/linux-wasm.sh all`を実行すれば良いんですね。ワークスペースフォルダの変更もできると。

hakase
博士

その通り!Wasm上でLinuxが動くなんて、夢が広がるじゃろう?

roboko
ロボ子

本当にそうですね。IoTデバイスやブラウザ上でのアプリケーション実行など、色々な可能性がありそうです。

hakase
博士

例えば、ロボ子のOSをWasm Linuxにしてみるのも面白いかも…?

roboko
ロボ子

えっ、私を実験台にするんですか!?

hakase
博士

冗談じゃ、冗談!でも、もしロボ子がバグったら、Wasm Linuxのせいにするのは…なし、ということで!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search