#ChromeOS

In this post, I record the tips I learned while using Chrome OS.

Virtual console

If you press Ctrl + Alt + T in the Chrome browser, Crosh (Chrome shell) appears, and if you type “shell” at the Crosh prompt, even a bash shell is launched. However, in the Chrome browser, sometimes the output was incomplete, so it was convenient to enter the virtual terminal. Press Ctrl + Alt + F3 to move to the virtual terminal screen. As in general Linux, you must enter an ID at the same time you connect. The default ID is “chronos” and the password is “chrome”. This password can be manually set when compiling ChromiumOS.

Partitions

In general, in Linux, swap and / partition are usually set as default. Chrome OS configures partitions in a fairly complex form, and this configuration cannot be changed. Chrome configures separate partitions for home, boot, kernel, and / respectively. At this time, the kernel and / partitions create two more pairs of partitions for A/B updates and for emergencies. In this way, there are a total of 8 partitions essential for running Chrome OS, and including other small partitions, a total of 12 partitions are automatically set on the disk.

If you check the partition settings with the mount command, you can see that the settings are different for each partition. For example, the / partition is readable but not writable, and the home partition is readable but not executable. In this way, for security reasons, Chrome OS subdivides partitions and grants only the minimum necessary privileges to each partition. However, writing to the / partition is not possible, which is inconvenient during development or debugging. It can be mounted so that it can be written simply with the following command.

$ sudo mount -o remount,rw /

Chrome OS session

Chrome OS starts in a process called session_manager. Therefore, if the session_manager process is forcibly terminated, Chrome OS does not appear even if you press `Ctrl + Alt + F1’. You can restore Chrome OS with the following command.

$ sudo session_manager

Daemons

Most of the services composing Chrome OS operate in the form of daemons, and most are sandboxed with minijail. minijail is a sandboxing program that utilizes container + virtio features. As small as the name suggests, the function is by no means small. Linux applications running on Chrome OS also run in this minijail and based on the Debian root filesystem.