server-scripts/entry.sh

70 lines
1.3 KiB
Bash
Raw Normal View History

2020-01-25 16:41:16 +00:00
#!/bin/bash
2020-01-29 12:33:53 +00:00
2020-01-25 16:41:16 +00:00
function first_stage(){
2020-01-29 19:33:36 +00:00
set -e
2020-01-25 16:41:16 +00:00
echo foo first_stage
2020-01-29 12:37:36 +00:00
2020-01-29 20:35:15 +00:00
apt install -y debootstrap cryptsetup btrfs-progs lvm2
2020-01-29 12:59:43 +00:00
2020-01-29 20:22:39 +00:00
echo -n luks_password:
read -s luks_password
2020-01-29 20:40:53 +00:00
if [[ -b /dev/mapper/cryptlvm ]]; then
2020-01-29 20:38:38 +00:00
cryptsetup luksClose cryptlvm
2020-01-29 20:40:53 +00:00
fi
2020-01-29 20:38:38 +00:00
wipefs -a ${DEVICE}
2020-01-29 19:41:05 +00:00
lsblk -ftpo NAME,FSTYPE,LABEL,UUID,FSAVAIL,MOUNTPOINT
2020-01-29 19:29:15 +00:00
select DEVICE in $(lsblk -frpno NAME); do
echo using $DEVICE
2020-01-29 19:32:56 +00:00
break
2020-01-29 19:29:15 +00:00
done
2020-01-29 12:37:36 +00:00
2020-01-29 20:02:02 +00:00
(
echo o
echo n
2020-01-29 20:12:06 +00:00
echo p
echo 1
2020-01-29 20:06:12 +00:00
echo
2020-01-29 20:02:02 +00:00
echo +2G
echo n
2020-01-29 20:12:06 +00:00
echo p
echo 2
2020-01-29 20:02:02 +00:00
echo
2020-01-29 20:12:06 +00:00
echo
2020-01-29 20:02:02 +00:00
echo w
) | fdisk ${DEVICE}
2020-01-29 20:03:26 +00:00
lsblk
2020-01-29 20:02:02 +00:00
echo mkfs.ext4 ${DEVICE}1
2020-01-29 20:28:38 +00:00
yes | mkfs.ext4 ${DEVICE}1
2020-01-29 20:22:39 +00:00
(
echo $luks_password
echo $luks_password
)| cryptsetup luksFormat ${DEVICE}2
echo $luks_password | cryptsetup luksOpen ${DEVICE}2 cryptlvm
2020-01-29 20:35:15 +00:00
pvcreate /dev/mapper/cryptlvm
vgcreate vg0 /dev/mapper/cryptlvm
echo lvcreate /dev/vg0 -name=root -size=100G
lvcreate /dev/vg0 -name=root -size=100G
yes | mkfs.ext4 /dev/vg0/root
echo mount /dev/vg0/root $TARGET
mount /dev/vg0/root $TARGET
2020-01-29 12:33:53 +00:00
echo debootstrap sid $TARGET
2020-01-29 12:38:18 +00:00
debootstrap sid $TARGET
2020-01-29 20:03:26 +00:00
mount ${DEVICE}1 $TARGET/boot
echo mount ${DEVICE}1 $TARGET/boot
2020-01-25 16:41:16 +00:00
}
function second_stage(){
2020-01-29 19:33:36 +00:00
set -e
2020-01-25 16:41:16 +00:00
echo bar second_stage
2020-01-29 19:29:15 +00:00
passwd
echo -n > /etc/motd
2020-01-29 20:35:15 +00:00
apt install -y linux-image-amd64 grub2 cryptsetup btrfs-progs lvm2 locales tzdata keyboard-configuration console-common
2020-01-25 16:41:16 +00:00
}