1.始めに
古いPCやWindowsタブレットを活用するのに、GoogleはChromeOS Flexを出しました。かなりの少し前のノート等はGoogleの提供するインストーラで動作しますが、サポートしていないデバイスがあるなど、いくつかの制約があるようです。今回使用した東芝のDynabook tab s80/fについても、通常の方法でデバイスにインストールはできますが、Wifiが認識できずに、そのままでは初期設定すらできません。今回の例では、Wifiおよびサウンドのドライバを強制的に突っ込んで、単体で動作させるようにするまでを記事にしました。(自分の備忘録でもあります。)そのほかの機種でのインストールのヒントになれば幸いです。
2.準備するもの
- Dynabook tab s80/f 以下、本体と呼びます
- USBメモリ3個 1つはChromeOS Flexインストーラ、1つはUbuntuインストーラ、1つはドライバ移植用
- USBイーサアダプタ 無いと初期設定をクリアできない
- USBキーボード(無いとつらい)
- USBマウス(同じく無いとつらい)
- USBハブ 複数のUSB機器をつなぐために必要
- USB OTGケーブル 100均でたまに売られています。本体とUSBハブをつなぐのに使用
- PC 各種ダウンロード用。Windowsであれば、WSLが動くと便利(これを前提)
3.手順
3-1.本体へのChromeOS Flexのインストール
公式のやり方でインストールしてください。普通に本体にインストールができます。OTGケーブル+USBハブを本体に接続し、USBハブにインストーラUSBとイーサアダプタ(もちろんネットにつながっている)を接続してください。本体でブートメニューの出し方は、音量の+ボタンと電源ボタン同時押しで選択画面が出ますので、インストーラUSBを選択してください。まもなくインストーラが起動しますので、手順通りに操作して下さい。イーサネット経由でネットワークが接続されていれば、再起動後の初期設定も進めると思います。イーサアダプタがないとWifi接続できないため、ここで詰まります。
3-2.開発コンソールを有効化する
開発コンソールが立ち上がらないと、本体のファイルの変更等全くできません。bootファイルの中のgrub.cfgを変更して開発コンソールを有効化します。ここのページの方法をまるまる利用して有効化します。
まず本体の電源を落として、USBハブのChromeOS FlexのインストールUSBを抜いて、代わりにUbuntuのインストールUSBをさして、Ubuntuを立ち上げます。「Ubuntuを試す」の項目を選び、コンソールを開いて、sudo suでrootになります。本体のフラッシュにあるefiのデバイスをマウントします。efi/boot/の下にあるgrub.cfgをviなどで開いて、4か所にcros_debugを追加します。追加箇所は上記方法のページを参照してください。保存したら、再起動して、ChromeOSを立ち上げてください。ctrl+alt+tで廃初コンソールが開くようになっているはずです。
3-3.ChromeOSの/以下を書き込み可能にする
先ほどと同じ作者さんのこのページを参考にして作業をします。本体で開発コンソールを開き、そこで以下を行います。なお以下、$はユーザーモード#はrootモードでのコマンドになります。
$ sudo su
# /usr/share/vboot/bin/make_dev_ssd.sh --force --remove_rootfs_verification --partitions 4
# /usr/share/vboot/bin/make_dev_ssd.sh --force --remove_rootfs_verification --partitions 2
# reboot
リブート後、もう一度開発コンソールを開き、
$ sudo su
# mount -o remount,rw /
で/以下の変更が可能となります。
3-4.Wifiドライバのダウンロード
作業PCで、以下のリンクから、wifiドライバの.debファイルをダウンロードします。
ページ下のほうの「all」のリンクをクリックして、適当なftpサイトからダウンロードしてください。
作業PCのWSL上の見える場所にファイルを移し、以下のコマンドを実行してください。
$ ar vx firmware-brcm80211_20190114-2_all.deb
$ tar xvf data.tar.xz
$ cd lib/firmware/
ファイルのうち、
brcm/brcmfmac4356-pcie.bin
をドライバ移植用USBにコピー
cypress/cyfmac4356-pcie.clm_blob
を
brcmfmac4356-pcio.clm_blob
にリネームしてドライバ移植用USBにコピーします
3-5.Wifiドライバをインストール
本体の開発コンソールで/を書き込み状態にします。
ドライバ移植用USB内のWifiドライバ2個をコピー等以下の作業をします。
# cd /lib/firmware/brcm/
# cp /media/removable/XXX/brcmfmac4356-pcie.bin .
# cp /media/removable/XXX/brcmfmac4356-pcio.clm_blob .
# ln -s brcmfmac4356-pcie.gpd-win-pocket.txt brcmfmac4356-pcie.txt
# reboot
XXXはUSBメモリによって変わると思われます。
USBイーサアダプタをはずしてリブートすると、Wifiが動作しているはずです。
3-6.サウンドドライバを取得とインストール
また作業PCで以下のリンクからサウンドドライバの.debファイルをダウンロードします。
ページ下のほうの「all」のリンクをクリックして、適当なftpサイトからダウンロードしてください。
作業PCのWSL上の見える場所にファイルを移し、以下のコマンドを実行してください。
$ ar vx firmware-intel-sound_20210315-3_bpo10+1_all.deb
$ tar xvf data.tar.xz
$ cd lib/firmware/intel/
fw_sst_22a8.bin
をドライバ移植用USBにコピーします。
本体の開発コンソールで/を書き込み状態にします。
ドライバ移植用USB内のサウンドドライバ1個をコピー等以下の作業をします。
# cd /lib/firmware/intel/
# cp /media/removable/XXX/fw_sst_22a8.bin .
# reboot
3-7.ALSA UCM設定ファイルをコピー、設定
WSL上でgitからファイルをダウンロード
$ git clone https://github.com/plbossart/UCM
この中から
UCM/chtrt5645/
をディレクトリごとコピーします。
開発コンソールで/を書き込み状態にします。
コピー等を行います。
# cd /usr/share/alsa/ucm/
# cp -r /media/removable/XXX/chtrt5645 .
# chmod -R 755 /usr/share/alsa/ucm/chtrt5645/
# alsaucm -c chtrt5645 set _verb HiFi set _enadev Speaker
これで音が鳴るはずです。
テストのため、リブートして、YouTubeなどで音声が出るか試してください。
4.最後に
お疲れ様でした。これでWifiと音声(少なくとも再生)は有効化されて、YouTubeを閲覧するくらいには使えるようになったと思います。あとはマイクとカメラを有効化するとZoomとかできそうですが、当面使う当てがないので現在後回しにしています。どなたかチャレンジしてみてください。
5.参考サイト
Chrome OS Flexで開発者モードを有効にする
Chrome OS Flexに無線LANドライバを突っ込んでWiFi (とBluetooth)を使えるようにする
Debianパッケージサイト : ドライバ取得
ALSA UCMのgit