69 lines
1.3 KiB
Bash
Executable file
69 lines
1.3 KiB
Bash
Executable file
#!/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
|
|
|
|
if [ -b /dev/mapper/cryptlvm ]; then
|
|
cryptsetup luksClose cryptlvm
|
|
close
|
|
|
|
wipefs -a ${DEVICE}
|
|
|
|
lsblk -ftpo NAME,FSTYPE,LABEL,UUID,FSAVAIL,MOUNTPOINT
|
|
select DEVICE in $(lsblk -frpno NAME); do
|
|
echo using $DEVICE
|
|
break
|
|
done
|
|
|
|
(
|
|
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
|
|
}
|