Skip to content

Instantly share code, notes, and snippets.

@albertcarrete
Last active December 28, 2017 06:36
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save albertcarrete/263f675ca4c94a3c79cf to your computer and use it in GitHub Desktop.
Save albertcarrete/263f675ca4c94a3c79cf to your computer and use it in GitHub Desktop.
Surface Pro 4 Arch Linux Installation

Dual Booting Arch Linux / Windows 10 on a Surface Pro 4

Device: Surface Pro 4

OS: Windows 10 / Arch Linux 4.3.3 - 2016.01.01

Method: Arch Linux USB Installer

Shrink volume in Windows 10

Follow the instructions in disk partition windows.

Boot from USB

Boot into Arch Linux USB Installer which can be done on the SP4 by holding the volume down button on startup.

>Arch Linux archiso x86_64 UEFI USB<
UEFI Shell x86_64 v1
UEFI Shell x86_64 v2
EFI Default Loader
Reboot Into Firmware Interface

[i]Select the first option Arch Linux archiso[/i]

[...]
nvme0n1       259:0   0   238.5G  0 disk
|- nvme0n1p1  259:1   0   260M    0 part
|- nvme0n1p2  259:2   0   128M    0 part
|- nvme0n1p3  259:3   0   174.8G  0 part
|- nvme0n1p4  259:4   0   830M    0 part

Partition nvmeon1 / Linux Swap

Partition nvme0n1 for Linux Swap, use gdisk /dev/nvme0n1, add +2GB and hex code / GUID 8200. Then format the swap using mkswap /dev/nvme0n1p5 and turn the swap on using swapon /dev/nvme0n1p5.

Partition nvme0n1 / Linux filesystem

Partition nvme0n1 for Linux filesystem, use gdisk /dev/nvme0n1, use the all the defaults, then format the partition using mkfs.ext4 /dev/nvme0n1p6

Check root

gdisk -l /dev/nvme0n1

1 2048      534527      260.0 MiB EF00 EFI system partition
2 534528    796671      128.0 MiB 0C01 Microsoft reserved...
3 796672    367343615   174.8 GiB 0700 Basic data partition
4 498417664 500117503   830.0 MiB 2700 Basic data partition
5 367343616 371537919   2.0 GiB   8200 Linux Swap
6 371537920 498417663   60.5 GiB  8300 Linux Filesystem

Mount the filesystem and EFI system

mount /dev/nvme0n1p6 /mnt
mount /dev/nvme0n1p1 /mnt/boot

Install Base

pacstrap -i /mnt base base-devel

Generate Fstab

genfstab -p /mnt >> /mnt/etc/fstab

Chroot

arch-chroot /mnt /bin/bash
@precurse
Copy link

Nice gist! Thanks. Have you had a chance to use Arch on it very much?

@JeremieANACHE
Copy link

Would it work with manjaro ?

@KiriCattus
Copy link

I wanna know if the type cover or touch works lol thanks for the quick guide

@hieueastagile
Copy link

@ProxyNeko: I'm not sure about the patched kernel, but the latest version of Arch Linux boot usb doesn't work with Type Cover.

@hiliev
Copy link

hiliev commented Apr 26, 2017

The current version of the Arch Linux boot USB with kernel 4.10.6-1-ARCH supports the Type Cover out of the box on Surface Pro 4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment