seL4/musl libc/CAmkESを使ってCRubyを動かした

表題の通り、seL4/musl libc/CAmkESを使ったカーネル上でCRubyを動かせるようにしてみた

やっていることとしては今年のRubyKaigi 2026のLTで話した「ベアメタル上でCRubyを動かす」というのがベースにある
LTでは自作カーネル上でCRubyを動かしていたけど、今回はよりセキュアかつパフォーマンスも良さそうなseL4を採用している点が違いになる

自作カーネルの場合、動かすことまではなんとかなるけど、より実用的なものにするとなると色々やることが増えてくる
またセキュリティの問題なども対応しなければならず、その辺りのコストがかなりかかるのではという懸念もあった

そこでセキュアかつハイパフォーマンスなseL4を使えないか試してみたというのが背景にある
また他のハードウェアへの対応コストも抑えられそうというのもあった

実際のところseL4を採用したことで移植はかなりやり易くなったのではないかと思う
また自作カーネルの時はビルド時にパッチを適用する必要があったが、CAmkESを合わせて採用したことでそのあたりの差分もうまく回せるようになっている

今後としてはネットワーク周りの対応などを進めていきたい
あとは面白そうなハードウェアへの移植などもやってみたい