Add luks support

This commit is contained in:
MatMoul 2015-08-22 21:02:44 +02:00
parent 2eeda18eca
commit e9649ca77f

52
archfi
View file

@ -554,7 +554,12 @@ formatdevice(){
pressanykey pressanykey
formatdevice $1 /dev/mapper/$1 noluks formatdevice $1 /dev/mapper/$1 noluks
rootdev=/dev/mapper/$1 rootdev=/dev/mapper/$1
#luksdrive=1 if [ "$1" = "root" ]; then
luksroot=1
luksrootuuid=$(cryptsetup luksUUID $2)
#else
# luksdrive=1
fi
echo "" echo ""
echo "luks device created !" # string echo "luks device created !" # string
;; ;;
@ -660,6 +665,12 @@ archmenu(){
options+=("$txtsettime" "/etc/localtime") options+=("$txtsettime" "/etc/localtime")
options+=("$txtsetrootpassword" "") options+=("$txtsetrootpassword" "")
options+=("${txtgenerate//%1/fstab}" "") options+=("${txtgenerate//%1/fstab}" "")
if [ "$luksdrive" = "1" ]; then
options+=("${txtgenerate//%1/cryptotab}" "")
fi
if [ "$luksroot" = "1" ]; then
options+=("${txtgenrate//%1/mkinitcpio.conf}" "(encrypt hooks)")
fi
options+=("${txtedit//%1/fstab}" "($txtoptional)") options+=("${txtedit//%1/fstab}" "($txtoptional)")
options+=("${txtedit//%1/mkinitcpio.conf}" "($txtoptional)") options+=("${txtedit//%1/mkinitcpio.conf}" "($txtoptional)")
options+=("${txtedit//%1/mirrorlist}" "($txtoptional)") options+=("${txtedit//%1/mirrorlist}" "($txtoptional)")
@ -695,6 +706,26 @@ archmenu(){
;; ;;
"${txtgenerate//%1/fstab}") "${txtgenerate//%1/fstab}")
archgenfstab archgenfstab
if [ "$luksdrive" = "1" ]; then
nextitem="${txtgenerate//%1/cryptotab}"
else
if [ "$luksroot" = "1" ]; then
nextitem="${txtgenrate//%1/mkinitcpio.conf}"
else
nextitem="${txtinstall//%1/grub}"
fi
fi
;;
"${txtgenerate//%1/cryptotab}")
archgencryptotab
if [ "$luksroot" = "1" ]; then
nextitem="${txtgenrate//%1/mkinitcpio.conf}"
else
nextitem="${txtinstall//%1/grub}"
fi
;;
"${txtgenrate//%1/mkinitcpio.conf}")
archgenmkinitcpio
nextitem="${txtinstall//%1/grub}" nextitem="${txtinstall//%1/grub}"
;; ;;
"${txtedit//%1/fstab}") "${txtedit//%1/fstab}")
@ -866,6 +897,16 @@ archgenfstab(){
genfstab -U -p /mnt >> /mnt/etc/fstab genfstab -U -p /mnt >> /mnt/etc/fstab
} }
archgencryptotab(){
}
archgenmkinitcpio(){
clear
sed -i "s/block filesystems/block encrypt filesystems/g" /etc/mkinitcpio.conf
archchroot genmkinitcpio
pressanykey
}
archeditmkinitcpio(){ archeditmkinitcpio(){
nano /mnt/etc/mkinitcpio.conf nano /mnt/etc/mkinitcpio.conf
if (whiptail --backtitle "$apptitle" --title "${txtedit//%1/mkinitcpio.conf}" --yesno "${txtgenerate//%1/mkinitcpio} ?" 0 0) then if (whiptail --backtitle "$apptitle" --title "${txtedit//%1/mkinitcpio.conf}" --yesno "${txtgenerate//%1/mkinitcpio} ?" 0 0) then
@ -901,6 +942,15 @@ archinstallgrub(){
fi fi
fi fi
if [ "$luksroot" = "1" ]; then
if (whiptail --backtitle "$apptitle" --title "${txtinstall//%1/grub}" --yesno "luks root detected ! Add to grub.cfg" --defaultno 0 0) then
clear
sed -i s/GRUB_CMDLINE_LINUX=\"\"/GRUB_CMDLINE_LINUX=\"root=/dev/mapper/root cryptdevice=/dev/disk/by-uuid/$luksrootuuid:root\"/g /etc/default/grub
fi
fi
clear clear
archchroot installgrub archchroot installgrub
} }