chrmlinux03 が 2026年02月25日10時06分24秒 に編集
初版
タイトルの変更
【unoQ】Windowsを動かしたにょ【小さなLinux機】
タグの変更
Arduino
linux
unoQ
メイン画像の変更
記事種類の変更
セットアップや使用方法
ライセンスの変更
(MIT) The MIT License
本文の変更
## ここにunoQ 5部作が完了する [第一章 初期化](https://elchika.com/article/fa6aa078-cea1-45dd-9637-706a9706d100/) [第二章 QRB/MCU通信](https://elchika.com/article/3db47972-9612-4930-b965-26c4479044b0/) [第三章 デスクトップを液晶に](https://elchika.com/article/e3d1d722-c708-484a-a88d-1c349f0387f5/) [第四章 ROS2を簡単に](https://elchika.com/article/5af32b4e-22a9-41e6-9644-7052a7162368/) ## 2GB/16GBモデルで挑む ReactOS への「極限ダイエット」レシピ LinaQ の **メモリ 2GB / eMMC 16GB モデル**。\ この限られたリソースを使い切り、Windows 互換 OS「ReactOS」を共存させる。 最大の特徴は、**専用アプリ不要**であること。\ PCでもスマホでも、**ブラウザさえあれば**どこからでも ReactOS を操作できる環境を構築します。 ------------------------------------------------------------------------ ## はじめに:2GB モデルだからこそ、削る価値がある 4GB モデルなら余裕で動くかもしれません。\ しかし 2GB モデルで ReactOS を快適に動かすには、OS レベルでの徹底的な断捨離が不可欠です。 ### メモリ 2GB の戦い Linux システムが抱える不要なメモリ消費を極限まで削ぎ落とし、\ ReactOS に 512MB を安定して明け渡す。 ### eMMC 焼き直しの安心感 PC から専用ツールで eMMC を工場出荷状態に戻せるため、\ 失敗を恐れずストイックなカスタマイズが可能です。 ------------------------------------------------------------------------ ## ストレージの「断捨離」ビフォーアフター 状態 使用量 (Used) 空き容量 (Available) 使用率 ------------------ ---------------- ---------------------- ---------- クリーンアップ前 約 1.9 GB 約 7.8 GB 約 20% クリーンアップ後 約 0.7〜0.8 GB 約 9.0 GB 以上 約 7〜8% Docker や GUI スタックを削除することで、\ 1GB 以上の余白を確保できます。 ------------------------------------------------------------------------ ## 準備:システムの徹底クリーンアップ 以下を `slimdown.sh` として保存し、sudo で実行してください。 ``` bash #!/bin/bash set -e if [ "$EUID" -ne 0 ]; then echo "Please run as root (use sudo)" exit 1 fi echo "[1/9] GUI / メディアスタックの削除" apt purge -y xserver-* x11-* libx11-* libwayland-* mesa-* libgl1* gstreamer-* qt* pulseaudio alsa-utils || true echo "[2/9] 開発ツール & Dockerの完全排除" apt purge -y build-essential gcc g++ make llvm-* git docker-ce docker-ce-cli containerd.io || true echo "[3/9] 印刷 / その他不要サービスの削除" apt purge -y cups* avahi-daemon || true echo "[4/9] キャッシュクリア" apt autoremove --purge -y apt clean rm -rf /var/lib/apt/lists/* echo "[5/9] Docker データの物理削除" rm -rf /var/lib/docker /var/lib/containerd echo "[6/9] ドキュメント & ロケールの削除" rm -rf /usr/share/man/* /usr/share/doc/* /usr/share/icons /usr/share/themes /usr/share/backgrounds /usr/share/sounds find /usr/share/locale/ -maxdepth 1 -mindepth 1 -not -name 'en*' -exec rm -rf {} + rm -rf /usr/share/i18n echo "[7/9] 不要なファームウェアの削減" rm -rf /usr/lib/firmware/amdgpu /usr/lib/firmware/radeon /usr/lib/firmware/intel /usr/lib/firmware/nvidia /usr/lib/firmware/mellanox /usr/lib/firmware/netronome /usr/lib/firmware/qcom/venus* echo "[8/9] ログとフォントの削除" rm -rf /usr/share/fonts/* /usr/share/mime/* journalctl --vacuum-time=1s || true echo "[9/9] サービスの停止" systemctl disable cups 2>/dev/null || true systemctl disable avahi-daemon 2>/dev/null || true echo "Done." ``` ------------------------------------------------------------------------ ## ReactOS の正当性 https://reactos.org/  ==ReactOS は Windows バイナリを使用せず、\ クリーンルーム設計で開発されたオープンソース OS です。== ------------------------------------------------------------------------ ## 基盤ツールのインストール ``` bash sudo apt update sudo apt install qemu-system-x86 qemu-utils novnc python3-websockify xvfb openbox x11vnc unzip -y ``` ------------------------------------------------------------------------ ## ブラウザ操作環境(noVNC)の起動 ``` bash # 仮想ディスプレイ Xvfb :1 -screen 0 1024x768x24 & export DISPLAY=:1 openbox & # VNC + Web変換 x11vnc -display :1 -nopw -listen localhost -xkb -forever & websockify --web /usr/share/novnc/ 6080 localhost:5900 & ``` ------------------------------------------------------------------------ ## ReactOS 構築レシピ ``` bash mkdir -p ~/vms/reactos && cd ~/vms/reactos qemu-img create -f qcow2 reactos_drive.qcow2 2G wget https://iso.reactos.org/reactos/ReactOS-0.4.14-release-74-g9081054.zip unzip ReactOS-0.4.14-release-74-g9081054.zip export DISPLAY=:1 qemu-system-x86_64 -m 512M -hda reactos_drive.qcow2 -vga std -net nic,model=ne2k_pci -net user -boot c & ``` ------------------------------------------------------------------------ ## 操作方法 ブラウザで以下へアクセス: http://<LinaQのIPアドレス>:6080/vnc.html SSHトンネル使用時: ``` bash ssh -L 6080:localhost:6080 arduino@<LinaQのIPアドレス> ``` その後: http://localhost:6080/vnc.html ------------------------------------------------------------------------ ## まとめ 2GB という制約の中で、\ 不要なものを削ぎ落とし、ReactOS を共存させる。 専用アプリ不要、ブラウザだけで操作可能な環境。\ これが LinaQ × ReactOS の極限構築レシピです。 ## さいごに @[x](https://x.com/chrmlinux03/status/2025491817157034319) いつもご清聴ありがとうございます。 エンジニアはロマンですね(謎