diff options
-rw-r--r-- | http/install-chroot.sh | 38 | ||||
-rw-r--r-- | http/install.sh | 33 |
2 files changed, 71 insertions, 0 deletions
diff --git a/http/install-chroot.sh b/http/install-chroot.sh new file mode 100644 index 0000000..392e24f --- /dev/null +++ b/http/install-chroot.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -e +set -x + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime +hostnamectl set-hostname "archlinux" +sed -i -e 's/^#\(en_US.UTF-8\)/\1/' /etc/locale.gen +locale-gen +localectl set-locale "LANG=en_US.UTF-8" +localectl set-keymap "us" +localectl set-xx1-keymap "us" + +# setting vagrant user credentials +echo -e 'vagrant\nvagrant' | passwd +useradd -m -U vagrant +echo -e 'vagrant\nvagrant' | passwd vagrant + +# setting sudo for vagrant user +cat <<EOF > /etc/sudoers.d/vagrant +Defaults:vagrant !requiretty +vagrant ALL=(ALL) NOPASSWD: ALL +EOF +chmod 440 /etc/sudoers.d/vagrant + +# install vagrant ssh key +install --directory --owner=vagrant --group=vagrant --mode=0700 /home/vagrant/.ssh +curl --output /home/vagrant/.ssh/authorized_keys --location https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub +chown vagrant:vagrant /home/vagrant/.ssh/authorized_keys +chmod 0600 /home/vagrant/.ssh/authorized_keys + +# enabling important services +systemctl enable sshd +systemctl enable systemd-networkd + +grub-install "$device" +sed -i -e 's/^GRUB_TIMEOUT=.*$/GRUB_TIMEOUT=1/' /etc/default/grub +grub-mkconfig -o /boot/grub/grub.cfg diff --git a/http/install.sh b/http/install.sh new file mode 100644 index 0000000..f1c97cc --- /dev/null +++ b/http/install.sh @@ -0,0 +1,33 @@ +#!/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 + +pacstrap /mnt base grub openssh sudo +swapon "${device}1" +genfstab -p /mnt >> /mnt/etc/fstab +swapoff "${device}1" + +arch-chroot /mnt /bin/bash |