1
Help us understand the problem. What are the problem?

posted at

Chromebook Linux環境 備忘録

ChromebookにLinux環境を入れてみた。インストール自体はワンボタンでできてしまう。
インストールすると下記のようなターミナルが表示されてシェルが扱えるようになる。

そもそもChrome OS自体がLinuxベースで動いているはず。さらにLinuxをインストールするとはどういうことか?気になったので調べて整理してみた。

どうやらこんな感じの入れ子構造になっているっぽい。

chromes.png

今回インストールしたLinuxは水色のPenguin Containerの部分。

Chrome OS

一番下のChrome OSのユーザランドには、croshでアクセスができる。croshはChromeブラウザーでCtrl-Alt-Tを押すと起動する。
unameを見ると4.19系のカーナルが動作していることが分かる。

Screenshot 2021-08-22 10.35.55.png

Termina VM

crosvmでvmcコマンドを実行して、動作しているVMのリストを確認する。
terminaというVMが動作しているのが分かる。

crosh> vmc list
termina (10737426432 bytes, min shrinkable size 2723151872 bytes, raw)
Total Size (bytes): 10737426432

crosvmでvshコマンドを実行して、VMの中に入る。
unameで5.4系のカーネルが動作していることが分かる。/etc/os-releaseでディストリビューションがChromium OSであることも分かる。
上記のページに書いてある内容と一致する。TerminaはChrome OSのLinuxカーネルとユーザランドからコンテナ実行に必要な要素以外を削ぎ落としたもの。

Termina is a VM image with a stripped-down Chrome OS linux kernel and userland tools. Its only goal is to boot up as quickly as possible and start running containers.

crosh> vsh termina
(termina) chronos@localhost ~ $ uname -a
Linux localhost 5.4.119-14945-gafc97d54f809 #1 SMP PREEMPT Tue Aug 10 21:44:33 PDT 2021 aarch64 GNU/Linux
(termina) chronos@localhost ~ $ cat /etc/os-release 
NAME=Chromium OS
ID=chromiumos
HOME_URL=https://www.chromium.org/chromium-os
BUG_REPORT_URL=https://crbug.com/new
VERSION=92
VERSION_ID=92
BUILD_ID=13982.81.0

Penguin Container

termina VMでLXD環境で動作しているコンテナ一覧を表示する。
penguinという名前のコンテナが動作しているのが分かる。

crosh> vsh termina
(termina) chronos@localhost ~ $ lxc list
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
|  NAME   |  STATE  |         IPV4          |                     IPV6                      |    TYPE    | SNAPSHOTS |
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
| penguin | RUNNING | 100.115.92.203 (eth0) | 2402:6b00:752c:a700:216:3eff:fed9:6470 (eth0) | PERSISTENT | 0         |
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+

lxc execコマンドで中に入ってシェルを実行する。ChromebookにLinuxをインストールすると起動するターミナルアプリでも同じシェルが起動していると思われる。

(termina) chronos@localhost ~ $ lxc exec penguin -- /bin/bash
root@penguin:~# uname -a
Linux penguin 5.4.119-14945-gafc97d54f809 #1 SMP PREEMPT Tue Aug 10 21:44:33 PDT 2021 aarch64 GNU/Linux
root@penguin:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

penguinはシステムコンテナなので、カーネルはTerminaVMと同じはず。unameで確認すると、たしかに5.4.119となっていて同じっぽいことが分かる。
ユーザランドはDebian。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?