Microsoft Surface Pro 3
このページでは Microsoft Surface Pro 3 タブレットで Arch Linux を動作させるのに必要な情報を集めています。
目次
インストーラの起動
USB から起動するには、USB や SD カードから起動するようにタブレットを設定する必要があります。また、Secure Boot を無効にすると、起動するたびに "Surface" のスプラッシュロゴに合わない赤い背景が表示されるので、無効化しないほうが良いでしょう。
Surface Pro 3 には3種類のブートが存在します [1]:
- 通常モード
- 何も操作しないと通常モードで起動します。UEFI 設定の "Alternate Boot order" から起動順序を変更できます。
- UEFI 設定の起動
- デバイスの電源を切る (あるいは再起動する、ただし電源オフの方が安全です)
- Volume up を押す、そのまま押し続ける
- 電源ボタンを押す
- Surface ロゴが表示されるまで待つ
- Volume up を離す
- UEFI 設定メニューが表示されます
- USB/SD カードの起動
- デバイスの電源を切る
- Volume down を押す、そのまま押し続ける
- 電源ボタンを押す
- Surface ロゴが表示されるまで待つ
- Volume down を離す
Secure Boot の無効化
UEFI 設定を起動して、Secure Boot Control > Disable を選択してください。それからインストールに進んで下さい。詳しくは [2] を参照。
Secure Boot で起動
Unified Extensible Firmware Interface#Secure Boot を見て下さい。
インストール
systemd の bootctl を使う Systemd-boot (旧 Gummiboot) でインストールすることができます。ビギナーズガイドのインストールの手順を全て完了したら、あと2つのことをやる必要があります。ローダーの中に vmlinuz が登録されていないため、新規インストールでは Secure Boot で起動することができません。
設定を行う一番簡単な方法は以下の通りです。再起動をする前に行なって下さい:
- chroot から退出する。ただし何もアンマウントしないで下さい。
/mnt/boot/EFI/boot/bootx64.efi
を/mnt/boot/EFI/boot/loader.efi
に移動/boot/EFI/boot/bootx64.efi
とHashTool.efi
を/mnt/boot/EFI/boot/
にコピー (/boot
に HashTool が存在しない場合は/usr/run
の中を見て下さい)
これで、Gummitboot ローダーを起動するための Preloader が有効になり、何か署名されていないものが検出されると、HashTool.efi
を起動して vmlinuz-image バイナリに署名を行います。署名がされていても、されていなくても、ハッシュの保存処理が繰り返されるので、Secure Boot が有効になっていても自由にカーネルを起動することが可能です。
設定
タッチパッドやスクリーンなどは最新のカーネルでサポートされていますが、ウェブカメラなどはサポートされていません。Arch Linux における Surface Pro 3 のサポート状況を追跡する github リポジトリが作られており、そこから現状を確認できます: [3]。
Surface のデバイスをサポートする、Surface Pro 3 専用の Linux カーネルパッケージも存在します。AUR の linux-surfacepro3AUR からインストールできます。あるいは上流からパッチを取得してください。
パッチを適用してカーネルをコンパイル
カーネル/コンパイル/伝統的な方法#ビルド設定を参照してください。
Surace Pro 3 の Linux カーネルハードウェアパッチ
タッチパッドの有効化
xf86-input-synaptics パッケージをインストールして、以下を /usr/share/X11/xorg.conf.d/10-evdev.conf
の末尾に追加してください (参照: Reddit):
Section "InputClass"·· Identifier "Surface Pro 3 cover" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "vendor" "045e" Option "product" "07dc" Option "IgnoreAbsoluteAxes" "True" EndSection
Secure Boot が有効な状態で起動
Secure Boot が有効な UEFI で推奨されるブートローダーは systemd-boot です。
Secure Boot で起動するには、次のパッケージが必要になります: efibootmgr, prebootloader。
参照: Surface Pro 3 and Secure Boot post-install。
/usr/lib/prebootloader/HashTool.efi
と /usr/lib/prebootloader/PreLoader.efi
を /boot/EFI/systemd/
にコピーしてから PreLoader.efi
の NVRAM エントリを作成してください:
efibootmgr -d /dev/sdX -p Y -c -L Preloader -l /EFI/systemd/PreLoader.efi
エントリが作成されたこと、ブート順で一番最初になっていることを確認:
efibootmgr
ブートローダーでカーネルを登録してください: Unified Extensible Firmware Interface#Secure Boot。HashTool.efi と vmlinuz-linux を登録してから、システムを再起動します。これで Secure Boot が有効でも起動できるはずです。
トラブルシューティング
Invalid signature detected check secure boot policy in setup
Secure Boot データベースを削除して Microsoft & CA で初期化すると発生します。以下の手順で修復できます:
- リセット後、電源を切って SD/USB から起動できるか試して下さい。起動できず何度もメッセージが表示される場合:
- TPM & SecureBoot を有効にして Alternate System Order を SSD Only にしてください
- もう一度データベースをリセットしてください
- Microsoft と CA をもう一度登録してください
- volume down で sd/usb を再起動します
- Secure Boot のインストールの手順に従って下さい
上記の設定をしても直らない場合、archiso イメージをもう一度書き込んで再度試して下さい。
キーボードカバーが機能しない
再起動すると問題が発生することがあります。シャットダウンか再起動すれば解決します。