LoginSignup
5
5

More than 1 year has passed since last update.

Chromebook Linux環境 備忘録

Posted at

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。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5