memo

2014-08-13

Surface Pro 3 に Linux 入れました

Surface Pro 3 に Linux 入れました。 あれこれやったことを書いておきます。

インストール

例によってまずは secure boot を無効にしましょう。 volume up を押しながら電源を入れて何やらします。

USB storage からの起動は volume down を押しながら起動です。

USB storage に入れられて UEFI に対応しているものならだいたい起動できるようですが、 現時点の kernel (<= 3.16) だと type cover を認識しません。

systemrescuecd なら OS をすべてメモリに載せるオプションが存在します。 それで起動して USB メモリを引っこ抜き、 USB キーボードを挿しましょう。 もしくは、 USB ハブを用意しておきましょう。

無線 LAN への接続は nmcli を叩いて行いましょう。 net-setup だかいうのでは何故か接続できませんでした。 nmcli dev wifi connect <SSID> password <password> とかやればつながります。 なお、この時点では無線 LAN はクソ不安定です。しばらく我慢しましょう。

インストールするディストリには もともと systemrescuecd からのインストールを推奨しているもの を選択しました。 なので普通に入れるだけです。

UEFI なシステムなので、 GPT で partition を切り、 EFI system partition を作成するなど忘れないようにしましょう。

boot loader インストール後に efibootmgr で boot loader の登録を行いますが、 volume down を押しながら起動している場合は、再起動後に設定が残らないようです。 一度電源を落とし再度 USB メモリを挿して、今度は volume down には 触らずに 起動すれば、 boot loader を見つけられずに USB からの起動に fallback するようなので、 ここで再度ディスクの mount, chroot 等を行い、 efibootmgr での設定を行いましょう。

パッケージで入れた grub2 では何故か起動できませんでした。 現象としては これ と似たような感じです。 とりあえず systemrescuecd の /efi 及び /boot をコピーしてしのぎました。

デバイス色々

Type Cover を動かす

この辺り を参考に kernel に patch を当てたり、 X の設定ファイルを置いたりしましょう。 日本語配列の場合は USB device ID は 0x07dd です。そこだけ気をつけましょう。

無線 LAN をまともにする

git://git.marvell.com/mwifiex-firmware.git を clone して、中の mrvl/ ディレクトリを /lib/firmware/ 以下にコピーし、 使うようにしましょう。多少不安定なところは残りますが、だいぶマシになります。

タッチパネル & ペン

(多分)以下のドライバが入っていれば動きます。

  • i2c-hid

  • i2c_designware_platform

以下のデバイス・機能はまだ動かせていません。

  • bluetooth

    動いているのかもしれないけど、試してない。

  • カメラ

  • type cover, touch pad 部分の two finger scroll 等

  • volume up/down ボタン

まとめ

色々頑張ればどうにか使える状態にはなるので、もっとみんな Linux 入れればいいと思います。