Skip to main content

ASUS Chromebook Flip C302CA を chrx で GalliumOS とのデュアルブートにする

Chromebook、便利ですね。ここ何年かずっと愛用しています。持ち歩く場合はだいたいこれです。

そしてこれを使っているときに、たまにさくっとした Linux 環境が欲しくなることがあり、その目的でこれまでは crouton で chroot した xubuntu が動くようにしていたのですが、ハードウェアの制御(特にグラフィック)まわりでどうも不都合なシーンがちらほら出てくるようになりました。

そんなわけで、とりあえず別のものを、ということで、chrx を使って GalliumOS をデュアルブートな感じで動かすことにしました。

前提

  • RW_LEGACY をカスタムの SeaBIOS で書き換え済み
  • デベロッパモードに変更済み

手順

インストールして初期設定をしていきます。

パーティション分割

Ctrl + Alt + Tcrosh を立ち上げて、シェルを起動します。

> shell

まずはパーティションを作ります。この辺も chrx におまかせです。以下を実行して、指示に従って数字を入力します。今回は 16 GB にしました。

$ cd ; curl -Os https://chrx.org/go && sh go

再起動しろと言われるので再起動すると、自動修復が始まります。左上のカウントが 00:00 になっても何も起きなくて怖いですが、そのまま気にせずに数分放置しておくと、勝手に起動してきます。

起動してきたら、ChromeOS が完全に初期化されている状態なので、初期設定をして、ネットワークにつなげます。

インストール

パーティションが切れたら、またシェルを起動して、GalliumOS をインストールします。

$ cd ; curl -Os https://chrx.org/go && sh go -d galliumos -H c302ca -U kuro -p steam -p chrome -p admin-misc -L ja_JP.UTF-8

引数で渡すオプションは、-h で出るヘルプを見ながら適当にします。-H が設定するホスト名、-U が作成するユーザ名です。

試した感じだと、タイムゾーン(-Z)の指定はうまく機能しなかったので、起動後に変更することにして、ここでは省きました。

で、数十分で完了するので、指示に従って再起動し、通常 Ctrl + D で起動するところで Ctrl + L して、GalliumOS を起動させ、ログインします。

ユーザ名は -U で指定したもので、初期パスワードはユーザ名と同一です。

日本語関連パッケージの導入

起動したら、言語周りを整えます。インストール時に -Lja_JP.UTF-8 を指定しても、日本語環境で必要なすべてのパッケージが導入されるわけではないようです。

で、Xfce のまま GUI から不足パッケージを突っ込もうとしたところ、固まって死んでしまいました。いちど multi-user.target に切り替えて作業するほうが良さそうです。

そんなわけで、ターミナルを起動して、

$ sudo systemctl isolate multi-user.target

して、画面左上でカーソルが点滅したら、Alt + F1F1ESC の右隣のキー)で仮想コンソールを切り替えてログインして、パッケージを入れて再起動します。

$ sudo apt update
$ sudo apt install $(check-language-support -l ja)
$ sudo reboot

日本語入力の設定

起動後、日本語入力ができるようにします。

  1. 左下のメニュ(Whisler Menu)の [設定] > [言語サポート] で、[キーボード入力に使う IM システム]fcitx になっていることを確認します
  2. 右下の通知エリアのキーボードアイコンの右クリックメニュから [設定] を開き、Mozc だけを残して、それ以外をすべて - ボタンで削除します

これで、

  • キーボードレイアウトが正しい
  • キーボード左上の [かな <-> 英数] キーで日本語入力と直接入力を切り替えられる

な状態になります。im-config とか fcitx-configtool でも設定できる気がします。たぶん。

パスワードの変更

キーボードレイアウトが正しくなったので、ターミナルで passwd してパスワードを変更します。

タイムゾーンの設定

UTC のままなので、JST にします。

  1. メニュの [設定] > [時刻と日付の設定] で、[Unlock] します
  2. [タイムゾーン]Asia/Tokyo にして、[Lock] します

timedatectl でも大丈夫です。反映は再起動後です。

オーディオの修正

GalliumOS の Hardware Compatibility でも記載されているとおり、C302(というか Skylake 系全般)は内蔵オーディオが正常に動作しないようです。実際、スピーカから何らかの音を再生させると、バキバキでひどい状態です。

USB や Bluetooth 接続のオーディオであれば正常に動作するようですが、GitHub の issue #379 で無理やりがんばる方法が出ていたのでそれをやっておきます。

Google Drive 上にアップロードされた以下をダウンロードして、

ターミナルでこれらを使ってごにょごにょします。

$ sudo dpkg -i linux-image-4.16.18-galliumos5-pre1_amd64.deb
$ sudo dpkg -x galliumos-skylake_3.0+dev3_supports_GaOS2.1_all.deb /
$ sudo skylake-audio-helper get-topology
$ sudo rm /lib/firmware/9d70-CORE-COREBOOT-0-tplg.bin
$ sudo rm /lib/firmware/9d70-COREv4-COREBOOT-0-tplg.bin
$ sudo rm /lib/firmware/9d70-INTEL-SCRDMAX-0-tplg.bin
$ sudo skylake-audio-helper reset
$ sudo reboot

reset のときにスピーカがポンッてなるのでちょっとびっくりしました。再起動後は音声が正常に再生できます。


全自動在宅勤務めっちゃはかどり機

昨今の情勢を受けて、家庭内の在宅勤務者の割合が 100 % になったので、在宅勤務中の QoL 的なのを上げようとしています。

で、前から購入を計画していたデロンギの全自動コーヒーメーカを買いました。

たいへんよいものでした。モノは デロンギのマグニフィカ S カプチーノスマート(ECAM23260SBN)です。

コーヒー界隈はぜんぜん詳しくないのでよくわかりませんが、買ってからはもっぱら カフェ・ジャポーネ と名付けられたいわゆるレギュラーコーヒーを淹れて飲んでいます。

朝起きてすぐとか食後とか、あ、コーヒー飲も、と思ったらすぐカップを置いてピッとすればギュイーンガガガガって動いてできあがるので、コーヒーを飲むまでのコストがめちゃくちゃ下がりました。

味はしっかりおいしいです。知ってた。

そしてこの子はミルクをどうにかする機能も付いているので、カプチーノも作れます。謎の技術により泡がめっちゃ甘くふわふわになるみたいです。

みたいですというか、実際、なりました。すごく甘い。これホントにただの牛乳? みたいな。ただの牛乳です。

そしてふわふわです。カップが透明でないので写真では何も伝わりませんが。

てきとうにシナモンなどをぱらぱらすると、よりオシャレさが増します。

豆はまだ手探りです。KALDI のとか、成城石井のとか、海外の謎のヤツとか、いろいろ試そうとしています。

お手入れがちょっと手間感があるのと、あと動作音がけっこう大きいのがマイナスですが、コーヒーがおいしいことはしあわせなことなので、全体的には圧倒的にプラスです。よいものです。

しかし写真の被写界深度が浅すぎるので、もっと考えて撮るべきでした。おつかれさまでした。

以上、よろしくお願いします。


Logicool MX Anywhere 2S(MX1600s)購入

マウスを買ったので写真を撮りました。というエントリです。

おしごと用のマウスは、2012 年から Logicool の Anywhere Mouse(M905r)を愛用しています。数年おきにチャタリングが起きるようになっていましたが、都度交換してもらって、保証期間をだいぶ過ぎた今でも現役です。

一方、自宅用のマウスは、気分でいろいろとっかえひっかえしており、とくにコレと決めたものはありませんでした。が、最近チャタリングが気になりだしたので、慣れたものに決めてしまおうと、おしごと用の M905r の後継である MX Anywhere 2S(MX1600s)を購入したわけです。

これです。

MX1600s
MX1600s

かわいいですね。

並べてみましょう。M905r はつるっとしていましたが、MX1600s ではマットな仕上げに変わっています。かっこうよいですね。

M905r(左)と MX1600s(右)

また、M905r は乾電池式でしたが、MX1600s は、USB で給電する充電池式です。電池の寿命を無視できるのはうれしいですね。何年でヘタるかはわかりませんが……。

MX1600s(右)はマウスの頭に充電用の USB ポートがある

でも、実は不満もあるのです。

M905r は、電池の蓋をあけたところに Unifying レシーバを格納できましたが、MX1600s ではこれができません。

M905r は電池蓋を開けると Unifying レシーバを格納できた

とはいえ、MX1600s は例の Logicool Flow に対応しているので、Unifying レシーバを差し替えて複数台で使いまわすようなこと自体が、もはや本来の想定された使い方ではないということなのでしょう。たぶん。

しかし、それでも、それでもまだ不満はあるのです。

M905r はスイッチのオンオフが信じられないくらいラクだったのです。なぜなら物理的にスイッチが大きくて操作しやすいからで、オフィス内をマウスとともにうろうろする前後で片手でスイッとできていました。

M905r(左)と MX1600s(右)でスイッチのサイズが圧倒的に違う
両モデルでスイッチを入れたところ

MX1600s は、スイッチがほんとうに小さくて、爪が短いと操作しづらいレベルです。ぼくの使い方だとユーザビリティが著しく悪化したポイントです。

また、M905r に付属していたソフトケースが無くなったのも個人的には非常に痛いところです。おしごと用の M905r は、鞄に放り込んでの持ち運びを散々しているので、ソフトケースが大活躍だったのでした。

使い古されてきた M905r のソフトケース
専用のソフトケースなので、サイズもぴったり

というわけで、最新世代たる MX1600s は、モバイル用を謳った後継機ではあるものの、ぼくにとっては一部不満が残ってしまうものでした。

でもなんだかんだいいながらも、マウスとして一番だいじな実際の使い心地は、相変わらず抜群に快適です。この辺の品質に妥協がないのは安心感があります。また、サイズ感もまったく変わっていないので、何の違和感もなく一瞬で馴染みました。

ソフトケースはいざとなったら M905r のを今後も使えばいいし、素直に Logicool Flow をセットアップすれば Unifying レシーバを持ち歩く必要もなくせるでしょう。スイッチの形状だけはどうしようもないですが、きっと慣れます。

よいマウスです

以上、おすすめマウスの紹介でした。

今回、撮影ボックスを初めて使ってみました。ライティングはもう少し工夫したいですし、こういう写真のときの被写界深度の考え方はお勉強が必要です。


Intel NUC に ESXi 6.5 を入れる

新しいおもちゃ is Now Available

Intel の NUC を買いました。第 6 世代のうちの、NUC6i5SYH です。

製品の Web ページ を見るとそろそろ第 7 世代のものが買えるようになりそうな雰囲気がありますが、待つのが嫌なので買ってしまいました。

使い道は考えていませんが、そういうときはとりあえず ESXi を入れます。新しいものが好きなので、現時点で最新の ESXi 6.5 にしました。

注意

Intel NUC は VMware Compatibility Guide に乗っていないハードウェアです。何があって文句は言えません。

買ったメモリとストレージも、Intel がテストした構成の一覧には記載のないデバイスです。

買ったもの

列挙します。

SSD はデータストアとして占有させたかったので、ESXi のブート用には USB メモリを別に用意します。

全部で 9 万円くらいですね。いい時代です。

インストール

何も考えずに製品の公式の ISO イメージをそのままインストールすれば問題なしでした。

昔は非公式のドライバを自分で突っ込まないとうまくデバイスが認識されなくてダメだったようですが、最近は公式のそのままで大丈夫みたいですね。

セットアップ

インストール後、そのまま DCUI で IP アドレスやらホスト名やらを設定したら、vSphere Client で ESXi につないで必要な設定をします。

vSphere Client は、C# 版はもうないので、HTML5 版を使います。ESXi に組み込みで用意されていて、ブラウザで ESXi に設定した IP アドレスに接続するだけで使えます。快適です。

トラブルと対処

さて、ESXi のインストールは何の問題なく終了したものの、データストアのアクセスが異常に遅いというトラブルが発生しました。

ESXi 6.5 になって追加された新しいデフォルトの AHCI ドライバが、NUC の SATA コントローラをうまくハンドルできなかったみたいです。

以下のようにして明示的に vmw_ahci ドライバを無効化することで解決できました。

esxcli system module set -e=false -m=vmw_ahci

このトラブル、具体的には、以下のような症状です。

  • I/O のレイテンシが 1,000 ms 以上ある
    • パフォーマンスのグラフの [最大待ち時間] が異常な数値
  • イベントログに以下のようなエントリがある
    • 接続の問題により、ボリューム XXXXX へのアクセスが失われました。回復処理が進行中です。まもなく結果が報告されます。
    • 接続の問題が発生後、ボリューム XXXXX へのアクセスがリストアされました。
  • vmkernel.log に以下のようなエントリがある
    • WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:XXXXX: NMP device “XXXXX” state in doubt; requested fast path state update…
    • Cmd(0xXX) 0xXX, CmdSN 0xXX from world XXXXX to dev “XXXXX” failed H:0x2 D:0x0 P:0x0 Invalid sense data: 0xXX 0xXX 0xXX
    • Aborting txn calleriD: 0xXX to slot XX:  File system timeout (Ok to retry)

このログ、SAN 構成なら目にすることはありますが、DAS のストレージでは通常は出ません。真っ先に SSD の初期不良を疑い、そして NUC の初期不良も疑いましたが、調べてみると同じ症状の事例が海外で複数報告されていました。解決策も載っています。

その他

今回は問題にはなりませんでしたが、ESXi 6.5 では USB メモリもトラブルが起きがちのようです。

これも AHCI のドライバと同様、デフォルトのものが置き換わったことが原因だとか。KB 化もされていました。

ドライバ周りはトラブルが起きるとハード障害との切り分けがしにくくて厄介ですね。

今後

とりあえず vSphere 6.5 の環境をざっと触ってみたいので、ひとまず vCSA を立てていろいろ様子をみて、あとは素直に小さな仮想化基盤としておもちゃにします。


ウクレレベースのジャックを交換する

Rubinetto で使っているウクレレベースのジャックが接触不良気味だったので交換。

ウクレレベースは KALA の UBASS-SMHG-FS というモデル。これについているピックアップシステムは、Shadow の SH NFX EQ-T UK というものらしい。


ジャックは金属の弾性を利用してプラグの固定と導通の確保を同時に実現する構造なので、極の曲がりっぷりが弱くなるとユルくなって導通も死ぬ。特に何もしなくても、経年劣化で死ぬ。

保証期間内であれば販売店持ち込みが楽だけれど、すでに過ぎていたし、難しい話でもないので自分で。

外す

本体の裏には作業用の穴がある。蓋は磁石での固定なのですぐ外せる。


ジャックは内と外の両側からのナットの締め付けで固定されているので、どちらかのナットを外して抜き取る。

DSC01623

調べる

元の配線がわからないと部品の交換ができないのだけれど、インタネットでは配線図が見つけられなかったので実物を基に書き起こした。

模式的に描くとこう。

似非回路図っぽくするとこう。いろいろと省略しているけれど。

ubass02

バッテリとプリアンプのグラウンドが両方ともジャックのスリーブにつながっているのがめずらしいけれど、シールドを挿さない状態(リングとスリーブがショートしない状態)でもチューナ機能を使えるようにするためかな、たぶん。

チューナ側にも別にスイッチがあるから、きっとそういうことだと思う。

交換する

配線がわかれば、あとは新しいジャックを同じ配線で繋ぐだけ。今回買ったのは SCUD の EP=JACK2。

最初にブッシングを通さないと詰む。ありがちなミスだけれどまじで実際やらかした。

あとは適当に熱収縮チューブで絶縁しながら繋いでいく。

繋ぎ終わったらこの時点でいちど音を出してみた。問題なし。

あとは取り付け。

板の厚みを適当に読んで内側のナットの位置を決めたら、外側から締め付けてやる。

内側のナットが外側すぎると、シールドが挿し込みきれなくなって接触不良につながるので気をつける。内側のナットの位置はとてもだいじ。

固定できたらブッシングも締め付けて、外側にキャップをつけて完了。

おわり。