Merge pull request 'fix partitioning for mmcblk and nvme devices' (#1) from pixrobot/os-installer:main into main

Reviewed-on: https://centrifuge.hectabit.org/EvolutionOS/os-installer/pulls/1
This commit is contained in:
Tracker-Friendly 2024-04-03 10:32:07 +01:00
commit aab7f8efea
1 changed files with 18 additions and 7 deletions

View File

@ -47,6 +47,17 @@ insmod /root/vfat-modules/vfat.ko.zst
dialog --title "Welcome" --msgbox "Welcome to the EvolutionOS installer! \n\nThis installer is meant to be straightforward, no need for technical skill. \n\nPress enter to select buttons, tab to move between text boxes, and left / right to move between buttons." 0 0
choice=$(dialog --menu "Select an installation drive:" 20 60 10 $(create_menu $(parted -l | grep -oE '^Disk /dev/[a-zA-Z0-9]+' | cut -d' ' -f2- | cut -c 6-)) 2>&1 >/dev/tty)
if [[ ${choice} =~ "nvme" ]]; then
part1="p1"
part2="p2"
elif [[ ${choice} =~ "mmcblk" ]]; then
part1="p1"
part2="p2"
else
part1="1"
part2="2"
fi
if [[ "$(cat /sys/block/${choice}/ro)" = "1" ]]; then
dialog --title "Scan disk" --msgbox "You are not able to install evolutionOS on a non-writable disk" 0 0
failinstall
@ -68,37 +79,37 @@ if [[ $? = 0 ]]; then
filesystem=$(dialog --menu "Select a filesystem:" 0 0 0 "ext4" "Fast basic filesystem (recommended)" "btrfs" "Great for data recovery and servers" 2>&1 >/dev/tty)
if [[ $uefi = true ]]; then
if [[ "$filesystem" = "ext4" ]]; then
mkfs.ext4 /dev/${choice}2 | dialog --title "Creating file system..." --programbox 24 80
mkfs.ext4 /dev/${choice}${part2} | dialog --title "Creating file system..." --programbox 24 80
else
mkfs.btrfs -f /dev/${choice}2 | dialog --title "Creating file system..." --programbox 24 80
mkfs.btrfs -f /dev/${choice}${part2} | dialog --title "Creating file system..." --programbox 24 80
fi
if [[ $? = 1 ]]; then
dialog --msgbox "Formatting failed!" 0 0
failinstall
fi
mkfs.fat -v -F 32 /dev/${choice}1 | dialog --title "Creating boot partition..." --programbox 24 80
mkfs.fat -v -F 32 /dev/${choice}${part1} | dialog --title "Creating boot partition..." --programbox 24 80
if [[ $? = 1 ]]; then
dialog --msgbox "Formatting failed!" 0 0
failinstall
fi
mount /dev/${choice}2 /mnt
mount /dev/${choice}${part2} /mnt
if [[ $? = 1 ]]; then
dialog --msgbox "Mounting failed!" 0 0
failinstall
fi
mkdir -p /mnt/boot/efi
sh -c "mount /dev/${choice}1 /mnt/boot/efi"
sh -c "mount /dev/${choice}${part1} /mnt/boot/efi"
if [[ $? = 1 ]]; then
dialog --msgbox "Mounting ESP failed!" 0 0
failinstall
fi
else
mkfs.$filesystem /dev/${choice}1 | dialog --title "Creating file system..." --programbox 24 80
mkfs.$filesystem /dev/${choice}${part1} | dialog --title "Creating file system..." --programbox 24 80
if [[ $? = 1 ]]; then
dialog --msgbox "Formatting failed!" 0 0
failinstall
fi
mount /dev/${choice}1 /mnt
mount /dev/${choice}${part1} /mnt
if [[ $? = 1 ]]; then
dialog --msgbox "Mounting failed!" 0 0
failinstall