#!/bin/bash function first_stage(){ set -e echo foo first_stage apt install -y debootstrap cryptsetup btrfs-progs lvm2 echo -n luks_password: read -s luks_password lsblk -ftpo NAME,FSTYPE,LABEL,UUID,FSAVAIL,MOUNTPOINT select DEVICE in $(lsblk -frpno NAME); do echo using $DEVICE break done if [ -b /dev/mapper/cryptlvm ]; then cryptsetup luksClose cryptlvm fi wipefs -a ${DEVICE} ( echo o echo n echo p echo 1 echo echo +2G echo n echo p echo 2 echo echo echo w ) | fdisk ${DEVICE} lsblk echo mkfs.ext4 ${DEVICE}1 yes | mkfs.ext4 ${DEVICE}1 ( echo $luks_password echo $luks_password )| cryptsetup luksFormat ${DEVICE}2 echo $luks_password | cryptsetup luksOpen ${DEVICE}2 cryptlvm 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 echo debootstrap sid $TARGET debootstrap sid $TARGET mount ${DEVICE}1 $TARGET/boot echo mount ${DEVICE}1 $TARGET/boot } function second_stage(){ set -e echo bar second_stage passwd echo -n > /etc/motd apt install -y linux-image-amd64 grub2 cryptsetup btrfs-progs lvm2 locales tzdata keyboard-configuration console-common }