みなさん、好きなOSは何ですか?もちろん私は...


petitstrawberry
Y1-OS自作ゼミ チューター

セキュリティ・キャンプ 2026 LT会

2026/08/11

Linux, FreeBSD, Windows, macOS ???

(ディストリビューションは問わない... え, ChromeOS?)

色々な宗教戦争が行われてきた...

今日, 終止符が打たれる

自作OSでしょう

カーネルからユーザランドまで全部自作すれば, 自ずと自分に最適な環境が出来上がるはず

今回はそういう話をします

自己紹介

  • 立命館大学 M2 情報理工学研究科, M研究室
  • 去年のセキュリティ・キャンプ ネクストに参加
  • 今年は, Y1 自作OSゼミのチューターとして参加
icon

X: @petitstb
GitHub: petitstrawberry

とはいえ...

Q. 「結局, 自作OS作ったって, 実用できないでしょう?」
A. 「ぐぬぬ... それでも...! 趣味だけど....! 何とか普段の生活で使えるようにしたい....!」

こういう機能が欲しいなあ...

  • もちろんいい感じのGUI
  • インターネットに行きたい...!?
  • 動画見たいよなあ...
  • ゲームしたいし...
  • というか, 既存の資産が使えなかったら実用なんてできないよ...

とにかく作ろう!!

Scarlet

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

img right

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

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

デモ兼機能紹介

時間があるだけ紹介します

img right

  • 自作OSでDOOMを動かす
    • 去年のLT会で話した内容
  • Linuxアプリが動く様子
  • 阿部寛
  • ゲームもしちゃう?
    • QEMU + VirGLで3D描画もできる..!
  • Rust Stdが使えるとこんなことも...
    img right
    • 既存の豊富なcrateが使える
    • ゲームのエミュレータも?
  • いけてるUIライブラリ ScarletUI
    • 何気にクロスプラットフォーム
    • rust stdにscarletをターゲットに追加した恩恵
実際に会場で再生した動画 (実際はスライドではない区間)
LTでは実際には紹介しきれなかった動画たち
すでにバレている気がしますが...

ここまでQEMU上で動くデモを見せてきましたが...

実用したいなら実機で動かないとダメでしょう..!?

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

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

実はここまでのデモ...

Apple Silicon Mac (実機) で動かす

実は, LT自体が実機で動かすデモでした (これがやりたかっただけ)

つまり, これらのことがM1 MacBook Pro上ですでにデモンストレーション済み

  • 自作OS Scarletが動く
  • もちろんキーボードやトラックパッドが使える, USBも使える
  • 画像, PDFビューアが動く
  • 動画が再生できる ハードウェアデコーダが叩ける!
  • 外部ディスプレイが使える Type-C Alt ModeでDisplayPortを流せる!

ありがとうございます, Asahi Linuxコミュニティの皆さん

  • ドライバの大半を参考にさせていただきました

[2] Asahi Linux: https://asahilinux.org

おわりに

自作OS + 実機でプレゼン兼デモに成功 (ここですでに死んでいたら笑ってやってください)

これは実用できていると言っても過言ではない!?

他はおまけ!

  • 自作OSでRust Stdが使えると, 既存の豊富なcrateが使える
  • Linuxアプリも動く (GUIアプリも)
  • GPUも一部使える (独自Graphics API + VirGLで3D描画も)
  • 動画が見れる
    • YouTubeが見れる (4Kも)
icon

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

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

pagenate: off