void-bash-installer/step2/10-disk

135 lines
3.6 KiB
Plaintext
Raw Normal View History

2021-05-09 23:11:20 +02:00
if ! yesno "nun gehts los, sicher?" y; then
exit
fi
2021-05-09 23:15:18 +02:00
module start "disk" "Partition disk"
2021-05-12 10:26:24 +02:00
sleep=2
2021-05-09 23:11:20 +02:00
diskid="${cfg[diskid]//-/_}"
index=1
2021-08-18 08:22:24 +02:00
echo $diskid
2021-05-09 23:11:20 +02:00
echo "Formatting disk"
2021-05-09 20:58:18 +02:00
if test -d /sys/firmware/efi; then
2021-05-09 23:15:18 +02:00
echo "UEFI Partition"
2021-05-09 23:11:20 +02:00
echo "g
n
1
+1G
t
1
w
2021-05-12 10:14:50 +02:00
q" | fdisk "${cfg[diskname]}" > /dev/null
2021-05-09 23:11:20 +02:00
efipart="${cfg[diskname]}${index}"
index=$(( index + 1 ))
2021-05-09 20:58:18 +02:00
else
2021-05-09 23:15:18 +02:00
echo "BIOS Partition"
2021-05-09 23:11:20 +02:00
echo "o
w
2021-05-12 10:14:50 +02:00
q" | fdisk "${cfg[diskname]}" > /dev/null
2021-05-09 23:11:20 +02:00
fi
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
echo "create bootpartition"
target_boot="${cfg[diskname]}${index}"
index=$(( index + 1 ))
echo "n
p
1
+${cfg[bootsize]}G
a
w
q" | fdisk "${cfg[diskname]}" > /dev/null
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
if [[ "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}"
index=$(( index + 1 ))
echo "create rootfs"
echo "n
p
2
w
q" | fdisk "${cfg[diskname]}" > /dev/null
elif [[ ! "${cfg[rootfssize]}" == "rest" ]]; then
target_partition_tmp="${cfg[diskname]}${index}"
echo "create rootfs with a specific size"
echo "n
p
2
+${rootfssize}G
w
q" | fdisk "${cfg[diskname]}" > /dev/null
fi
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
target_partition="${target_partition_tmp}"
if [[ ! "${cfg[fde_key_store]}" == "none" ]]; then
echo -n "${cfg[diskpw]}" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
echo -n "${cfg[diskpw]}" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
#echo -n "oem" | cryptsetup luksFormat --type luks1 "${target_partition}" -d -
#echo -n "oem" | cryptsetup luksOpen "${target_partition}" "voidluks-${diskid}" -d -
target_partition="/dev/mapper/voidluks-${diskid}"
fi
2021-05-09 23:15:18 +02:00
mkswap "${target_partition}" || exit 1
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:11:20 +02:00
vgcreate -q -f "voidvg.${diskid}" "${target_partition}" || exit 1
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:15:18 +02:00
lvcreate -q -y --name swap -L "${cfg[swapsize]}"G "voidvg.${diskid}" || exit 1
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:15:18 +02:00
lvcreate -q -y --name root -l 100%FREE "voidvg.${diskid}" || exit 1
2021-05-12 10:14:50 +02:00
sleep $sleep
2021-05-09 23:15:18 +02:00
mkfs.btrfs -q -f "/dev/mapper/voidvg.${diskid}-root" || exit 1
2021-05-09 23:11:20 +02:00
2021-05-09 23:15:18 +02:00
mkswap "/dev/mapper/voidvg.${diskid}-swap" || exit 1
2021-05-09 23:11:20 +02:00
2021-05-09 23:34:33 +02:00
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" || exit 1
2021-05-09 23:11:20 +02:00
btrfs subvol create "${dest}/rootfs"
btrfs subvol create "${dest}/homefs"
mkdir -p "${dest}/system/snapshots/update" "${dest}/system/snapshots/regular" "${dest}/system/backup"
umount "${dest}"
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}" -o subvol=rootfs
for i in boot home dev proc sys tmp etc var/lib/backup/quelle/rootfs var/lib/backup/ziel var/db; do mkdir -p "${dest}/${i}"; done
mount "/dev/mapper/voidvg.${diskid}-root" "${dest}"/home -o subvol=homefs
mkdir -p "${dest}/var/lib/backup/quelle/bootfs"
mkfs.btrfs -q -f "${target_boot}"
mount "${target_boot}" "${dest}/boot"
btrfs subvol create "${dest}/boot/bootfs"
mkdir -p "${dest}/boot/system/snapshots/update" "${dest}/boot/system/snapshots/regular" "${dest}/boot/system/backup"
umount "${dest}/boot"
if [[ "${cfg[fde_key_store]}" == "once" ]]; then
mount "${target_boot}" "${dest}/boot" -o subvol=bootfs
fi
if test -d /sys/firmware/efi; then
mkdir -p "${dest}/boot/efi"
mkfs.vfat -F32 "${efipart}"
mount "${efipart}" "${dest}/boot/efi"
2021-05-09 20:58:18 +02:00
fi
2021-05-09 23:11:20 +02:00
for dir in dev proc sys run; do mkdir -p "${dest}"/$dir ; mount --rbind /$dir "${dest}"/$dir ; mount --make-rslave "${dest}"/$dir ; done
setconf add rootuuid "$(blkid -o value -s UUID ${target_partition})"
setconf add partuuid "$(blkid -o value -s UUID ${cfg[diskname]}${cfg[target_part]})"
[[ "${cfg[fde_key_store]}" == "once" ]] && setconf "add" "bootuuid" "$(blkid -o value -s UUID ${target_boot})"
setconf add swapuuid "$(blkid -o value -s UUID /dev/mapper/voidvg.${diskid}-swap)"
mount -t tmpfs -o size=512m tmpfs "${dest}"/tmp
module end