Chromebook linux(crostini)からSDカード、Googleドライブを見る

chromebooklinuxオプション機能(crostini)は、SDカード(microSDカード)やGoogleドライブを見ることができる。 「ファイル」アプリでちょっと変更するだけ。(「設定」アプリではない。なお、ChromeOS GUIの右クリックは「Alt」キーを押しながらクリックだ)

linuxコンテナ(penguin)の前に、まず親のChromeOSでどう見えるかというと、SDカードは/media/removableの下にマウントされる。

localhost ~ # df /dev/mmcblk1
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/mmcblk1     3858432  1024   3857408   1% /media/removable/SD4G

Google Driveは/media/fuseだ。

localhost ~ # df -h /media/fuse/drivefs-*/
Filesystem      Size  Used Avail Use% Mounted on
drivefs          11G  3.0G  7.4G  29% /media/fuse/drivefs-33427e8bxxxxxxxxxxxx0d3dacd7f

ChromeOSから起動されるtermina VM(linuxコンテナの管理サーバにあたる)では、以下のようになっている。

(termina) chronos@localhost ~ $ df -h /mnt/shared/
Filesystem      Size  Used Avail Use% Mounted on
9p              1.9G  572K  1.9G   1% /mnt/shared

(termina) chronos@localhost ~ $ ls -l /mnt/shared/
total 0
drwxr-xr-x 3 root root 60 Jul  7 12:12 GoogleDrive
drwxr-xr-x 3 root root 60 Jul  7 12:12 removable

「9p」というのは、NFS/CIFSの親戚?で「9protocol」というらしい。今はGoogleにいる、unixの開発者が作ったOS「plan9」(B級SF映画のタイトルからつけられた)の技術の一つ。Crostini(イタリア料理の一種からつけられた)を構成するパーツにつけられた、コンシェルジュとかソムリエ(フランス語のホテル・レストラン関係の職種からつけられた?)とかのネーミングはおそらくこの人たちの仕業と思われる。親であるChromeOS上で「9p」をしゃべるサーバプログラムの名前は「9s」(9 server)らしい。

linuxの容量が足りない場合、removableの下にマウントしたSDカード(removable)か、インターネット越しのGoogle Driveを利用するしかない。/usr/を増やすことはできないので、アプリを増やす用途だと難しい。ビルド作業用など/home、/work的な用途のみ。

termina VMのrootがとれないのと、penguinコンテナのrootはエセrootなので、loopマウントなどの回避策が使えない。 セキュアなんだろうが不便だ。 コンテナをSDカードの中に作れるオプションがほしい。