2.9 KiB
Microsoft Surface Pro 3 with Arch Linux and i3
(Dual) Booting Arch Linux (and Windows) with UEFI and Secure Boot
-
Download Arch Linux ISO [archlinux-yyyy.mm.dd-dual.iso] [arch] via HTTP Direct Downloads or BitTorrent Download [arch]: https://www.archlinux.org/download/ "Arch Linux Downloads"
-
Create UEFI bootable USB device with [Rufus] [rufus] with default settings [rufus]: https://rufus.akeo.ie/ "Rufus"
-
Disable Secure Boot Source: Windows [win:sb]
- Shut down your Surface.
- Press and hold the volume-up button on your Surface and at the same time, press and release the power button.
- When you see the Surface logo, release the volume-up button. The UEFI menu will display within a few seconds.
- Disable Secure Boot Control [win:sb]: https://www.microsoft.com/surface/en-us/support/warranty-service-and-recovery/how-to-use-the-bios-uefi?os=windows-10&=undefined "Windows"
-
(Disable Windows Fast Boot — to switch between operating systems)
Installing the Linux distro
Insert the live USB and boot by holding volume down, then the power button.
Optionally set the keyboard layout (default is US)
$ loadkeys de-latin1
Increase font size
$ setfont latarcyrheb-sun32
Connect to the Internet
$ iw dev # list wireless devices
$ iw dev wlp1s0 link # Print information about the current link
$ wifi-menu -o wlp1s0 # -o hides the password
Update the system clock
$ timedatectl set-ntp true
$ timedatectl status
$ timedatectl set-timezone Europe/Berlin
Partitioning
Note: Using parted with mkpart defines partitions via a from and a to argument.
$ lsblk # list devices /dev/sda?
$ parted /dev/sdx # could be /dev/sda
(parted) mklabel gpt # for UEFI
(parted) mkpart ESP fat32 1MiB 513MiB # EFI System Partition
(parted) set 1 boot on
(parted) mkpart primary linux-swap 513MiB 9GiB # for 8GB DRAM
(parted) mkpart primary ext4 9GiB 40% # Linux partition
(parted) mkpart primary ntfs 40% 60% # Shared partition
(parted) quit
That last entry is for a shared NTFS filesystem that both operating systems (Linux and Windows) can use, e. g. for a cloud service like Dropbox, email, downloads, etc. The Windows section is left unallocated, it will be formatted by the windows installer.
Formatting
$ mkfs.fat -F32 /dev/sdx1 # UEFI boot must be fat32
$ mkswap /dev/sdx2
$ swapon /dev/sdx2
$ mkfs.ext4 /dev/sdx3 # Linux root
$ mkfs.ntfs -f /dev/sdx4
Mount
Mount the root partition on /mnt and for the boot partition first create directory and then mount it also.
$ mount /dev/sdx3 /mnt
$ mkdir -p /mnt/boot
$ /dev/sbx1 /mnt/boot