LinuxをSurfacePro3にインストールする方法
Surface Pro 3は、ラップトップとタブレットの代替品として購入するのに非常に魅力的なデバイスです。 前世代のSurfaceProと比較して、Microsoftのプレミアムの3回目の反復 タブレットには、より優れたバッテリー寿命、優れた画面解像度、そして非常に強力なIntelCoreが搭載されています プロセッサ。 Surface Pro 3ハードウェアが好きで、WindowsではなくLinuxを好むユーザーのために、Linuxをインストールする方法を紹介したいと思います。
広告
続行する前に、次のデバイスを入手する必要があります。
- USBハブ
- USBマウス
- USBキーボード
- 残念ながら、DebianはSurface Pro 3の統合WiFiアダプターを検出できないため、スマートフォンからUSBイーサネットアダプターまたはUSBテザリングを使用する必要があります。
Surface Pro 3はUEFIインストールのみをサポートしているため、このようなインストール方法をサポートするLinuxディストリビューションが必要です。 DebianはUEFI対応のLinuxディストリビューションの1つです。 x86UEFIはSurfacePro 3では使用できないため、AMD64セットアップイメージを使用する必要があることに注意してください。
Debianをインストールする準備
リカバリパーティションをUSBフラッシュドライブに保存します
システムパーティションとデータパーティションに加えて、Surface Pro3には5GBのリカバリパーティションがあります。
そのパーティションを8GB以上の容量のフラッシュドライブにコピーすることは可能です(そして推奨されます)。 スタート画面で引用符なしで「リカバリ」と入力し、「リカバリドライブの作成」をクリックします。
リカバリドライブが作成された後、WindowsはSSDドライブからリカバリパーティションを削除することを提案します。
同じデータのリカバリフラッシュドライブがあるので、これを受け入れるのは安全です。したがって、SSDパーティションは必要ありません。 リカバリフラッシュドライブから起動すると、Windowsと削除したリカバリパーティションを含むSSDレイアウト全体が復元されます。
C:ドライブを縮小します
ディスクの管理でC:ドライブを右クリックし、コンテキストメニューから[縮小]コマンドを選択します。 次のダイアログで、予約したい空きディスク容量を入力します。
休止状態を無効にする
Windowsが休止状態になっている場合、LinuxはNTFSパーティションをマウントしないため、休止状態/ディープスリープを完全に無効にする必要があります。 管理者としてコマンドプロンプトを開き、次のコマンドを入力します。
powercfg -hibernate off
インストール
Surface Pro3の電源を切ります。 次に、「+」音量ボタンを押し続けて電源を入れます。 UEFI設定で起動します。ここで、セキュアブート機能を無効にする必要があります。 セキュアブートを無効にすると、別のOSを起動してインストールすることができます。 Surface Pro3を再度シャットダウンします。
DebianLinuxをインストールする
DebianセットアップのUSBドライブをUSBハブに接続します。 「-」音量ボタンを押し続けて、Surface Pro3の電源を入れます。 目的のセットアップモード(GUI /テキストモード)を実行し、Linuxパーティションを手動で作成することを忘れないでください。 ドライブに多数のパーティションを配置したくない場合は、1つのルート(/)パーティションを作成し、すべてのマウントポイントとスワップファイルをそのパーティションに配置できます。
UEFIのため、GRUB2ローダーはMBRに書き込まれません。 代わりにEFIに追加されます
efi / debian / grubx64.efi
Debianのインストールを続けます。 セットアップが完了すると、Surface Pro 3が再起動し、Windows8.1が読み込まれます。
スタート画面で、次のように入力します 回復 もう一度クリックします 回復オプション 検索結果で。 詳細起動オプションで[今すぐ再起動]をクリックします。
AdvancedStartupオプションが開きます。 引き続きデバイスを使用-> Debian。
Debianを起動し、次のファイルを編集します。
/etc/default/grub
次の行のコメントを解除します。
GRUB_GFXMODE = 640x480
その後、次のコマンドを使用してgrub構成を更新します。
update-grub
Debianで起動するのが面倒な場合は、Windowsから毎回高度な起動を表示する必要があります。デフォルトのEFI起動オプションとしてGRUB2を設定することができます。 Debianでは、次のコマンドを入力します。
#efibootmgr...。 起動順序:0000,0002,0001。 Boot0000 * USBドライブ。 Boot0001 * Debian。 Boot0002 * Windows Boot Manager
次のコマンドで起動シーケンスを変更します。
#efibootmgr --bootorder 0000,0001,0002
デバイスの構成
Debianでは、次のデバイスはそのままでは機能しません。
- Wi-Fi
- ブルートゥース
- タッチパッド付きのタイプカバー3
- スタイラス
- タッチスクリーン
これは残念なことであり、OKではありません。 修正しましょう。
WiFiとBluetooth
これら2つを機能させるには、ベンダーのサイトからドライバーを入手する必要があります。 チップはマーベルからです。 次のコマンドを使用します。
$ git clonegit://git.marvell.com/mwifiex-firmware.git。 #mkdir -p / lib / firmware / mrvl / #cp mwifiex-firmware / mrvl / * / lib / firmware / mrvl /
再起動後、WiFiとBluetoothが機能するようになります。
タイプカバー3
これは、ワイヤレスデバイスよりも深刻な問題です。 それを機能させるには、カーネルを再コンパイルし、最新のカーネルv3.16を使用する必要があります。 Debianの実験的なリポジトリから入手できます。
次の行を/etc/apt/sources.listに追加します。
デブ http://ftp.de.debian.org/debian 実験メイン
次に、そのソースを取得する必要があります。
#apt-getupdate。 #apt-get-t実験的インストールlinux-headers-3.16-trunk-amd64linux-image-3.16-trunk-amd64linux-source-3.16。
ソースを解凍します:
#tar -xf / usr / src / linux-source-3.16.tar.xz。 #cd linux-source-3.16
次の内容で新しいtypocover3.patchファイルを作成します。
a / drivers / hidden / hidden-ids.h 2014-01-19 21:40:07.000000000-0500。 +++ b / drivers / hidden / hidden-ids.h 2014-04-20 23:29:35.000000000-0400。 @@ -631,6 +631,7 @@ #define USB_DEVICE_ID_MS_NE4K 0x00db #define USB_DEVICE_ID_MS_NE4K_JP 0x00dc #define USB_DEVICE_ID_MS_LK6K0x00f9。 +#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07dc #define USB_DEVICE_ID_MS_PRESENTER_8K_BT 0x0701 #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K0x0730。 a / drivers / hidden / hidden-core.c 2014-01-19 21:40:07.000000000-0500。 +++ b / drivers / hidden / hidden-core.c 2014-04-21 03:13:54.000000000-0400。 @@ -702,6 +702,11 @@ static void hid_scan_collection(struct h if(((parser-> global.usage_page group = HID_GROUP_SENSOR_HUB; + + if(hid-> vendor == USB_VENDOR_ID_MICROSOFT && + hid-> product == USB_DEVICE_ID_MS_TYPE_COVER_3 && + hid-> group == HID_GROUP_MULTITOUCH) + hid-> group = HID_GROUP_GENERIC; } static int hid_scan_main(struct hid_parser * parser、struct hid_item * item)a / drivers / hid / usbhid / hid-quirks.c 2014-01-19 21:40:07.000000000-0500。 +++ b / drivers / hidden / usbhid / hidden-quirks.c 2014-04-20 23:29:35.000000000-0400。 @@ -73,6 +73,7 @@ static const struct hid_blacklist {{USB_VENDOR_ID_FORMOSA、USB_DEVICE_ID_FORMOSA_IR_RECEIVER、HID_QUIRK_NO_INIT_REPORTS}、{ USB_VENDOR_ID_FREESCALE、USB_DEVICE_ID_FREESCALE_MX28、HID_QUIRK_NOGET}、{USB_VENDOR_ID_MGE、USB_DEVICE_ID_MGE_UPS、HID_QUIRK_NOGET}、+ { USB_VENDOR_ID_MICROSOFT、USB_DEVICE_ID_MS_TYPE_COVER_3、HID_QUIRK_NO_INIT_REPORTS}、{USB_VENDOR_ID_MSI、USB_DEVICE_ID_MSI_GX680R_LED_PANEL、 HID_QUIRK_NO_INIT_REPORTS}、{USB_VENDOR_ID_NOVATEK、USB_DEVICE_ID_NOVATEK_MOUSE、HID_QUIRK_NO_INIT_REPORTS}、{USB_VENDOR_ID_PIXART、 USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN、HID_QUIRK_NO_INIT_REPORTS}、
次にパッチを適用します。
パッチ-p1--ignore-whitespace -i typecover3.patch
次に、新しいカーネルで使用するために現在のカーネル構成をコピーします。
#cp / boot / config-`uname -r`.config。 #menuconfigを作成します
構成を保存して、menuconfigメニューを終了します。 これ以上の変更は必要ありません。 次に、カーネルをコンパイルします。
#make-kpkgclean。 #fakeroot make-kpkg --initrd --append-to-version = -typecover3 kernel_image kernel_headers
約1時間かかります。 2つの* .debパッケージを入手する必要があります。これらをインストールする必要があります。
# CD.. #dpkg -i linux-image * .deb linux-headers * .deb
それでおしまい。 新しいカーネルで再起動すると、Type Cover3が機能するはずです。
タッチパッド
これは非常に簡単です。/etc/X11/xorg.confファイルに次のテキストを追加するだけです。
セクション「InputClass」識別子「SurfacePro3カバー」MatchIsPointer「on」MatchDevicePath "/ dev / input / event *"ドライバー "evdev"オプション "ベンダー" "045e"オプション "製品" "07dc"オプション 「IgnoreAbsoluteAxes」「True」 EndSection
もう一度再起動します。 すべてが機能します。
次に、laptop-mode-toolsパッケージをインストールして、Linuxの省電力を改善します。
それでおしまい。
締めくくりの言葉
LinuxでSurfacePro 3のほとんどの機能を動作させることは可能ですが、それでもいくつかの問題があります。 音量ボタンは、スタイラスボタンと同様に、箱から出しては機能しません。 そして、1つの落とし穴、加速度センサーも機能しません。 これらの問題に耐えられる場合は、Surface Pro3デバイスにLinuxがインストールされていることに満足できます。 (経由 habr).