ASUS Chromebook C101PAにArch Linuxをインストールしたまとめ

ARM系のプロセッサであるRockchip RK3399搭載のC101PAにLinuxを入れたとしても対応ソフトウェア面で不自由過ぎて意味がないだろうと思っていた私ですが、ふと思い立って外部メディアにArch Linuxをインストールしてみました。
実際は去年一度やりかけたのですが、一時中断した後思わぬアクシデントのため再度インストールから行ったので2019年3月〜4月現在の情報として、自分と同様にC101PAでLinux上でemacsを使いたいという奇特な方のために若干の時間節約になればと思い、参考にしたサイトなどをまとめた情報を記載します。
なお、現在ではChrome OS上でemacsも一応使えるので、この行為に意味があるかどうかは個人の判断に任せたいと思います。自分はといえば、かなり苦労しましたが久しぶりのLinuxは楽しいです。

なお、Linuxを使うのは久しぶり、かつ元々初心者レベルで自ら問題を解決できない人物の導入記なので、ツッコミどころ満載だと思いますが、同じレベルの方には参考になるかも知れません。
最初に目標と結果を書いておきたいと思います。

目標結果
ArchLinuxをGUIも含めてインストール
emacs導入
emacsにmozc導入×
Google Driveの同期

自分としてはmozcが導入できず不本意ではありますが、参考にされる方はお読み下さい。なお、本投稿は予告なく加筆修正される場合があります。

目次
1.microSDカード選び
2.インストール
3.GUI環境設定
4.日本語入力システム導入
5.Google Driveとの同期
感想

1.microSDカード選び
導入は出っ張りのできるUSBメモリではなくmicroSDカードにしました。
最初ELECOMの32GBにインストールしてGUIの立ち上げまで行ったのですが、mozcのインストール試行をする直前にkernel panicを起こして起動しなくなり、フォーマットしてやり直しても変わらなかったので、泣く泣く1,500円くらいで東芝の32GBを買ってインストールを試したところ、fdiskの段階でエラーになり、まったくインストールできませんでした。
最終的に家にあったTranscendの32GBを見つけ、現在のところ問題なく使えています。
メディアによってインストールできたりできなかったりするので、ここからすでに一筋縄では行かない印象です。Transcendもいつ壊れて起動不可になるか一抹の不安があります。

このTranscendが現在使えています。(Amazonの購入履歴から見て確かコレ)

この東芝は駄目でした。

このエレコムは使えていたのに、突然kernel panicを起こしました。(しかし、物理フォーマットして一時インストール可能になるも、GUI設定中に再び使用不能になりました)

2.インストール
基本的には下記公式サイトのガイド通りにインストールできました。
microSDカードの場合mmcblk1にマウントされますが、ガイドの記述中sda2と表示されている箇所はmmcblk1p2、sda1と表示されている箇所はmmcblk1p1に読み替えます。
なお、Linuxを入れようと言う方はご存知でのことと思いますが、Webページからコピーしたコマンドラインはcrosh shell上で右クリックするとペーストされます。コピペする場合sdaとmmcblk1を置き換えるのを忘れずに。
ただし、ガイドの記述には少々注意事項があります。
「認識されているディスクパーティションを更新」の箇所で
partx -a /dev/sda
を実行した後、再度microSDカードがマウントされることがあるようで、その場合
umount /dev/sda*
をもう一度実行する必要があると思います。(リムーバブルメディアが検出されたというメッセージが出なければ必要ないと思います)
そうでないと、途中エラーになって起動不能なmicroSDカードが出来上がるようです。
それから、「root ファイルシステム tarball をダウンロードして展開」の箇所で途中「tar: Ignoring unknown extended header keyword 'SCHILY.fflags'」とエラーのようなメッセージが出ますが、気にしないで大丈夫です。

ASUS Chromebook Flip C101PA(ArchLinux公式)

3.GUI環境設定
公式のC101PAへのインストールのページですと、xorgへの言及はありますが、具体的にGUIを立ち上がるのには、C100PAのものですが、下記のサイト様の初期設定からデスクトップ環境までが参考になりました。日本語関連の設定とWiFi以降の設定は後述しますので、このまとめの流れではやってもやらなくても良いです。
なお、なぜかC100PAのガイドには記載があるpacmanの初期化やkeyの初期化の記述がC101PAのガイドには抜けていますが、下記のページには書いてありますので、飛ばさないようお気をつけください。公式ガイドの後いきなりemacsを入れようとした自分はインストールできずに困惑しました。

Chromebook flip C100PAでArch Linux ARM (mainline kernel編)

以下xfce4をインスールした前提で続けます。

xfce4は以下のコマンドで起動します。

$ startxfce4

■ NetworkManagerの導入
xfce4が起動したら、起動の度にwifi-menuでネットにつなぐのは面倒なので、最初にNetworkManagerを入れてしまいましょう。
以下2つのサイト様を参考にしました。

ArchLinuxにWifiマネージャとブラウザを入れる(グレインの備忘録)

Arch Linuxで無線LANに接続する

■ タッチパッドのクリックをタップで動作させる
次にタッチパッドが初期設定では押し込まないと反応しないので、タップでクリックできるように設定しましょう。
Applications - Settings - Mouse and Touchpad を開いてDeviceタブでDeviceとして「Elan Touchpad」を選択し、「Tap touchpad to click」にチェックを入れます。

Deviceの項目でドロップダウンボックスからElan Touchpadを選択しますが、境界線が描画されず、ちょっと分かりづらかったです。

■ 日時の設定
初期状態では日本時間になっていないので、日時の設定をします。

日時の設定 - Arch Linuxの最小限インストール直後の作業(2)

■ sudoの設定
この後管理者権限が必要となる操作を含みます。Arch Linuxにはデフォルトで入っていないそうなのでsudoコマンドが必要です。Stellar様のサイトの説明で任意のusernameに管理者権限が付与されていると思いますが、もし飛ばした場合は下記ページをご覧の上現在のユーザーIDに管理者権限を付与します。

Arch Linux インストール (5)

■ emacsのインストール
個人的好みでエディタはemacs以外考えていません。
ここら辺でemacsをインストールしてしまいます。
単純に pacman -S emacs で26.1がインストールされました。
他に好きなエディタがある場合はそれをお使いください。
パッケージの検索は pacman -Ss [パッケージ名] のように打つそうです。

$ sudo pacman -S emacs

■ Ctrlと検索キーの入れ替え
これには個人的にさんざん苦労しましたが、最終的に以下のサイト様を参考にして設定できました。
xmodmapなどをいじって時間を浪費しませんように。
この参考にしたサイトではAltとSuperを入れ替えることになっているので、C101PAのctrlと検索キーを置き換える場合の説明を補足します。

キーボードのAltとSuper(Win)を入れ替える。(雑記帳 Hatena::Diary)

具体的には/usr/share/X11/xkb/keycodes/evdevを編集してLCTLとLWINに当たるキーコード37と133を入れ替えます。
事前に念の為バックアップを取って行ってください。例えば下記記載のように(パスワードを求められます)。

$ cd /usr/share/X11/xkb/keycodes/
$ sudo cp evdev evdev.bak
$ sudo nano evdev

emacsの場合編集が済んだら、コントロールキーを押しながらx、そのままsで保存、emacsの終了はコントロールキーを押しながらx、cです。
もしnanoを使った場合編集が済んだらコントロールキーを押しながらoでファイル名の確認が出るのでエンターして保存、コントロールキーとxで終了ですね。
そして、ログインし直せば完了です。

4.日本語入力システム導入
日本語の設定ですが、GUI環境の設定の箇所でlocaleの設定は済んでいるはずなので、後はフォントをインストールします。
手っ取り早くipaフォントをインストールします。

$ pacman -S otf-ipafont

ターミナルで fc-list コマンドを打つと使用可能なフォントの一覧が表示されるそうです。emacsのフォント設定って、フォントを変えるとウィンドウサイズが変わったりして実際よく分からないのですが、scratchパッドで(font-family-list)の後コントロール + J で表示されるフォント名よりfc-listで表示されるフォント名で設定した方が良いようですけど、どうなんでしょう?

参考までに抜粋すると自分のinit.elは以下のように設定しています。

;; ウィンドウサイズの位置、サイズ
(if window-system (progn
(setq initial-frame-alist '((width . 120)(height . 22)(top . 0)(left . 50)))
(set-background-color "Black")
(set-foreground-color "White")
(set-cursor-color "Gray")
))

;; フォント設定
(set-face-attribute 'default nil :family "Noto Sans" :height 140)
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
(font-spec :family "IPAGothic" :size 16))

さて、ようやく日本語入力システムですが、emacsでmozcを使いGoogle Drive内のファイルを編集するのが最終目的だったのに、その目的はついには果たせませんでした。
OSにfcitx-mozcを導入することは可能です。

Arch Linuxで日本語入力を可能にする

emacsにemacs-mozcを導入することもできるのですが、この両者がバッティングするらしく、使用不能です。
パッチを当てるという方法も見つかったのですが、arm用のPKGCONFIGが落ちてこないでx86用のPKGCONFIGになってしまうので、ビルドできません。(なお、下記サイトで使われている非公式のパッケージインストールツールであるyaourtは現在使えないため試行錯誤の際は代替のyayを使いました)

arch(antergos)のfcitx-mozcをemacsでも使えるようにするメモ

Arch Linuxにemacs-mozcをインストールした話

そのため、OS用にはfcitx-mozcをインストールしましたが、emacsには他に残された選択肢を考えざるを得ませんでした。
SKKはくせが強過ぎるので、結局のところAnthyです。
OSと別々になってしまいましたが、今の所やむを得ません。

Arch Linuxに日本語環境を構築する

5. Google Driveとの同期
これも自分にとって重要な点ではあったので、Google Driveと同期できるソフトウェアを探しました。
まず、google-drive-ocamlfuseはインストールできませんでした。golangのインストールの部分で引っかかるようです。golang自体もパッケージでは検索できますが、C101PAにはインストールできませんでした。
また、Griveも試してみましたが、これもインストール不可でした。
そこで最終的にrcloneを導入しました。
(すみません。どこを参考にしたか忘れました。pacmanでは見つからなかったのでyayでインストールしたかも知れません)

Ubuntu18.04でrcloneを使ってクラウドストレージをローカルから操作する

このrcloneに一応mountオプションはあるのですが、まだ実験的な機能みたいなので安心して使えるか不安があります。
しかし、SyncオプションだとWindowsやMacなどの放っておくだけでローカルファイルと同期してくれるアプリケーションと比べて、コマンドを打たなければならないのはかなり面倒くさいです。Syncもコピー元とコピー先をアップロード/ダウンロードに応じて変えなければいけないようですし。
そのため、様子を見ながらmountで使ってみたいと思いますが、正直遅いです。
そもそもWindowsなどの同期するクライアントソフトは常時ローカルコピーを作っているので快適に使えますがmountの場合はいちいちネットを介してファイルを見に行く訳で、lsをするのでも時間がかかります。
Syncオプションの使い方がよく研究して使った方がいいのでしょうか?
ここはちょっと、まだよく分かりません。
でも、一応自動起動させるように設定して使っています。
.xprofileに(session & startupではうまくいかず)、以下の書式で書き込みました。(!/bin/shの行はファイル先頭に)

#!/bin/sh

rclone mount [Google Driveの設定名]:/ ~/[マウントするディレクトリ] &

最後の&を忘れるとOSにログインできず悲惨なことになるので、ご注意を。
なお、自分の実際のコマンドは以下です。
rclone mount gdrv:/ ~/gdr &

感想
使用感としては、なかなか快適です。
Developer Modeのせいなのか、空き容量がないと頻繁に言われるせいなのか、現在自分のC101PAのChromeOSでの動作はAtomを積んだWindowsより遥かに劣るくらい遅く、かつ不安定になってます。フリーズも度々(電源コードを繋いだら直ることがあるので、なんらかのバグが潜んでいるのかも知れません)。
Androidアプリは極力減らしているのに、起動するたびに空き容量が3.5GBになったり、1GBを切ったりするのも少々解せないところです。
それと比較すると、起動速度は遜色ないくらいに素早く立ち上がりますし、ブラウジングなどをしていると時々ひっかかるような動きを見せたり、応答が返ってこないことはありますが、動作速度にも大きな不満はありません。
あとはGoogle Driveへのアクセスとemacs-mozcが使えるようになれば、実用性は充分と言えるのですが、なかなか難しそうです。
消費電力に関してはChromeOSに敵いそうにないですが。
それから、ELECOMのmicroSDカードで一度kernel Panicになったので、今使っているTranscendもまたいつ同じになるか不安に怯えながら使うというのもちょっと嫌ですが、ChromeOSを使うよりはずっと楽しいですね。
時間に余裕があればお勧めです。


スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です