summaryrefslogtreecommitdiff
path: root/http/install.sh
blob: 682bdd54421f575c179f58982cd076e9e87eec76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

set -e
set -x

if [ -e /dev/vda ]; then
  device=/dev/vda
elif [ -e /dev/sda ]; then
  device=/dev/sda
else
  echo "ERROR: There is no disk available for installation" >&2
  exit 1
fi
export device

memory_size_in_kilobytes=$(free | awk '/^Mem:/ { print $2 }')
swap_size_in_kilobytes=$((memory_size_in_kilobytes * 2))
sfdisk "$device" <<EOF
label: dos
size=${swap_size_in_kilobytes}KiB, type=82
                                   type=83, bootable
EOF

mkswap "${device}1"
mkfs.btrfs -L "rootfs" "${device}2"
mount "${device}2" /mnt

cp /etc/pacman.d/mirrorlist /tmp/mirrorlist.backup
sed -i 's/^#Server/Server/' /tmp/mirrorlist.backup
rankmirrors -vn 6 /tmp/mirrorlist.backup > /etc/pacman.d/mirrorlist
pacstrap /mnt base grub openssh sudo polkit
swapon "${device}1"
genfstab -p /mnt >> /mnt/etc/fstab
swapoff "${device}1"

arch-chroot /mnt /bin/bash