Microsoft Surface Pro 6
このページでは Microsoft Surface Pro 6 タブレットで Arch Linux を動作させるのに必要な情報を集めています。
目次
インストーラの起動
USB から起動するには、USB や SD カードから起動するようにタブレットを設定する必要があります。また、Secure Boot を無効にすると、起動するたびに "Windows" のスプラッシュロゴに合わない赤い背景が表示されるので、無効化しないほうが良いでしょう。
Surface Pro 6 には3種類のブートが存在します [1]:
- 通常モード
- 何も操作しないと通常モードで起動します。UEFI 設定の "Boot configuration" から起動順序を変更できます。
- UEFI 設定の起動
- デバイスの電源を切る (あるいは再起動する、ただし電源オフの方が安全です)
- Volume up を押す、そのまま押し続ける
- 電源ボタンを押す
- Windows ロゴが表示されるまで待つ
- Volume up を離す
- UEFI 設定メニューが表示されます
- USB/SD カードの起動
- デバイスの電源を切る
- Volume down を押す、そのまま押し続ける
- 電源ボタンを押す
- Windows ロゴが表示されるまで待つ
- Volume down を離す
Secure Boot の無効化
UEFI 設定を起動して、Security > Secure Boot > Change configuration > None を選択してください。それからインストールに進んで下さい。詳しくは [2] を参照。
Secure Boot で起動
Unified Extensible Firmware Interface#Secure Boot を見て下さい。
インストール
systemd の bootctl を使う Systemd-boot (旧 Gummiboot) でインストールすることができます。インストールガイドの手順を全て完了したら、あと2つのことをやる必要があります。ローダーの中に vmlinuz が登録されていないため、新規インストールでは Secure Boot で起動することができません。
Secure Bootが有効な状態で利用したい場合は、Secure BootのSecure Boot#署名済みのブートローダーを使うを参照し、Secure Boot#PreLoader および Secure Boot#フォールバック を実行してください。
これで、Gummitboot ローダーを起動するための Preloader が有効になり、何か署名されていないものが検出されると、HashTool.efi
を起動されます。その後、HashToolから手動で vmlinuz-image バイナリに署名を行います。署名がされていない場合、HashToolから署名処理が行えるされるので、Secure Boot が Microsoft & 3rd party CA の状態でもカーネルを起動することが可能です。
設定
タッチパッドやスクリーンなどは最新のカーネルでサポートされていますが、ウェブカメラなどはサポートされていません。Arch Linux における Surface Pro 6 のサポート状況を追跡する github リポジトリが作られており、そこから現状を確認できます: [3]。
Surface のデバイスをサポートする、Surface Pro 6 専用の Linux カーネルパッケージも存在します。AUR の linux-firmware-surface-pro-6AUR からインストールできます。あるいは上流からパッチを取得してください [4]。
パッチを適用してカーネルをコンパイル
リポジトリをクローンし、ReadMe.mdの手順に従ってカーネルパッチの適用、およびカーネルのインストールを行うことができます。
ビルドしたカーネルでは、vmlinuz-linux, initramfs-linux.imgは vmlinuz-linux-surface, initramfs-linux-surface.imgの名前で作成されます。EFIエントリーのinitrdを書き換えるか、適宜リネームする必要があります。systemd-bootx64.efiについても更新されますが、UEFI によって自動的に起動されるデフォルトのブートローダーには更新が適用されないため、適宜フックするか手動で更新する必要があります。
仮想キーボード
デスクトップ環境によって、様々な仮想キーボードを使うことができます。onboard が使いやすく安定しています。最適な設定方法は こちら にあります。GNOME を使用している場合、より良い統合を行うための拡張が2つ存在します (1, 2)。