-
Boot from ISO
-
Keyboard:
loadkeys sv-latin1 -
Partitions boot, swap and root (home will use just use root)
gdisk /dev/sda
-
Format partitions
mkfs.ext4 /dev/sda1 mkswap /dev/sda2 mkfs.ext4 /dev/sda3
-
Mount filesystem
swapon /dev/sda2 mount /dev/sda3 /mnt
mkdir /mnt/boot mount /dev/sda1 /mnt/boot
-
Install Arch
pacstrap /mnt base base-devel genfstab -p /mnt >> /mnt/etc/fstab arch-chroot /mnt /bin/bash vi /etc/locale.conf LANG="en_US.UTF-8" vi /etc/locale.gen
locale-gen ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime vi /etc/vconsole.conf KEYMAP=sv-latin1 vi /etc/hostname
mkinitcpio -p linux
-
Install bootloader
pacman -S syslinux gptfdisk syslinux-install_update -i -a -m
-
Secure root
passwd -
Reboot
exit umount /mnt/boot umount /mnt reboot
-
Base config
# set keymap
vi /etc/vconsole.conf
KEYMAP=sv-latin1
# connect to internet
dhcpcd
# autostart on boot (use ifstat to get device name like enp0s3)
systemctl enable [email protected]
# fix drivers (virtualbox)
pacman -S virtualbox-guest-utils
vi /etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo
systemctl enable vboxservic
# fix drivers (vmware)
pacman -S open-vm-tools
systemctl enable vmtoolsd.service
# add non-root user
useradd -d /home/<username> -m <username>
gpasswd -a <username> audio
passwd <username>
pacman -S sudo
vi /etc/sudoers
# below root ALL=(ALL) ALL
<username> ALL=(ALL) ALL
# firewall, allow only incoming ssh
iptables -N TCP
iptables -N UDP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-rst
iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
iptables -A TCP -p tcp --dport 22 -j ACCEPT
iptables-save > /etc/iptables/iptables.rules
systemctl enable iptables.service
reboot
-
User "basic" setup, login with created user account
sudo pacman -S curl git openssh tmux vim ruby htop nload
sudo pacman -S xf86-input-vmmouse xf86-video-vmware gtkmm
sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa awesome rxvt-unicode chromium
cp /etc/X11/xinit/xinitrc ~/.xinitrc vi ~/.xinitrc
setxkbmap
-layout se
-model apple_laptop
-variant mac
-option lv3:lalt_switch
-option lv3:ralt_altVBoxClient --clipboard VBoxClient --display
exec awesome startx
Sound "sudo pacman -S pulseaudio-alsa lib32-libpulse lib32-alsa-plugins"
Disable PC speaker "echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf"