(寝ている間に)30日でできる自作OS?


petitstrawberry

サイボウズ・ラボユース夏合宿2026 LT会

2026/08/28

Scarlet (いつもの... 飛ばしてOK)

去年からこんな感じの自作OSを作ってきた

img right

  • 複数OS向けバイナリの透過的な実行
    • ユーザやプログラムは何も意識せずに
      execやshellを使うだけで,
      色々なOS向けのバイナリが動く
    • Linuxアプリが動く
  • Rust製
    • Rust stdが使える (targetに追加済み)
  • 専用のビルドシステムも完備
    • yoctoみたいなやつ
  • そこそこ色々な機能がある
    • 後述

[1] Scarlet: https://github.com/petitstrawberry/Scarlet

こういう感じ

img right

  • 自作OSでDOOMを動かす
  • Linuxアプリが動く様子
  • 阿部寛
  • ゲームもしちゃう?
  • Rust Stdが使えるとこんなことも...
    img right
    • 既存の豊富なcrateが使える
    • ゲームのエミュレータも?
  • いけてるUIライブラリ ScarletUI
    • 何気にクロスプラットフォーム
    • rust stdにscarletをターゲットに追加した恩恵
実機で動かしたいですよね...?

実機でScarletを動かすことに取り組んできていました

  • Apple Siliconで動かす話
icon
  • Kernel/VM探検隊@関西 12回目
    • PCIデバイスの位置を誤魔化すハイパーバイザを作った
      + 【令和最新版】 ARM開発環境 Apple Silicon Mac お手軽開発ボードM1 MacBookで自作OSを動かそう!
    • https://slides.ichigo.dev/20260530-kernelvm

そして, さらに登場... 今, アツいPC, Chromebook で動かしたい!

ここがすごい!

  • 安い (モノを選ばなければ3000円で買える)
  • 中身がほとんど公開情報 (Linux, ChromeOS (ChromiumOS), Boot loader(coreboot, depthcharge))
  • 謎のデバッグケーブルを作ればSerialが見れたりResetできたり, Firmwareの書き換えもできる
セキュリティキャンプのOS自作ゼミにて...

某liumさん「これすごいでしょ〜」

USBポートが3ついた謎の基盤「こんにちは」

「なんですかこれ」

某liumさん「USBスイッチャーです!」

USBデバイスの接続先を2つのホストでソフトウェア制御で切り替えられる装置

「何が嬉しいんですか?」

某liumさん「これで, 自作OSのデプロイのためにUSBメモリを抜き差しする必要がなくなる!Claudeちゃんに制御させれば...!」

「なるほど!僕もやるぞ!」

電子工作できんので... USB Gadget

電子工作ができんので, USBスイッチャーを自作するのではなく, 別の方法で楽々デプロイすることにしました

作るもの

Raspberry PiをUSB Mass Storageとして見せかけて, 疑似ネットブートを可能にするやつ

img center

何が嬉しいのか

img right

  • 元々Chromebookに備わってる機能
    • ECをSerialで制御可能
      • resetや内蔵キーボードの操作が外部から可能
    • APのSerialにアクセス可能
      • 自作OSのコンソールが見える
  • 今回追加した機能
    • ネットワーク経由で自作OSのイメージを差し替え可能

全部, LLMに操作させることが可能!

寝てる間に自作OSの実装, デバッグできるのでは...!?

使用感レビュー

そこそこ良さげ (LLMに支払うお金の問題を除けば)

「GPUドライバを実装中で, そこそこ動くようにはなったが, CPUで描画してるよりも遅いのでなんとかして」
GPT-5.6 sol「OK」
(飯)
「調子どう?」
GPT-5.6 sol「GPUドライバやSWS(ウィンドウシステム)内のデータコピーを減らしたり, いくつかのリクエストをバッチ化して, 2倍以上速くなりました!!」

(実際, 自作UIフレームワークScarletUIのベンチマーク結果が, 15fpsから40-50fpsに改善)

(GPUドライバの最適化しか頼んでないからスコープ超えてるんだけどな... まあ, 速くなったならいいか)

before / after

なんかこう...
滑らかになっているのがわかりますか?実際に触ってみるとヌルヌル感が違います

おわりに

自作OSデプロイ環境をいい感じに自動化可能にし, LLMくんに操作させると, GPUドライバをいい感じに最適化してくれるようになった

映像を見せたり, USB HIDの操作もさせられるようにすれば, 本当に寝ている間に開発・デバッグさせられるのでは...? と目論見中

今回はその前段階として, GPUドライバの最適化を完全に自動でやらせることに成功した

img right

icon

ScarletのGitHubリポジトリ
https://github.com/petitstrawberry/Scarlet

次はMacbookでもGPUで爆速ウィンドウ合成や
3D描画をしたいなあと思っています

そもそもChromebookで自作OSを開発する話も
書きたいなあと思っています

pagenate: off