はじめに
Surface Pro5(2017)にArchをインストールする方法についての記事です。
またこの記事では、WindowsとArchLinuxのデュアルブートの構築を前提に書いています。
手順を大きく分けると、
「パーティションの設定」→「セキュアブート無効化」→「OSインストール」→「カーネルインストール」→「ドライバ等インストール」.
といった感じです。
USBメモリの作成
まずここからArchLinuxの公式からisoファイルをダウンロードしてきます。
ダウンロードしたら、balenaEtcherなどを使ってUSBメモリにArchLinuxのisoファイルを焼きます。
パーティション縮小
デュアルブートをするために、まずWindowsのパーティションを縮小します。
まず、Windowsボタンを右クリックしてディスクの管理を押します。
そこで、Windowsが入っているパーティションを選択して、好きなサイズに縮小します。(64GB以上がおすすめです)
セキュアブートの無効化
セキュアブートを無効にしないとうまく行きません。
- Surfaceの電源を切る
- 電源ボタンと、音量アップを同時押しでUEFIを起動する。
- Securityタブから、Secure BootのChangeConfigurationを押す
-
Noneを押す
これで無効にできます。
USBから起動する
- Archを焼いたUSBメモリをSurfaceに挿す
- 電源ボタンと、音量アップの同時押しでUEFIを起動する
- Boot configureタブからUSB Storageを一番上に持ってくる。
- ExitをおしてUEFIから抜ける
- 電源を入れるとArchlinuxが起動する
ここで起動しなかった場合、セーフブートが無効になっているかもう一度確認してください。
Archlinuxのインストール
基本的にインストール自体は普通の手順と同じです。私は以下のサイトを参考にさせてもらいました。
インストール時にchroot環境で、linux-firmware-marvellというパッケージを追加でインストールしてください。じゃないと、インストール後WiFiが動作しません。
sudo pacman -S linux-firmware-marvell
ArchLinuxインストール後
デフォルトのカーネルだとタッチ操作やカメラなどが動作しないため、「linux-surface」という別のカーネルをインストールします。
署名インポート
curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
| sudo pacman-key --add - #キーのインポート
sudo pacman-key --finger 56C464BAAC421453 ##署名の確認
sudo pacman-key --lsign-key 56C464BAAC421453 #ローカルで署名
リポジトリに追加
/etc/pacman.confの末尾に以下のものを追加します。
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/
linux-surfaceのインストール
sudo pacman -Syu
sudo pacman -S linux-surface linux-surface-headers iptsd
インストール後、再起動をし下記のコマンドでカーネルが変更されているか確認してください。
uname -a
カメラ
下記のコマンドでカメラを有効にすることができます。
sudo pacman -S libcamera libcamera-tools v4l2loopback-dkms
sudo modprobe v4l2loopback video_nr=42 card_label="virtualcam" exclusive_caps=1
タッチ・ペン操作
libwacom-surfaceというAURにあるパッケージをいれます。これを入れることで、タッチ操作やペン操作が可能になります。
yayが必要なので、入れてなかったら入れてください。
yay -Sy
yay -S libwacom-surface
インストールし再起動すると、Gnomeでは以下の設定が新しく追加されます。
SIM
はじめに、下記のコマンドでModemManagerをインストールします。
sudo pacman -S modemmanager
そして、下記のような内容のシェルスクリプトを作成し実行することで、4Gを使うことができるようになります。
また、このスクリプトは起動時に毎回実行する必要があるので、スタートアップなどに登録しておきましょう。
#!/bin/bash
echo 16383 | sudo tee /sys/bus/usb/devices/2-3/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/rx_max
echo 16383 | sudo tee /sys/bus/usb/devices/2-3/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/tx_max
echo 16384 | sudo tee /sys/bus/usb/devices/2-3/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/rx_max
echo 16384 | sudo tee /sys/bus/usb/devices/2-3/2-3:1.0/net/wwp0s20f0u3/cdc_ncm/tx_max
systemctl restart ModemManager
その他
- DEはジェスチャーが使えるGnomeがおすすめ。(タッチ操作も他DEよりしやすい)
- FireFoxはタッチ操作がうまくいかない。(Chromium系おすすめ)
- krita筆圧検知は使える。
- Surface Pen使える。