USBメモリでOS運用
先日、導入したChromeOS Flexがなかなか良かったので別のシンクライアントOSを立ち上げてみました
シンクライアント端末はChromeOSで使うのですがUSBメモリに丸ごと入れて持ち歩けるOSというテーマで作ってみました
とはいえ昨今はセキュリティ強化されてるので出先のPCでUSB起動のOSは動かないかもしれません
PCは先日掲示板に書いた、HPのT530を使って動かしています
https://king.mineo.jp/reports/320052
この端末、4GBのメモリを搭載していますがGPUに500MBぐらい持っていかれて、CPUが使えるメモリ容量は3.29GBほどです
立ち上げ直後にメモリ使用量を確認すると
927,688/3,451,680
でした
ChromeOS Flexで確認すると
1,003,688/3,443,108
なので、Lubuntuの方が優秀です
使用感ですが、USBメモリが遅いので立ち上がりに時間がかかります。ブラウザの立ち上げも時間がかかります
しばらくして安定すると軽快な動作となります
新規アプリの起動はUSBメモリからロードするので、やはり時間がかかります
ただし、インストール直後は非常に遅い状態ですが、なるべくUSBメモリを使わない設定にすることで快適になります
以下に、インストールと設定の手順を順に書いていきます
用意するもの
ストレージのついてないPC
USBメモリ、2本、32Gを2つ使っているがインストール用は8GB程度で良い
1. PCを使ってインストールUSBを作成します
1-1. lubuntuのHPからisoイメージのダウンロード
1-2. インストールイメージ作成ソフトを使って
USBメモリの作成
私はlinuxなのでrpi-imagerを使用した
winならRufsらしい
2. 別のUSBメモリにlubuntuをインストール・起動
2-1. ストレージのついてないPCに2本のUSBメモリを
さしてインストールを行う
#HDDがついてるPCだとインストール先にUSBを指定
してもパーティションを自動で作ってくれなかった
#minimalでインストールした
2-2. インストール後、インストールUSBメモリを
抜いて、再起動でlubuntuを起動
3. ブラウザのインストール(2がminimalだから)
3-1. aptコマンドでfirefoxをインストール
3-2. firefoxでchromeをダウンロードインストール
3-3. firefoxをsnapコマンドでアンインストール
#ブラウザを入れるのは手順を検索するため。
#swapのzram化を行ってないとPCは非常に重い
4. USBを用いない設定を行う
4-1. zramの作成、およびスワップをzram上に作る
4-2. ファイルスワップの削除。スワップ設定の恒久化
4-3. /tmpディレクトリのtmpfs化
4-4. chromeの--disk-cache-dirでキャッシュを
/dev/shmに変更するスクリプトで起動する
ようにする(デスクトップアイコンから起動)
5. 日本語入力のインストール
6. 各種アプリのインストール
mpv、audacious、mcomix、etc.......
これでswapとchromeのキャッシュをUSBメモリに書き込まなくなり動きが軽くなります
#2025/10/25追記
Lubuntuのメモリの消費量は、swapをzramに設定した後の数値で結果swap込みの値になります。初期状態ではないのを明示し忘れてました
chromeOS Flexも見るとswapをzramに設定していました



高速USBメモリを用意するのも面白くないので、この安物で運用していきます
#なーに読み書きしなければどーということはない(by赤い人)
zramが何者かというと、メインメモリを切り出してramdiskを作ります。zram自体は書き込んでいくと大きくなっていきます
ここにswap(仮想メモリ)を作成します
zramにswapを退避してるのにメインメモリが減っていくという不思議なことをやっているのですが、zramは圧縮がかかるので、仮想メモリに退避することでメモリ空間が大きくなるという結果になります。読み書きの手間でCPUに負荷はかかりますが・・・
また、tmpfsは何かというと、これもメインメモリを切り出してramdiskを作ります
/tmpはプログラムが一時ファイルを作るときに使うディレクトリなのですが、これをUSBメモリ上からramdiskに変更しているのです
これもメモリを消費します。ただ、メインメモリが圧迫されたらzramにswapするので、メインメモリ上に作ったといっても実質zram上に作ったようなものなのです(逼迫したらですが)
そして、/dev/shmは、デフォルトで存在するtmpfsのramdiskです。こちらにchromeのキャッシュを指定することで、やはりUSBメモリに書く代わりにメモリに書き込みます
こうやってUSBメモリ書き込みをRAMに置き換えることで遅いUSBメモリでも動作するOSとなります