X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fovh_vps_ssd%2Farch_host_script.sh;fp=scripts%2Fovh_vps_ssd%2Farch_host_script.sh;h=8eecae43e5dcae3098ee3504359eebb3fb29e8e5;hb=c15f2234474ff8a8266e26856702b3c561050667;hp=0000000000000000000000000000000000000000;hpb=985b53a258ee18eaca8d437ae532c232a6d19921;p=perso%2FImmae%2FProjets%2FPuppet.git 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 @@ +#!/bin/bash + +set -e + +git_branch="$1" +environment="$2" + +# Randomizer +apt-get update +apt-get install -y haveged +haveged & +# /Randomizer + +# Prepare an arch chroot +cd /tmp + +LATEST=$(curl -L https://mirrors.kernel.org/archlinux/iso/latest/sha1sums.txt | grep "bootstrap" | head -n1) +SHA1=$(echo "$LATEST" | cut -d' ' -f1) +NAME=$(echo "$LATEST" | cut -d' ' -f3) + +curl -L -O "https://mirrors.kernel.org/archlinux/iso/latest/$NAME" + +tar -xzf "$NAME" + +echo 'Server = http://archlinux.mirrors.ovh.net/archlinux/$repo/os/$arch' > /tmp/root.x86_64/etc/pacman.d/mirrorlist +# /Prepare an arch chroot + +# Prepare device information (not available in chroot) +DEVICE_STR=$(cat /proc/mounts | grep "/dev/[sv]d.. /mnt/") +DEVICE=$(echo "$DEVICE_STR" | cut -d' ' -f1) +MOUNTPOINT=$(echo "$DEVICE_STR" | cut -d' ' -f2) + +umount "$DEVICE" +UUID=$(lsblk -rno UUID "$DEVICE") + +echo "$UUID" > /tmp/root.x86_64/device_uuid +# /Prepare device information + +# Install very basic system via chroot (base git puppet) +cp /tmp/arch_chroot_script.sh /tmp/root.x86_64/ + +/tmp/root.x86_64/bin/arch-chroot /tmp/root.x86_64/ /arch_chroot_script.sh +# /Install very basic system via chroot + +# Mount and install rest of system (via puppet) +mount "$DEVICE" + +cp /tmp/arch_install_script.sh "$MOUNTPOINT/root/" +cp /tmp/puppet_variables.json "$MOUNTPOINT/root/" + +/tmp/root.x86_64/bin/arch-chroot "$MOUNTPOINT" /root/arch_install_script.sh "$git_branch" "$environment" +# /Mount and install rest of system +