2016-02-01

Windows タブレット KEIAN KVI-70B に Arch Linux をインストールする

だいぶ遅くなりましたが,あけましておめでとうございます.

年明け, GoodWill 刈谷店 に初詣を済ませてきたのですが, そこでこんなタブレット端末を見かけました. KEIAN KVI-70B 約 ¥10,000 の Windows10 タブレットです. 昨年の夏に秋葉原で買った WinTab7 とその姿形は非常に似ており, また技適証明番号は同一のため, 恐らく OS をアップグレードしたマイナーチェンジモデルだと思います.

その WinTab7 はと言えば昨年秋頃に UEFI 設定をミスして文鎮化させてしまったのですが, それに懲りず今回また買ってしまいました.

では,早速 Arch Linux を入れていこうかと思います.

デバイスについて

スペック

大まかな仕様は 公式の Web ページ に記載されているので割愛します. 一般的な Bay Trail タブレットといった印象です.

ハードウェア

一応プリインの Windows を立ち上げてハードの詳細を確認しました.

I²C…嫌な感じがしますね.

現在の状況

できたこと

  • Arch Linux インストール
  • Wi-Fi 接続
    • ドライバがあった.
    • 早くカーネルにマージされないかなぁ….
  • micro SDHC アクセス
    • 何不自由なく認識した.
  • X の起動
    • カーネルパラメタに nomodeset を指定のため xf86-video-intel 使用不可.
    • フレームバッファ (xf86-video-fbdev) なので重い,重い.
    • でもまあ使えないことはない.

できていないこと

  • タッチパネル認識
    • I²C接続っぽい.難しそう.
  • 音声出力
    • dmesg が音声関連でなにか言ってるけど,不明.

試していないこと

  • Bluetooth
  • HDMI 出力
    • デバイスが見えていないっぽいので難しいかも.

インストール手順

基本的には Arch linux on Acer Iconia Tab 8 W / Installation / Arch Linux Forums にしたがってインストールを進めていきます.

用意するもの

USB メモリ (1 GB 程度)

ArchLinux のインストールメディアに使用します.

USB キーボード

今回は実務訓練中の作業であったので,手持ちの HHKB Professional 2 を使用しました. 一般のキーボードに比して静電容量無接点方式のキーボードは消費電力が高いので, タブレット端末に接続する上で適切な選択とは言いがたいですね….

OTG アダプタ (セルフパワー)

本端末には充電用及び周辺機器接続用にたった一つの micro USB ポートしか搭載していません. 端末の電力事情を考えると セルフパワーの OTG アダプタを使用することになるか思うのですが, ただでさえ容量の少ないバッテリしか積んでいないので, 周辺機器を使っている間充電が行えないのはつらいです.

そこで今回は端末に給電しながら周辺機器を使用できる ルートアール 充電可能 4 ポートスリム OTG ハブ を購入し,使用しました. 筆者も詳しくは知らないのですが,給電機能には規格や相性があるらしく, 本端末で使用できるかどうかは半ばイチかバチかの賭けだったのですが, 無事動作することを確認しました.

USB LAN アダプタ

インストール作業に使用します. 今回は手持ちの BUFFALO Giga USB3.0対応 有線LANアダプター LUA4-U3-AGT を使用しました. アダプタは USB3.0 対応ではありますが, 今回は OTG アダプタを介して使用するため規格上 USB3.0 の速度では使えない (ハズ) です.

なお,インストール時に Wi-Fi ドライバを当てられるならば, 本アダプタはなくても良さそうです (多分.試してないので).

ブートメディアの作成

KVI-70B は Bay Trail タブレットにありがちな IA32 UEFI を搭載しています. 公式の Arch Linux インストールメディアに付属しているブートローダではブートできないため, インストールメディアを少しいじる必要があります.

公式の Arch Linux インストールメディアのイメージは読み込み専用で,内容の変更ができません. これでは不都合なので, USB メモリをフォーマットしてからイメージからファイルを移すという少し面倒な手順を踏みます.

USB メモリのフォーマットとマウント

sudo gdisk /dev/sdb
# ストレージ全体を EFI System Partition (ef00) にしてください
sudo mkfs.vfat -F32 -n ARCHISO /dev/sdb1
mkdir ./usbdrive
sudo mount /dev/sdb1 ./usbdrive

公式の Arch Linux インストールメディアの中身をコピー

mkdir ./archiso
sudo mount archlinux-2016.01.01-dual.iso ./archiso
sudo cp -r ./archiso/* ./usbdrive
sudo umount ./archiso

ブートローダ周りをいじいじ

bootia32.efi をどっかから持ってきてインストールメディア内に配置します.

wget https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi
sudo mv ./bootia32.efi ./usbdrive/EFI/boot/
sudo mkdir -p ./usbdrive/boot/grub
sudo -E nvim ./usbdrive/boot/grub/grub.cfg

./usbdrive/boot/grub/grub.cfg にお好きなテキストエディタで以下のように記述してください.

menuentry 'Arch Linux i686'{
  echo 'Loading Linux core repo kernel ...'
  linux /arch/boot/i686/vmlinuz archisobasedir=arch archisolabel=ARCHISO nomodeset i915.modeset=0 irqpoll
  echo 'Loading initial ramdisk ...'
  initrd /arch/boot/i686/archiso.img
}

最後に USB メモリをアンマウント.

sudo umount ./usbdrive

これでとりあえずインストールメディアは完成です.

#archlinuxinstallbattle

ブート

本端末に OTG ハブを介して,作成した USB メモリを接続します. そしておもむろに電源を入れると, 無事 Arch Linux のインストールメディアが起動しました. WinTab7 では UEFI の設定をミスって文鎮化させたため今回は触りたくなかったのですが, 嬉しいことに本端末は最初から外部デバイスからのブートが有効になっていたようです.ありがたや.

ネットワーク接続

USB LAN アダプタをつなぎます. そしてまたおもむろに

dhcpcd

これでネットに繋がると思います.

インストール

VAIO Pro にインストールするときに書いたインストールスクリプトがそのまま使えそうだったので, それを流用しました.

まずはダウンロード

wget https://raw.githubusercontent.com/yantene/arch-installer/master/installer.sh

そして実行.

sh ./installer.sh
# device (/dev/sda): /dev/mmcblk0
# hostname (YanteneLaptop): <ホスト名>
# username (yantene): <ユーザ名>
# password: <パスワード>

これでインストールは終わりです. やー,早いですね.

そして最後,カーネルパラメータに nomodeset i915.modeset=0 irqpoll を付与します.

nvim /mnt/boot/loader/entries/arch.conf
# before: options root=PARTLABEL=linux_btrfs_partition rw
# after:  options root=PARTLABEL=linux_btrfs_partition rw nomodeset i915.modeset=0 irqpoll

そして再起動すれば新環境の Arch Linux が立ち上がるはずです. インストールスクリプトに入力したユーザ名とパスワードでログインしてください.

環境セットアップ

ネットワーク接続

何はともあれ Wi-Fi を使えるようにします.

yaourt -S linux-headers rtl8723bs-dkms-git
git clone https://github.com/hadess/rtl8723bs
sudo cp ./rtl8723bs/*.bin /lib/firmware/rtlwifi/

sudo dkms install rtl8723bs/2
sudo systemctl enable dkms

とりあえず再起動すれば, NIC が見えるようになります.

ip a
# 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
#     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
#     inet 127.0.0.1/8 scope host lo
#        valid_lft forever preferred_lft forever
#     inet6 ::1/128 scope host 
#        valid_lft forever preferred_lft forever
# 2: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
#     link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

あとはNetctlあたりで接続できると思います.

X のインストールと起動

xf86-video-intel が使えないので xf86-video-fbdev を入れるところ以外は至って普通です.

X とかいろいろインストールして

yaourt -S xorg-server xorg-xinit xorg-server-utils xorg-twm xorg-xclock xterm xf86-video-fbdev

startx すれば

startx

いけます.

ここまでくれば, あとは好きなウィンドウマネージャなりデスクトップ環境なりをインストールして楽しむだけです!

総括

タッチパネルが使えないので屋外で気軽に使えないし, 音声出力が使えないのでオーディオプレイヤーにもできない.

割とつらそうなのですが, HHKB とタブレット端末って物理的にミニマルな開発環境という感覚に浸れて僕は好きです.

この環境でスタバドヤァとかおしゃれでいいんじゃないですかね!!!

参考文献