]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blame - scripts/ovh_vps_ssd/arch_host_script.sh
Move scripts to separate chunks
[perso/Immae/Projets/Puppet.git] / scripts / ovh_vps_ssd / arch_host_script.sh
CommitLineData
c15f2234
IB
1#!/bin/bash
2
3set -e
4
5git_branch="$1"
6environment="$2"
7
8# Randomizer
9apt-get update
10apt-get install -y haveged
11haveged &
12# /Randomizer
13
14# Prepare an arch chroot
15cd /tmp
16
17LATEST=$(curl -L https://mirrors.kernel.org/archlinux/iso/latest/sha1sums.txt | grep "bootstrap" | head -n1)
18SHA1=$(echo "$LATEST" | cut -d' ' -f1)
19NAME=$(echo "$LATEST" | cut -d' ' -f3)
20
21curl -L -O "https://mirrors.kernel.org/archlinux/iso/latest/$NAME"
22
23tar -xzf "$NAME"
24
25echo 'Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch' > /tmp/root.x86_64/etc/pacman.d/mirrorlist
26# /Prepare an arch chroot
27
28# Prepare device information (not available in chroot)
29DEVICE_STR=$(cat /proc/mounts | grep "/dev/[sv]d.. /mnt/")
30DEVICE=$(echo "$DEVICE_STR" | cut -d' ' -f1)
31MOUNTPOINT=$(echo "$DEVICE_STR" | cut -d' ' -f2)
32
33umount "$DEVICE"
34UUID=$(lsblk -rno UUID "$DEVICE")
35
36echo "$UUID" > /tmp/root.x86_64/device_uuid
37# /Prepare device information
38
39# Install very basic system via chroot (base git puppet)
40cp /tmp/arch_chroot_script.sh /tmp/root.x86_64/
41
42/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/ /arch_chroot_script.sh
43# /Install very basic system via chroot
44
45# Mount and install rest of system (via puppet)
46mount "$DEVICE"
47
48cp /tmp/arch_install_script.sh "$MOUNTPOINT/root/"
49cp /tmp/puppet_variables.json "$MOUNTPOINT/root/"
50
51/tmp/root.x86_64/bin/arch-chroot "$MOUNTPOINT" /root/arch_install_script.sh "$git_branch" "$environment"
52# /Mount and install rest of system
53