Added manual partitioning options
This commit is contained in:
parent
00b49edc59
commit
aae9709b9e
|
|
@ -174,6 +174,7 @@ done
|
||||||
*) echo "Wrong option please select again"; filesystem;;
|
*) echo "Wrong option please select again"; filesystem;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
timezone () {
|
timezone () {
|
||||||
# Added this from arch wiki https://wiki.archlinux.org/title/System_time
|
# Added this from arch wiki https://wiki.archlinux.org/title/System_time
|
||||||
time_zone="$(curl --fail https://ipapi.co/timezone)"
|
time_zone="$(curl --fail https://ipapi.co/timezone)"
|
||||||
|
|
@ -196,6 +197,7 @@ case ${options[$?]} in
|
||||||
*) echo "Wrong option. Try again";timezone;;
|
*) echo "Wrong option. Try again";timezone;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
keymap () {
|
keymap () {
|
||||||
echo -ne "
|
echo -ne "
|
||||||
Please select key board layout from this list"
|
Please select key board layout from this list"
|
||||||
|
|
@ -226,29 +228,252 @@ case ${options[$?]} in
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# selection for disk type
|
manualpart () {
|
||||||
diskpart () {
|
clear
|
||||||
echo -ne "
|
echo -ne "
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK
|
WARNING: CFDISK IS A COMMAND LINE DISK PARTITION MANAGEMENT TOOL.
|
||||||
Please make sure you know what you are doing because
|
IT MAY BE HAZARDOUS TO USE IT IF YOU ARE NOT FAMILIER WITH IT.
|
||||||
after formating your disk there is no way to get data back
|
This might cost you all your data stored in this device.
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
"
|
"
|
||||||
|
|
||||||
PS3='
|
lsblk
|
||||||
Select the disk to install on: '
|
|
||||||
options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}'))
|
|
||||||
|
|
||||||
select_option $? 1 "${options[@]}"
|
echo -e "\nSelect the disk which you want to partition: "
|
||||||
disk=${options[$?]%|*}
|
options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}'))
|
||||||
|
|
||||||
echo -e "\n${disk%|*} selected \n"
|
select_option $? 1 "${options[@]}"
|
||||||
set_option DISK ${disk%|*}
|
cfdisk ${options[$?]%|*}
|
||||||
|
|
||||||
drivessd
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# selection for disk type
|
||||||
|
diskpart () {
|
||||||
|
clear
|
||||||
|
echo -ne "
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
WARNING: THIS MAY FORMAT AND DELETE ALL DATA ON THE DISK.
|
||||||
|
Please make sure you know what you are doing because
|
||||||
|
after formating your disk there is no way to get data back.
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
fdisk -l
|
||||||
|
|
||||||
|
options=("Install in a specific Disk Partition" "Install in a whole Disk Drive" "Modify partitions using cfdisk")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
|
||||||
|
case $? in
|
||||||
|
|
||||||
|
0)
|
||||||
|
clear
|
||||||
|
echo -ne "
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
WARNING: ARCH LINUX WILL BE INSTALLED IN THE SELECTED PARTITION.
|
||||||
|
This will delete all the data present in it, so make sure that
|
||||||
|
you select the right partition that donot contain any useful files.
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
fdisk -l
|
||||||
|
|
||||||
|
echo -e "\n"
|
||||||
|
echo "Select the Partition to Install on (This will be the root partition mounted on \"\\\"): "
|
||||||
|
options=($(lsblk -n --output TYPE,KNAME,SIZE,MOUNTPOINT | awk '$1=="part"{print "/dev/"$2"|"$3"__________"$4}'))
|
||||||
|
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
part=${options[$?]%|*}
|
||||||
|
set_option INSTALL_IN "PART"
|
||||||
|
set_option DISK ""
|
||||||
|
set_option PART ${part%|*}
|
||||||
|
|
||||||
|
echo -e "\n${part%|*} selected as root partition. Is that OK?"
|
||||||
|
options=("Yes" "No")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
|
||||||
|
case ${options[$?]} in
|
||||||
|
y|Y|yes|Yes|YES)
|
||||||
|
drivessd ;;
|
||||||
|
n|N|no|NO|No)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ -d "/sys/firmware/efi" ]]; then # Checking for UEFI System
|
||||||
|
clear
|
||||||
|
echo -en "
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
NOTE: If you had installed Windows or any other OS in the current
|
||||||
|
disk drive, an EFI System partition may already exist in it.
|
||||||
|
Identify it from the table below and select it. But, if it doesnot
|
||||||
|
exist, then create a partition of size 100 MB and set its type to
|
||||||
|
EFI System and choose \"yes\" when asked if you want to format it.
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
fdisk -l
|
||||||
|
|
||||||
|
echo -e "\n"
|
||||||
|
echo "Select the EFI Partition (This partition should be in FAT32 format and about 100-500 MB in size. It will be mounted on \"\\Boot\\EFI\"): "
|
||||||
|
options=("Create" $(lsblk -n --output TYPE,KNAME,SIZE,MOUNTPOINT | awk '$1=="part"{print "/dev/"$2"|"$3"__________"$4}'))
|
||||||
|
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
case $? in
|
||||||
|
0)
|
||||||
|
manualpart
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
BOOTpart=${options[$?]%|*}
|
||||||
|
set_option BOOTPART ${BOOTpart%|*}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo -e "\n${BOOTpart%|*} selected as EFI partition. Is that OK?"
|
||||||
|
options=("Yes" "No")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
case ${options[$?]} in
|
||||||
|
y|Y|yes|Yes|YES)
|
||||||
|
return ;;
|
||||||
|
n|N|no|NO|No)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo -e "\nDo you want to format the selected EFI partition?"
|
||||||
|
options=("Yes" "No")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
case ${options[$?]} in
|
||||||
|
y|Y|yes|Yes|YES) set_option FORMATEFI "yes" ;;
|
||||||
|
n|N|no|NO|No) set_option FORMATEFI "no" ;;
|
||||||
|
*) set_option FORMATEFI "no" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
elif [[ $(sudo sudo fdisk -l | grep -i '^Disklabel type') = "Disklabel type: gpt" ]]; then # Checking for GPT Disk Label on a Legacy BIOS (non UEFI) System
|
||||||
|
clear
|
||||||
|
echo -en "
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
GUID Partition Table (GPT) detected on a Legacy BIOS System.
|
||||||
|
If you had installed Windows or any other OS in the current
|
||||||
|
disk drive, a BIOS BOOT partition may already exist in it.
|
||||||
|
Identify it from the table below and select it. But, if it
|
||||||
|
doesnot exist, then create a partition of size 100 MB and set
|
||||||
|
its type to BIOS BOOT.
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
fdisk -l
|
||||||
|
|
||||||
|
echo -e "\n"
|
||||||
|
echo "Select the BIOS BOOT Partition (This partition should be about 100-500 MB in size and should have BIOS boot label.): "
|
||||||
|
options=("Create a BIOS BOOT partition using cfdisk" $(lsblk -n --output TYPE,KNAME,SIZE,MOUNTPOINT | awk '$1=="part"{print "/dev/"$2"|"$3"__________"$4}'))
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
case $? in
|
||||||
|
0)
|
||||||
|
manualpart
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
BOOTpart=${options[$?]%|*}
|
||||||
|
set_option BOOTPART ${BOOTpart%|*}
|
||||||
|
set_option FORMATEFI "no"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo -e "\n${BOOTpart%|*} selected as BIOS BOOT partition. Is that OK?"
|
||||||
|
options=("Yes" "No")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
|
||||||
|
case ${options[$?]} in
|
||||||
|
y|Y|yes|Yes|YES)
|
||||||
|
return ;;
|
||||||
|
n|N|no|NO|No)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
1)
|
||||||
|
clear
|
||||||
|
echo -ne "
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
WARNING: ARCH LINUX WILL BE INSTALLED IN THE SELECTED DISK DRIVE.
|
||||||
|
This will delete all the data present in it, so make sure that
|
||||||
|
you select the right disk drive that donot contain any useful files.
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
"
|
||||||
|
|
||||||
|
lsblk
|
||||||
|
|
||||||
|
echo -e "\nSelect the disk to install on: "
|
||||||
|
options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}'))
|
||||||
|
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
disk=${options[$?]%|*}
|
||||||
|
set_option INSTALL_IN "DISK"
|
||||||
|
set_option DISK ${disk%|*}
|
||||||
|
set_option PART ""
|
||||||
|
set_option BOOTPART ""
|
||||||
|
set_option FORMATEFI "no"
|
||||||
|
|
||||||
|
echo -e "\n${disk%|*} selected. Is that OK?"
|
||||||
|
options=("Yes" "No")
|
||||||
|
select_option $? 1 "${options[@]}"
|
||||||
|
|
||||||
|
case ${options[$?]} in
|
||||||
|
y|Y|yes|Yes|YES)
|
||||||
|
drivessd ;;
|
||||||
|
n|N|no|NO|No)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
|
||||||
|
2)
|
||||||
|
manualpart
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo -e "\nWrong option. Try again.";
|
||||||
|
diskpart
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
userinfo () {
|
userinfo () {
|
||||||
read -p "Please enter your username: " username
|
read -p "Please enter your username: " username
|
||||||
set_option USERNAME ${username,,} # convert to lower case as in issue #109
|
set_option USERNAME ${username,,} # convert to lower case as in issue #109
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue