
プロのインフラエンジニアが、ChromeOS Flex を、仮想化してみた。 ② ~ 動くまでやってみた編 ~
ChromeOS Flex が仮想で動くための特別な事情とは、KVM を使った仮想化基盤であることです。Proxmox VE も Debianベースの仮想化環境でその仮想化基盤には KVM を用います。当然、自力で KVM を動かせる人は、それでも構わないかと思います。
では、やっていきましょう。まずは、ChromeOS Flex のリカバリイメージを配布サーバより取得します。
で、

https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin.zip
この、Recovery Images の一番数字の大きいリンクのアドレスをコピーしてください。そして、Proxmox のシェルに入って、先ほどコピーしたアドレスの、Zip ファイルを curl でダウンロードします。
curl -Lo chromeosflex.zip https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin.zip
結果
root@Proxmox:~#
root@Proxmox:~# curl -Lo chromeosflex.zip https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1306M 100 1306M 0 0 10.1M 0 0:02:08 0:02:08 --:--:-- 10.0M
root@Proxmox:~#
root@Proxmox:~# ls -l
total 1337664
-rw-r--r-- 1 root root 1369763124 Sep 26 17:21 chromeosflex.zip
root@Proxmox:~#
ちょっと時間かかります。では、unzip します。
unzip chromeosflex.zip
結果、
root@Proxmox:~# unzip chromeosflex.zip
Archive: chromeosflex.zip
inflating: chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin
root@Proxmox:~#
root@Proxmox:~#
リカバリーイメージファイルができました。普通にダウンロードして、Proxmox へ運んでも構いません。
あと、必要なライブラリを足します。後に、VirtGL を使うのに必要です。
apt install libgl1 libegl1 -y
器を作らないと接続出来ないので、ここで器を作ります。カリー・ド・カフェ 器 のカレー最後にもう一度食べたかったなぁ。。。

こんな感じで、仮想マシンを作ってください。プロセッサの種類を host にするのと、マシンは q35 、グラフィックを VirGL GPU にしてください。出来るとは思うのですが、BIOS も OVMF の方が良いと思います。
空の器なので、

OS のメディアは使用しません。
で、また Proxmox のシェルに戻って頂いて、リカバリーイメージを接続します。
qm importdisk <作成した仮想マシンのVMID> <リカバリーイメージファイル名> <ディスクの場所> --format raw
なので、今回は、
qm importdisk 110 chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin local-lvm --format raw
となります。VMID や ディスクの場所は、それぞれの環境によって違うと思います。結果、
root@Proxmox:~#
root@Proxmox:~# qm importdisk 110 chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin local-lvm --format raw
importing disk 'chromeos_15964.58.0_reven_recovery_stable-channel_mp-v6.bin' to VM 110 ...
Rounding up size to full physical extent <6.81 GiB
Logical volume "vm-110-disk-2" created.
transferred 0.0 B of 6.8 GiB (0.00%)
transferred 69.7 MiB of 6.8 GiB (1.00%)
(中略)
transferred 6.8 GiB of 6.8 GiB (100.00%)
transferred 6.8 GiB of 6.8 GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-110-disk-2'

未使用のディスクが増えてますので、マウントします。未使用のディスク 0 をクリックして、上の編集をクリックしてください。

これで、追加 をクリックすれば、scsi1 として、接続されます。

接続されたら、オプション、ブート順、編集 とクリックして頂いて、scsi1を有効にして、ブート順を一番上にしてください。出来たら、コンソールで、Start Now !


では、インストールを行っていきます。

出来ました。では、シャットダウンしてもらいます。
Start Now が出て、シャットダウンが完了したら、リカバリーイメージは必要ないので、外します。

この状態で、コンソールで、Start Now !

また、この画面が出るので、初期設定を進めていきます。。多分、途中でアプデが走って再起動します。

初期設定、出来ました。Gmail のパスワードじゃなくて、別にパスワード設定できるのイイなぁ。

では、Linux 開発環境を入れていきます。設定のアプリで、ココでLinux 開発環境で、設定をクリックしてください。
それでは、今日はココまでです。次は、Linux を活かした使い方なんかをやってみたいと思います。
ちなみにこの記事は、小室哲哉の Digitalian is eating breakfast を聞きながら作成しました。