aboutsummaryrefslogtreecommitdiff
path: root/scripts/ovh_vps_ssd/arch_host_script.sh
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2018-03-16 00:22:38 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2018-03-16 18:08:12 +0100
commitc15f2234474ff8a8266e26856702b3c561050667 (patch)
tree5df6dfb44ee2d37fbd9cf7b701bdc7881c575857 /scripts/ovh_vps_ssd/arch_host_script.sh
parent985b53a258ee18eaca8d437ae532c232a6d19921 (diff)
downloadPuppet-c15f2234474ff8a8266e26856702b3c561050667.tar.gz
Puppet-c15f2234474ff8a8266e26856702b3c561050667.tar.zst
Puppet-c15f2234474ff8a8266e26856702b3c561050667.zip
Move scripts to separate chunks
Diffstat (limited to 'scripts/ovh_vps_ssd/arch_host_script.sh')
-rwxr-xr-xscripts/ovh_vps_ssd/arch_host_script.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/ovh_vps_ssd/arch_host_script.sh b/scripts/ovh_vps_ssd/arch_host_script.sh
new file mode 100755
index 0000000..8eecae4
--- /dev/null
+++ b/scripts/ovh_vps_ssd/arch_host_script.sh
@@ -0,0 +1,53 @@
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