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

目的

 約300ドル+税+送料で買える1 kgを切ったラップトップASUS Chromebook flip C100PAは、プレインストールされたChrome OSに加えcroutonArch Linux ARMによってLinux環境を利用することができる。

 中でもArch Linux ARMは、Chrome OS上からchrootを用いるcroutonとは異なり、Chrome OSから完全に独立したLinux環境を構築できる利点を有している。しかしながら、かつてはメインラインカーネルにおけるハードウェアのサポートが不足しており、結局はChrome OSにて用いられているカーネルを利用する必要があった。

 そして現在、無数のコントリビューターの貢献によってメインラインカーネルでのサポートは充実したものとなり、Chrome OSカーネルを使わずとも実用的になってきたと思われる。以上の経緯から、パワーアップしたCPUやUSB-C給電などを特徴とするASUS Chromebook flip C101がComputexにて展示された今、あえて一年前の記事をアップデートするものである。

f:id:squeuei:20170609160819p:plain

インストール

 相変わらず親切な公式ガイドの通りにインストールすれば特に詰まるところはない。

 ちなみに、Wi-Fiにさえ接続してしまえば、Ctrl-Alt-→(=Ctrl-Alt-F2)で入れるコンソールからrootユーザでログインすることで、Googleアカウントを用意せずともGoogle利用規約に同意することなくArch Linux ARMのダウンロードおよびインストールをすることができる。USBスティックなどで別途アーカイブを用意すればWi-Fiへの接続も不要である。

初期設定

 インストール後、新しいユーザを作る前に、rootでいる間にやったこと。

locale

vi /etc/locale.gen
# Uncomment:
# en_US.UTF-8
# ja_JP.UTF-8
# 
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

hostname

vi /etc/hostname

時刻

timedatectl set-timezone Asia/Tokyo

pacman初期化

Arch Linux ARM • View topic - Pacman 5.1.0 and Package Signing

pacman-key --init && pacman-key --populate archlinuxarm
pacman -Syu

ユーザ追加

# Root Password
passwd

# New User
useradd -m -G wheel username
passwd username
pacman -S sudo

visudo
# Uncomment:
# Defaults env_keep += "HOME"
# %wheel ALL=(ALL) ALL
#

 一般ユーザalarmは好みで消してよさそう。

userdel alarm

デスクトップ環境

xorg

sudo pacman -S xorg-server xorg-apps xterm xorg-xclock xorg-twm xorg-xinit
sudo cp /etc/X11/xinit/xinitrc ~/.xinitrc

xfce4 / lightdm環境の構築

 GNOMEは一度試してみて重かったのでXfceに変更。

sudo pacman -S xfce4 xfce4-goodies
sudo pacman -S lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
sudo pacman -S xarchiver zip unzip p7zip cpio unrar

xfce4のパネルをデフォルト設定に戻したいとき

xfce4-panel --quit
pkill xfconfd
rm -rf ~/.config/xfce4/panel
rm -rf ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
xfce4-panel

mw.hatenablog.jp

日本語関連

 fcitx-mozcはあるけどmozcがないので使えない。

sudo pacman -S fcitx-anthy fcitx-im fcitx-configtool
sudo pacman -S otf-ipafont adobe-source-han-sans-jp-font adobe-source-han-serif-jp-font
vim ~/.xprofile
# add:
# export GTK_IM_MODULE=fcitx
# export QT_IM_MODULE=fcitx
# export XMODIFIERS=@im=fcitx
#

 日本語が入力できずに困ったときは診断ツールを使うと原因がわかりやすい。だいたいはIM MODULEの設定。

fcitx-diagnose

ハードウェア関連

サウンド

 スピーカのミュートを解除すると音が出る。

sudo pacman -S alsa-utils
amixer -c 0 sset "Right Speaker Mixer Right DAC" unmute
amixer -c 0 sset "Left Speaker Mixer Left DAC" unmute
sudo alsactl store
sudo gpasswd -a username audio
speaker-test -c 2

 下手にalsamixerをいじるとスピーカーを破損する恐れがあるので注意、とのこと。

pulseaudio

 Xfceのためにpulseaudioを入れる。

sudo pacman -S pulseaudio pavucontrol pulseaudio-alsa
sudo vi /etc/pulse/default.pa
# add:
# load-module module-alsa-sink device=sysdefault
# 

キーボード

 Chromebook用のキーマップが用意されているので切り替える。

 FnキーやCaps Lockを使うときは右altキーと同時押しする。

localectl set-x11-keymap us chromebook

WiFi

 btsdioブラックリストすることでサスペンド復帰後にWi-Fiが使えなくなることを回避できる、らしい。

sudo vim /etc/modprobe.d/blacklist-btsdio.conf
# add:
# blacklist btsdio
#

Wi-Fiの自動接続

sudo wifi-menu -o
sudo pacman -S wpa_actiond
systemctl enable netctl-auto@wlan0.service

yaourt環境の構築

sudo pacman base-devel make git

git clone http://aur.archlinux.org/package-query
cd package-query
makepkg -s
sudo pacman -U package-query-x-y-armv7h.pkg.tar.xz

git clone http://aur.archlinux.org/yaourt
cd yaourt
makepkg -s
sudo pacman -U yaourt-x-y-any.pkg.tar.xz

 mozcやvscodeのビルドを試したかったけど/tmpが足りなくて失敗。tmpfsを使わないようにしてからビルドすればいける?

 adobe flash playerのpepper pluginもすぐにインストールする方法は見つからない。

余談

  • USBメモリへインストールするとちょっと遅いかも?
  • InstallingDebianOnのAsus C201の項目を試してもうまくいかないのはなんで。

参考文献