Added OVH KS-5 setup

Added config & hardware scripts for OVH KS-5 with 2x 2TB HDDs
Added my own authorized_keys and removed lubs
Removed longhorn volumes, dependencies and configs
master
Peery 3 weeks ago
parent fc0002114c
commit 71054d5f60
Signed by: pandro
SSH Key Fingerprint: SHA256:iBUZSuDxqYr4hYpe9U3BA9NJmXKpbGt4H0S8hUwIbrA

@ -1,2 +0,0 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINQ0EPy3cbfX/wmelSsjRvrXpq9kZWo8tRh68r4Z3QhTAAAABHNzaDo= lub@primary
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIAUmJxFSwI95zf/NBKNMDXyiRViuKsWnVYl3Qd3DXdRWAAAABHNzaDo= lub@secondary

@ -0,0 +1 @@
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAAsp+gJNn92bg7WWC4jITKBrEnhZPd7Q9wBF3CZV+80lB0OHlY/m9OSN0njtAAtDUTCY3owC4eXu8FNbzwzRT0pjAEwm2558sd5NCwfu075u0zypkDgZ/tedVLYjMhYlpgE1VrYW/Mn3tF5+e3RnAaSNk8OrRXMcd9BnjaC9TlppGo92g== peery@0WLH34RT

@ -0,0 +1,2 @@
# <target> <source device> <key file> <options>
root-unlocked /dev/all_vg/root none luks,discard

@ -0,0 +1,8 @@
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
/dev/mapper/root-unlocked-sda / btrfs relatime,autodefrag 0 1
UUID=%boot_uuid% /boot ext4 relatime 0 2
UUID=%esp_uuid% /boot/efi vfat relatime 0 2

@ -0,0 +1,36 @@
#!/bin/bash
set -e
# / 1990GB /dev/sda1 & /dev/sdb1 btrfs raid1
# /boot 2GB /dev/md0
# /boot/efi 1GB /dev/sda3 || /dev/sdb3
# free 7GB
chroot="$1"
# encrypt and unlock the root partitions
echo -n 'Enter LUKS password: '
read -s root_pwd
echo #to indicate progress after password prompt
for root in "sda1" "sdb1"; do
echo -n $root_pwd | cryptsetup -q luksFormat "/dev/$root"
echo -n $root_pwd | cryptsetup open --type luks "/dev/$root" "root-unlocked-$root"
done
unset root_pwd
# root device btrfs raid1
mkfs.btrfs /dev/sda1
mount /dev/sda1 "$chroot"
btrfs device add /dev/sdb1 "$chroot" -f
btrfs balance start -dconvert=raid1 -mconvert=raid1 "$chroot"
# boot device ext4
mkfs.ext4 "$boot"
mkdir "$chroot/boot"
mount "$boot" "$chroot/boot"
# esp device FAT
mkfs.fat "$esp"
mkdir "$chroot/boot/efi"
mount "$esp" "$chroot/boot/efi"

@ -0,0 +1,16 @@
#!/bin/bash -e
address=$(ip addr show dev eth0 scope global | grep -F 'inet ' | perl -pe 's#.*inet (.*?) .*#$1#')
gateway=$(echo "$address" | perl -pe 's#\d*/24$/#254#')
# $interface differs from the live system because of different naming schemes
# see https://wiki.debian.org/NetworkInterfaceNames for more details
interface='eno1'
echo "[Match]
Name=$interface
[Network]
Address=$address
Gateway=$gateway" > "/etc/systemd/network/${interface}.network"

@ -0,0 +1,27 @@
#!/bin/bash
set -e
# / 1990GB
# /boot 2GB
# /boot/efi 1GB
# free 7GB
parted /dev/sda mklabel gpt
parted /dev/sda mkpart primary 1 1990GB
parted /dev/sda mkpart primary 1990GB 1992GB
parted /dev/sda mkpart primary 1992GB 1993GB
# set flag for ESP
parted /dev/sda set 3 boot on
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 1 1990GB
parted /dev/sdb mkpart primary 1990GB 1992GB
parted /dev/sdb mkpart primary 1992GB 1993GB
# set flag for ESP
parted /dev/sdb set 3 boot on
sleep 1
# $1=hostname
echo 'yes' | mdadm -C /dev/md0 --homehost="$1" -l1 -n2 /dev/sd[ab]2 # /boot raid1

@ -2,8 +2,10 @@
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
# config files # common config files
cp -a /hardware-setup/config/* / cp -a /hardware-setup/base/config/* /
# overwrite config files
cp -a "/hardware-setup/$1/config/*" /
# update apt because sources.list.d is also in config/* # update apt because sources.list.d is also in config/*
apt-get update apt-get update
@ -23,7 +25,7 @@ apt-get -y install locales
### boot ### boot
apt-get -y install lvm2 mdadm cryptsetup systemd systemd-sysv e2fsprogs firmware-linux apt-get -y install lvm2 mdadm cryptsetup systemd systemd-sysv e2fsprogs firmware-linux btrfs-progs
systemctl enable fstrim.timer systemctl enable fstrim.timer
# --force-confold because we already provide /etc/dropbear/initramfs/dropbear.conf # --force-confold because we already provide /etc/dropbear/initramfs/dropbear.conf
@ -52,10 +54,6 @@ esp_uuid=$(blkid --output value "/hardware-setup/hardware/${1}/esp" | head -n1)
sed -i "s/%boot_uuid%/${boot_uuid}/" /etc/fstab sed -i "s/%boot_uuid%/${boot_uuid}/" /etc/fstab
sed -i "s/%esp_uuid%/${esp_uuid}/" /etc/fstab sed -i "s/%esp_uuid%/${esp_uuid}/" /etc/fstab
# install longhorn dependencies
apt-get -y install open-iscsi nfs-common
systemctl disable rpcbind.service # rpcbind is not used with NFS v4
# after cryptsetup, mdadm, ... because of update-initramfs # after cryptsetup, mdadm, ... because of update-initramfs
apt-get -y install linux-image-amd64 apt-get -y install linux-image-amd64
update-grub update-grub

@ -7,3 +7,4 @@ done
wait wait
sync sync
partprobe

@ -2,7 +2,7 @@
set -e set -e
apt-get -y install lvm2 mdadm cryptsetup debootstrap apt-get -y install lvm2 mdadm cryptsetup debootstrap btrfs-progs
# returns /dev/md0 as root device # returns /dev/md0 as root device
# returns "$boot" as boot device # returns "$boot" as boot device
@ -10,39 +10,10 @@ apt-get -y install lvm2 mdadm cryptsetup debootstrap
root="hardware/${1}/root" root="hardware/${1}/root"
boot="hardware/${1}/boot" boot="hardware/${1}/boot"
esp="hardware/${1}/esp" esp="hardware/${1}/esp"
longhorn="hardware/${1}/longhorn"
# encrypt and unlock root device
echo -n 'Enter LUKS password: '
read -s root_pwd
echo #to indicate progress after password prompt
echo -n $root_pwd | cryptsetup -q luksFormat "$root"
echo -n $root_pwd | cryptsetup open --type luks "$root" root-unlocked
unset root_pwd
# format # format
chroot=/mnt/root-unlocked chroot=/mnt/root-unlocked
"./hardware/${1}/mkfs.sh" "$chroot"
# root device
mkfs.ext4 /dev/mapper/root-unlocked
mkdir /mnt/root-unlocked
mount /dev/mapper/root-unlocked /mnt/root-unlocked
# boot device
mkfs.ext4 "$boot"
mkdir "$chroot/boot"
mount "$boot" "$chroot/boot"
# esp device
mkfs.fat "$esp"
mkdir "$chroot/boot/efi"
mount "$esp" "$chroot/boot/efi"
# additional data disks
mkfs.ext4 "$longhorn"
mkdir --parents "$chroot/var/lib/longhorn"
# debootstrap # debootstrap

Loading…
Cancel
Save