{{tag>[hardware up board arch linux]}}
=====Up Board - Arch linux / EFI / SystemD=====
//Intel x5-Z8350 QuadCore 1.44Ghz (1.92GHz) 64 bit 2W CPU.//\\
[[http://www.up-board.org]]\\
{{::upslide3right-evt-3.png?nolink|}}
====Boot & network configuration====
* Download the latest Arch Linux ISO and copy it to a USB-drive.
* Connect the Up board to the network, a monitor and keyboard.
* Boot the Up Board, press F7 and select the USB-drive.
* Check if you received an IP-address over DHCP, else request one with ''dhclient''.
* Install SSH to continue the installation over the network:
pacman -Sy
pacman -S openssh gpart
passwd root
systemctl start sshd
# Connect to the Up board over SSH.
ssh root@
====Partition & filesystems====
* Determine the internal disk name with ''lsblk''. In this case it is ''mmcblk0''.
* Wipe signatures from drive:wipefs /dev/mmcblk0 -a
* Create partitions for EFI, root filesystem and swap.
gdisk /dev/mmcblk0
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries.
Command (? for help):
o create a new empty GUID partition table (GPT)
n, 512M, type EF00 (EFI)
n, 2G, type 8200 (swap)
n, rest of disk, type 8300 (linux)
* Create the filesystems:
mkfs.fat -F32 /dev/mmcblk0p1
mkswap /dev/mmcblk0p2
mkfs.ext4 /dev/mmcblkp3
* Mount the filesystems:
swapon /dev/mmcblk0p2
mount /dev/mmcblk0p3 /mnt # Root filesystem
mkdir /mnt/boot
mount /dev/mmcblk0p1 /mnt/boot # EFI filesystem mounted at /boot
====Install Arch Linux====
* Install Arch Linux on the filesystems:pacstrap /mnt base
* Generate the ''fstab'':genfstab -U /mnt >> /mnt/etc/fstab
* Enter the chroot:arch-chroot /mnt
* Configure the time zoneln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
* Set system time to hardware clock:hwclock --systohc
* Configure the locale:vi /etc/locale.gen
locale-gen
vi /etc/locale.conf
LANG=en_US.UTF-8
* Set the hostname, ''archup'' in this example:vi /etc/hostname
vi /etc/hosts
127.0.1.1 archup.localdomain archup
* Set the root password and create additional accounts:
passwd root
useradd ...
* Install packages on new filesystem:
pacman -S intel-ucode openssh gpart
* Verify that efivars are available, ie booted in EFI-mode:ls /sys/firmware/efi/efivars
* Install EFI boot files:bootctl install
* Configure loader defaults:
vi /boot/loader/loader.conf
timeout 3
default archlinux
* Add an Arch Linux entry:vi /boot/loader/entries/archlinux.conf
title archlinux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID="fcf051c4-9d53-48b1-96eb-3efbc23388ed" rw
* Exit the chroot and unmount the new filesystems:exit
cd
umount -R /mnt
* Boot from internal disk, remove USB-disk:reboot
====Post install configuration====
* Configure SystemD networking:
systemctl enable systemd-networkd
systemctl start systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-resolved
vi /etc/systemd/network/50-wired.network
[Match]
Name=enp1s0
[Network]
DHCP=ipv4
# If you want an additional IP-address in case DHCP is not available.
#[Address]
#Label=enp1s0:0
#Address=10.10.10.1/30
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
* Start and enable SSHd:
systemctl enable sshd
systemctl start sshd
* Configure firewall scripts, for example ufw.