Compare commits

..

5 Commits

Author SHA1 Message Date
lulzette
3111605ce1 fix question 2021-01-24 19:19:08 +03:00
lulzette
4a08cb45d4 fix chroot+fix question encrypted 2021-01-24 18:52:30 +03:00
lulzette
31649a6948 i'm too stupid for bash... 2021-01-24 17:56:08 +03:00
lulzette
55514aca5b fix error, fix msgs 2021-01-24 14:03:29 +03:00
lulzette
b571133f3f fix swap selector 2021-01-24 13:47:29 +03:00

View File

@@ -44,7 +44,8 @@ do
read -p "Target drive is " targetDrive
targetDrive=/dev/$targetDrive
done
echo "Encrypted? (Y/n) "
#encrypted?
echo "Encrypted? (Y/N)"
while read -r -n 1 answer ; do
if [[ $answer = [YyNn] ]]; then
[[ $answer = [Yy] ]] && encryptedDevice=true && echo "WARNING You will be asked for password later" #read -p "Password: " encryptedPassword
@@ -55,6 +56,7 @@ done
#get swap size
swapSize=$(free -m | grep "Mem" | awk '{print $2}')
echo ""
read -p "Enter extra amount of swap (empty == 512):" swapExtra
[[ -z "$swapExtra" ]] && swapExtra=512
let "swapSize += swapExtra" #add 512 mbs to swap for swap, not only hibernation
@@ -100,19 +102,18 @@ echo w
##mkfs's
echo "==> Making filesystems..."
echo "mkswap"
echo "=> swap"
mkswap $targetDrive"1"
echo "mkfs.vfat"
echo "=> /boot"
mkfs.vfat $targetDrive"2"
echo "mkfs.ext4"
if $encryptedDevice
then
echo "=> rootfs"
if $encryptedDevice ; then
cryptsetup luksFormat -v $targetDrive"3"
cryptsetup open $targetDrive"3" targetLuks
mkfs.ext4 /dev/mapper/targetLuks
mkfs.ext4 -q /dev/mapper/targetLuks
else
mkfs.ext4 $targetDrive"3"
mkfs.ext4 -q $targetDrive"3"
fi
sleep 15
@@ -120,16 +121,14 @@ sleep 15
##get disk's uuid
echo "==> Got UUIDs!"
UUIDS=($(blkid $targetDrive"1" $targetDrive"2" $targetDrive"3" -o value -s UUID))
if $encryptedDevice
then
if $encryptedDevice ; then
UUIDS[3]=UUIDS[2]
UUIDS[2]=`blkid /dev/mapper/targetLuks -o value -s UUID`
fi
##mount disks
echo "==> Mounting..."
if $encryptedDevice
then
if $encryptedDevice ; then
mount /dev/mapper/targetLuks /mnt
else
mount $targetDrive"3" /mnt
@@ -158,10 +157,10 @@ rm /mnt/etc/fstab.orig #TODO OFC we need to check mountpoint, not only type of F
echo "==> Result:"
cat /mnt/etc/fstab
##update grub linux options
if $encryptedDevice
cat /mnt/etc/default/grub | sed 's/cryptdevice=UUID=[A-Fa-f0-9-]*:cryptroot /cryptdevice=UUID='${UUIDS[3]}':cryptroot/' > /mnt/etc/default/grub
if $encryptedDevice ; then
cat /mnt/etc/default/grub | sed 's/cryptdevice=UUID=[A-Fa-f0-9-]*:cryptroot /cryptdevice=UUID='${UUIDS[3]}':cryptroot/' > /mnt/etc/default/grub
else
cat /mnt/etc/default/grub | sed 's/cryptdevice=UUID=[A-Fa-f0-9-]*:cryptroot //' > /mnt/etc/default/grub
cat /mnt/etc/default/grub | sed 's/cryptdevice=UUID=[A-Fa-f0-9-]*:cryptroot //' > /mnt/etc/default/grub
fi
cat /mnt/etc/default/grub | sed 's/resume=UUID=[A-Fa-f0-9-]*/resume=UUID='${UUIDS[0]}'/' > /mnt/etc/default/grub
@@ -178,7 +177,7 @@ echo "==> mkinitcpio and update grub..."
#cat /mnt/etc/mkinitcpio.conf | sed 's/encrypt //' > /mnt/etc/mkinitcpio.conf #remove cryptdevice, no encrypted fs today :c
#chroot env
cat << EOF | chroot /mnt
cat << EOF | chroot /mnt /bin/sh
mkinitcpio -P
grub-mkconfig -o /boot/grub/grub.cfg
grub-install $targetDrive