Update README.md

This commit is contained in:
2016-08-28 14:19:31 +02:00
parent fe1d3e2e17
commit 37e5970971

View File

@@ -1,24 +1,29 @@
Microsoft Surface Pro 3 with Arch Linux and i3
==============================================
**!!! documentation unfinished !!!**
(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
- Save all your files, will will format the whole file system.
- Download Arch Linux ISO [archlinux-yyyy.mm.dd-dual.iso] [arch] via HTTP Direct
Downloads (choose a Mirror) or BitTorrent Download
[arch]: https://www.archlinux.org/download/ "Arch Linux Downloads"
- Create UEFI bootable USB device with [Rufus] [rufus] with default settings
- Create UEFI bootable USB device (with [Rufus] [rufus] and default settings)
[rufus]: https://rufus.akeo.ie/ "Rufus"
- Disable Secure Boot [\[Source: Windows\]] [win:sb]
1. Shut down your Surface.
2. Press and hold the volume-up button on your Surface and at the same time, press and release the power button.
2. Press and hold the volume-up button on your Surface and at the same time,
press and release the power button.
3. When you see the Surface logo, release the volume-up button.
The UEFI menu will display within a few seconds.
4. 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)
- (Optionally: Disable Windows Fast Boot — to switch between operating
systems)
# Installing the Linux distro
@@ -28,7 +33,7 @@ Optionally set the keyboard layout (default is US)
$ loadkeys de-latin1
Increase font size
Set or in this case increase the font size
$ setfont latarcyrheb-sun32
@@ -46,7 +51,8 @@ Update the system clock
## Partitioning
Note: Using `parted` with `mkpart` defines partitions via a *from* and a *to* argument.
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
@@ -58,7 +64,10 @@ Note: Using `parted` with `mkpart` defines partitions via a *from* and a *to* ar
(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.
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
@@ -69,9 +78,71 @@ That last entry is for a shared NTFS filesystem that both operating systems (Lin
$ 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 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
## Install the base packages and configure the system
Edit `/etc/pacman.d/mirrorlist` and select a download mirror (uncommenting the
specific line). [\[see also Arch Linux Wiki: Mirrors\]] [arch:mirrors]
[arch:mirrors]: https://wiki.archlinux.org/index.php/Mirrors "Arch Linux Mirrors"
Install the base packages or more
$ pacstrap /mnt base
# or
$ pacstrap -i /mnt base base-devel btrfs-progs
Generate an `fstab` file, so the filesystem knows how to mount the disk
partitions. [\[see also Arch Linux Wiki: fstab\]] [arch:fstab]
[arch:fstab]: https://wiki.archlinux.org/index.php/Fstab "Arch Linux fstab"
$ genfstab -U /mnt >> /mnt/etc/fstab
Change root into the new system
$ arch-chroot /mnt /bin/bash # bash shell instead of the default sh
For localizations uncomment `en_US.UTF-8 UTF-8` and other needed localizations
in `/etc/locale.gen`, e. g. `de_DE.UTF-8 UTF-8`. Finally generate the locale
files:
$ locale-gen
Set the LANG variable in `/etc/locale.conf` accordingly
LANG=en_US.UTF-8
Optionally set the keyboard layout and set the font in `/etc/vconsole.conf`
KEYMAP=de-latin1
FONT=latarcyrheb-sun32
Set the time zone, e. g. for Germany as Europe/Berlin.
Three ways possible: [\[see also Arch Linux Wiki: Time zone\]] [arch:tz]
[arch:tz]: https://wiki.archlinux.org/index.php/Fstab "Arch Linux Time zone"
- interactively with `tzselect` (e. g. 7) Europe, 16) Germany, 2) Germany, 1) yes),
- via `timedatectl`
$ timedatectl # check the current zone
$ timedatectl list-timezones # list available zones
$ timedatectl set-timezone Europe/Berlin # change your time zone
- or create the symlink manually
$ ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Set the Hardware Clock from the System Clock, and update the timestamps in
`/etc/adjtime` via:
hwclock --systohc --utc
...