Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSもどきOS

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 OSもどきOS

Kernel/VM探検隊@関西 12回目

Avatar for Sora Arakawa

Sora Arakawa

May 30, 2026

More Decks by Sora Arakawa

Other Decks in Programming

Transcript

  1. 荒川 奏良 (Sora Arakawa, arkw) OSもどきOS 2026/05/30 Kernel/VM探検隊@関西 12回目 さくらインターネット株式会社

    Blooming Camp + オンライン (YouTube Live) (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/
  2. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 自己紹介 •

    荒川 奏良 (Sora Arakawa, arkw) • 静岡大学 情報学部 行動情報学科 卒 • おもんない会社でおもんない仕事 • 愛知県岡崎市出身→三重県四日市市在住 • 趣味 : プログラミング、デザイン、移動など • 最近は同人誌即売会によく出ています • 次は当落待ちのコミックマーケット108 • https://arkw.net/ • Twitter (現X) : @arkw0 • Misskey (ActivityPub) : @[email protected] X (Twitter) / Misskey Discord
  3. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ What’s “OSもどき”

    ? • OSを模倣したジョーク (ランチャー) プログラム • 単独でOSとして動かすことはできない • 開発言語は主にHSP (Hot Soup Processor) • Highly Sensitive Personではない • 2010年代プロガキ (※プログラミング中毒のガキ) の必修科目 • 流石にオワコンか?…と思いきや、未だに年1~2本はHSPプログラムコンテスト で見る地味に長寿なコンテンツ
  4. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ [PG_MANA 2016]

    出典: https://x.com/PG_MANA_/status/712253671497539584
  5. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 導入 OSもどきを

    Linuxに載せよう (他候補: Windows PE、ReactOSなど…)
  6. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 方針 •

    Windows向けのOSもどきをLinux+Wineで動かす • ディストロにはカスタマイズが容易かつ軽量なTiny Core Linuxを選定 • 現在も開発中で、最新バージョンは2026年2月の17.0 • ただし、今回は少し古い12.0 (+Wine 5.x) を使用 • 以降のリリースに付随するWineは初期化中にフリーズするため • ライブCD形式で実機/仮想マシンから起動直後にOSもどきを立ち上げる • 開発環境に普段と同じWindowsを活用 (WSL+VSCode+VirtualBox)
  7. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ まずはISOイメージを解体 $

    mkdir iso $ sudo mount -o loop TinyCore-12.0.iso iso $ cp -a iso iso_data $ sudo umount iso $ rmdir iso
  8. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ core.gz (ルートファイルシステム)

    も解体 $ mkdir core $ cd core $ zcat ../iso_data/boot/core.gz | sudo cpio -i -H newc -d
  9. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ OSもどきの選定 •

    当初はインターネットで適当に探して突っ込む予定でしたが… • 著名なOSもどきが既にインターネットから消えていた • OSもどきブーム? は2015年前後 • 黒歴史の封印、移転に伴うリンク切れ、etc...でバイナリを発見できず • 仕方が無いので簡易的なものを自作 • 開発言語はもちろんHSP3 • 機能はロック解除、時刻、電源周りだけ • 実行ファイルとアセットを /opt/osmodoki/ に配置
  10. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ Wineのインストール •

    Tiny Core LinuxはTCZファイルでソフトウェアを追加できる • 内蔵のApps または http://www.tinycorelinux.net/17.x/x86/tcz/ • 依存ファイルは*.tcz.depに記載 • 特に必須ライブラリの無いパッケージでは404エラー • 自作のPythonスクリプトで*.tczと*.tcz.md5.txtをまとめて取得 し ./iso_data/cde/optional/ へ保存 • onboot.lst (+copy2fs.lst) にWineと依存ライブラリを全て記述 • このファイルに記載したパッケージは、起動時に自動で読み込まれる • wbar.tczを消すと画面下部のDock風ランチャーが消える • wine-gecko.tczとwine-mono.tczも忘れずに!! • 入れておかないとWineの初回実行時にエラーダイアログが出てしまう
  11. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ シャットダウン/再起動用のシェルスクリプト •

    折角なのでOSもどきから電源を制 御できるようにする • WineからLinuxコマンドの直接実行 は難しいらしく、右のシェルスクリ プトを挟み対応 • バックグラウンドで1秒毎に動作 • Wineアプリケーションから poweroffファイルを生成すると シャットダウン、rebootファイル を生成すると再起動 (内容不問) • HSP3ではbsaveまたはnotesave #!/bin/sh POWEROFF_TARGET="/opt/osmodoki/poweroff" REBOOT_TARGET="/opt/osmodoki/reboot" while true do if [ -f "$POWEROFF_TARGET" ]; then rm -f "$POWEROFF_TARGET" sudo /sbin/poweroff exit 0 fi if [ -f "$REBOOT_TARGET" ]; then rm -f "$REBOOT_TARGET" sudo /sbin/reboot exit 0 fi sleep 1 done
  12. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ OSもどきを自動実行 •

    Tiny Core Linuxでは、X11の起動時に /home/tc/.X.d/ 内の *.sh ファイル が全て実行される • デフォルトユーザtcは起動中に自動生成 • ただし、フォルダだけ先に作っておくことも許容される • パーミッションを間違えるとエラーを吐くため注意 • X11が絡まない処理は予め用意された /opt/bootlocal.sh にも書けます #!/bin/sh export LANG=ja_JP.UTF-8 export LC_ALL=ja_JP.UTF-8 fc-cache -r -v nohup /opt/osmodoki/monitor.sh >/tmp/monitor.log 2>&1 & wine /opt/osmodoki/osmodoki.exe
  13. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ core.gzとISOイメージを元に戻す $

    cd core $ sudo find . | sudo cpio -o -H newc | gzip -2 > ../core.gz $ cd ../ $ sudo mv ./core.gz ./iso_data/boot/ $ cd iso_data $ sudo mkisofs -l -J -R -V TinyCore -no-emul-boot -boot- load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o ../TinyCore-12.0- osmodokios.iso .
  14. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ core.gzとISOイメージを元に戻す •

    x86_64版はBIOS/UEFI両対応のため、コマンドが微妙に変わります • 最近のマシンでも動くぞ!! • ISOイメージは20MB→313MBに大増量 • Wine一式が収まってこのサイズは驚異的とも $ sudo mkisofs -pad -l -J -R -V TinyCorePure64 -no-emul- boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat - hide-rr-moved -eltorito-alt-boot -e EFI/BOOT/efiboot.img -no-emul-boot -o ../TinyCorePure64-12.0-osmodokios.iso
  15. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 動いた! •

    起動時間はCPU2コア+メモリ1GB設定で2分程度 (Wineの初期化含む) • メモリ使用量は900MB弱 10fpsでも結構モッサリ
  16. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 今後の課題 •

    実機での挙動は未確認 • ここまでのスクリーンショットは全てVirtualBox • 64ビット対応が微妙 • Tiny Core Linux 64ビット版のwine.tczでは32ビットバイナリが動作しない • 32ビット版から新しめのWineを移植 or OSもどき側を64ビット化 • HSP 3.5以降はhsp3_64.asのインクルードに対応 • 音が出ない • ALSAとPulseAudioのインストールで解決しそう • 日本語入力に未対応 • Tiny Core Linux 11まではインターネット上にAnthyの導入実績有 • Windows (ReactOS) 用のIMEって動くんですかね
  17. (c) 2026 Sora Arakawa all rights reserved. https://arkw.net/ 宣伝 •

    技術書典20 新刊「イロイロ・アンドロイドplus!!」 • 元々のハード/ソフトを破壊しない範囲で、スマートフォンなどAndroidデバイス を限界まで活用する方法を紹介 • 昨年秋に出した「イロイロ・アンドロイド!!」の増補版 • 表紙イラストはXで最近人気のまほろさん (@maho__ron1) • B5サイズ/表紙のみカラー/本文124Pで500円 • 次のリアルイベは夏コミ? BOOTHにも出品予定 • 本日も数冊持ち込んでいます。お求めの方は荒川まで • 「エンジニアの中国語入門 第3版」メロブ委託中 • 2023年以来、総発行500部超の人気作 • 書泉ブックタワー入荷分は完売の模様 (2026/05/11現在)