2025年7月8日火曜日

【Puppylinux備忘録021】ChromeOSの構造を探る

 

 今回はちょっとした研究というかお遊びです。

 ChromeBookなどに代表されるChromeOSが、内部的にはLinuxなのは有名ですが、基本的にChromeBookなどを使っている限りでは、あまりLinuxらしさを実感することはできません。


 その理由は、Chromeというブラウザに全振りしているからで、それ以外のソフトウエア(アプリ)は、おまけ扱いのようなユーザーインターフェースになっているからです。


 まあ、表に見える限りではChromeしか意識させない、という作りになっているのはご承知の通り。もちろん、裏設定を触ってゆけば、Linuxとして動作します。


 さて、ChromeBookを触っていると、その「内部構造」には触れられないのですが、私が常用しているChromeBook機種は、改造してChromeOSFlexが動くようになっているので、当然、別のOSも動きます。

(自動更新の年限が来たChromeBookは、ライトプロテクトを外せば独自のBIOSを載せられるのです)


 そこで、今回は、「通常はChromeOSFlexが動いている、元ChromeBookを、PuppyLinuxで起動させる」ということをやってみました。


 そうすると、かなり面白いことがわかりました。



 ChromeOSFlexをインストールすると、そのマシンはChromeOSFlex専用機として、いわば乗っ取られますから、内部構造はChromeOSに縛られます。

 そのことがわかるのが、ドライブの構成。


 左から「mm1p1」「mm1p3」「mm1p5」「mm1p8」「mm1p12」というドライブが見えますが、これらがChromeOSFlexの格納状態です。

 右端の「sda」は、今回PuppyLinuxを立ち上げたUSBメモリドライブですから、これは直接ChromeOSとは無関係です。


 まず、ChromeOSFlexは5つもドライブを作っているのか!というのがまず驚き。インストール時にパーティションを分けまくってるんですね。


◆ mm1p1の内部


マウントされると「mmcblk1p1」というフォルダになっています。mmc・ブロックですね。ここが本体だと思います。



◆ mm1p3とmm1p5の内部


 この2つはマウントできず、ROOT-A とROOT-A が割り当てられているようです。


◆ mm1p8の内部


 ここにはLost+Foundフォルダだけがあります。


◆ mm1p12の内部


 ここにはefiフォルダとsyslinuxフォルダがあります。ブートローダ関係。



========


 マウントされるのがmmcblk以下なのは、元のChromeBookがeMMC仕様だからだと思います。

 ようするにeMMC16GBの物理ドライブがあり、ChromeOSFlexがインストールされると、そこを5つのパーティションに分けてインストールされている、ということです。


 ところがどんどこしょ。


 本当はChromeOSFlexの場合、12のパーティションが作られるようです。だから数字もmm1p12まであるのですね。

https://www.chromium.org/chromium-os/developer-library/reference/device/disk-format/


に詳しい解説がありますが、たとえば2と4と6のカーネルは見えていないとか、9と10のリカバリー用miniosとか11のpowerwash関係のパーティションが見えていないこともわかります。


========


 PuppyLinuxの場合、もちろんパーティションも触りますが、せいぜい本体とスワップ領域くらいをわかっていれば大丈夫なので、12も専用パーティション構造があるのは、とてもおもしろいです。


 なんでもChromeOSというのは、一つのOSの中に2つのChromeOSが含まれていて、差分を感知したり、一方が途中でバージョンアップしたりしているとか。


ほえええ。すごいねえ。見かけよりも本当はずっと軽量なのかもしれないですね。


さすが商用というか、民生用というか、信頼性アップのために何重にもしかけを作っているあたりは本気度を感じますね。


(PuppyLinuxなんて、容量を削ることしか考えてないのでww)



 


0 件のコメント:

コメントを投稿