LoginSignup
6
4

More than 3 years have passed since last update.

ChromeOSのLinux betaでDebian以外のディストリビューションを使う

Last updated at Posted at 2020-06-27

ChromeOSでLinuxを動かすには、以前にはDeveloper Modeにしてcroutonを使う必要がありました。現在(2020/06/27)、ChromeOSではLinux (beta)という機能でVM上でLXDを使ってLinuxを動かす機能が搭載されました。

現在(Version 84.0.4147.64 beta)は、まだこの機能ではDebianのディストリビューション(のコンテナ)しか提供されていませんが、LXDを直接操作することで、任意のディストリビューションを実行することもできます。penguinという名前のコンテナとして用意しておけば、認識するようです

参考元の記事
https://www.reddit.com/r/Crostini/wiki/howto/run-ubuntu

しかし、1つだけこの機能は、cros-guest-tools、cros-ui-configというGoogleが提供するパッケージに依存しています(機能的にはVirtualBoxのGuest Addition的なの)。このパッケージは現在Debianでしか提供されていないようです。そのため、前述の記事ではDebianパッケージからコードを取り出して改変することで、実現しています。

構築手順

Version 84.0.4147.64 beta、Ubuntu 20.04で実行する手順を示します。

コンテナの作成まで

ChromeOSのSettingsを開き、Linux betaをTurn onし、ターミナルにログインできるところまですすめる。

Chromeを開き、Ctrl+Alt+Tを押し、ターミナルを開き、以下のコマンドでVMに入る。

vmc start termina

元のDebianのコンテナを一旦止めて、別の名前に変更する。

lxc stop penguin --force
lxc rename penguin debian

起動したいディストロのコンテナをpenguinという名前で起動する。

lxc launch ubuntu:20.04 penguin

以後、以下のコマンドでpenguinコンテナのrootになって作業する

lxc exec penguin -- bash

デフォルトユーザ名の変更

デフォルトユーザ名がGoogleアカウントの名前になるので、変更する。

mkdir /home/nnyn
usermod -l nnyn -d /home/nnyn ubuntu nnyn
groupmod -n nnyn ubuntu

パッケージのインストール

既存パッケージのアップデートと、作業に使うツールをインストールする。

apt update
apt upgrade
apt install binutils

ChromeOSのツールのリポジトリを追加する。

echo "deb https://storage.googleapis.com/cros-packages buster main" > /etc/apt/sources.list.d/cros.list
if [ -f /dev/.cros_milestone ]; then sudo sed -i "s?packages?packages/$(cat /dev/.cros_milestone)?" /etc/apt/sources.list.d/cros.list; fi
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
apt update

cros-ui-configというパッケージを取り出して、競合するパッケージを取り除く。そして、cros-guest-tools cros-ui-configをインストールする。

apt download cros-ui-config # ignore any warning messages
ar x cros-ui-config_0.12_all.deb data.tar.gz
gunzip data.tar.gz
tar f data.tar --delete ./etc/gtk-3.0/settings.ini
gzip data.tar
ar r cros-ui-config_0.12_all.deb data.tar.gz
rm -rf data.tar.gz
apt install cros-guest-tools ./cros-ui-config_0.12_all.deb

以下のパケケージもインストールすると、GUIアプリでマウスカーソルが小さくなりすぎるのを防ぐ。

apt install adwaita-icon-theme-full

再起動する

一度、コンテナを終了させる。

shutdown -h now

このあと、Linux betaを再度起動させるために、一度ChromeOSをシャットダウンして再起動する。

ChromeOSのランチャーからLinux Apps->Terminalを選択する。すると、そのコンテナ上で実行されます。

6
4
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
6
4