diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2019-11-28 18:23:00 +0100 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2019-11-28 18:23:00 +0100 |
commit | d79114943bb532213a46175eb436cee2625faa75 (patch) | |
tree | c41e3f7d393b017444cf7c401479cc97eebe4343 | |
parent | No table of contents (diff) | |
download | arch-installer-d79114943bb532213a46175eb436cee2625faa75.tar.gz arch-installer-d79114943bb532213a46175eb436cee2625faa75.tar.bz2 arch-installer-d79114943bb532213a46175eb436cee2625faa75.tar.xz arch-installer-d79114943bb532213a46175eb436cee2625faa75.tar.zst arch-installer-d79114943bb532213a46175eb436cee2625faa75.zip |
Functions
-rwxr-xr-x | arch-installer.sh | 144 |
1 files changed, 79 insertions, 65 deletions
diff --git a/arch-installer.sh b/arch-installer.sh index 4416bf0..44e9dc0 100755 --- a/arch-installer.sh +++ b/arch-installer.sh @@ -50,7 +50,9 @@ jo_goodbye() { clear exit } - +#==================================================================================================# +#--------------------------------------- INTERNET CHECK -------------------------------------------# +#==================================================================================================# jo_chk_internet() { dialog --infobox "Verifying that you are connected to the Internet, please wait..." 4 40 sleep 1 @@ -64,7 +66,9 @@ therefore Joe's installer is forced to abort.\nPlease connect to the Internet an dialog --msgbox "Success!" 5 12 fi } - +#==================================================================================================# +#---------------------------------------- HOSTNAME SETUP ------------------------------------------# +#==================================================================================================# jo_get_hstnm() { while [ $hstnm = "" ]; do hstnm=$(dialog\ @@ -80,7 +84,9 @@ please ask your network administrator for an appropriate name."\ fi done } - +#==================================================================================================# +#------------------------------------ LTS AND XORG SETUP ------------------------------------------# +#==================================================================================================# jo_get_options() { sel=$(dialog --nocancel --title "$1" --checklist "Choose optional system \ components to install:" 10 50 3 \ @@ -98,7 +104,9 @@ components to install:" 10 50 3 \ extras=true fi } - +#==================================================================================================# +#------------------------------------------ DISK SETUP --------------------------------------------# +#==================================================================================================# jo_get_disk() { rm -f blkline > /dev/null dn=$(lsblk | grep -c disk) @@ -199,7 +207,9 @@ Are you sure you wish to continue?"\ jo_goodbye fi } - +#==================================================================================================# +#------------------------------------ USERS AND ROOT SETUP ----------------------------------------# +#==================================================================================================# jo_get_root_config() { gogogo=false while [ "$gogogo" = false ]; do @@ -273,70 +283,35 @@ jo_get_usr_config() { "sh" "The OG shell"\ 3>&1 1>&2 2>&3 3>&-) } - -jo_pacstrap() { - paclen=$(echo -n "$1" | wc -c) - diaglen=$(echo "15 + $paclen" | bc) - dialog --title "$1" --infobox "Installing $1" 3 "$diaglen" - if pacstrap /mnt/arch "$1" > /dev/null 2>&1; then - dialog --title "$1" --infobox "$1 installed" 3 "$diaglen" - sleep 0.5 - fi -} -#==================================================================================================# -#--------------------------------------------- START ----------------------------------------------# -#==================================================================================================# -clear -dialog --title "Welcome" --msgbox "Welcome to Joe's Arch Linux installation utility!" 6 35 -#==================================================================================================# -#--------------------------------------- INTERNET CHECK -------------------------------------------# -#==================================================================================================# -jo_chk_internet -#==================================================================================================# -#---------------------------------------- HOSTNAME SETUP ------------------------------------------# -#==================================================================================================# -jo_get_hstnm "I. CORE SETUP" -#==================================================================================================# -#------------------------------------ LTS AND XORG SETUP ------------------------------------------# #==================================================================================================# -jo_get_options "I. CORE SETUP" +#------------------------------------------- NTP DATE ---------------------------------------------# #==================================================================================================# -#------------------------------------------ DISK SETUP --------------------------------------------# -#==================================================================================================# -jo_get_disk_config "II. DISK SETUP" -jo_warn_wiping +jo_set_timedate() { + dialog --title "$1"\ + --infobox "Setting date via ntp"\ + 3 28 + timedatectl set-ntp true > /dev/null 2>&1 + sleep 2 +} #==================================================================================================# -#------------------------------------ USERS AND ROOT SETUP ----------------------------------------# +#------------------------------------------- WIPEFS -----------------------------------------------# #==================================================================================================# -jo_get_root_config "III. USERS SETUP" -if dialog --title "III. USERS SETUP"\ - --yesno "Would you like to add a user to the system?"\ - 6 45; then - jo_get_usr_config "III. USERS SETUP" -fi +jo_wipefs() { + dialog --title "$1"\ + --infobox "Wiping filesystem"\ + 3 28 + wipefs --all --force "$drv" > /dev/null 2>&1 + sleep 2 +} #==================================================================================================# -#-------------------------------------- THE ACTUAL INSTALL ----------------------------------------# +#---------------------------------------- PARTITIONING DISK ---------------------------------------# #==================================================================================================# -#================================================================# -#--------------------------- NTP DATE ---------------------------# -#================================================================# -dialog --title "IV. INSTALLING LINUX"\ - --infobox "Setting date via ntp"\ - 3 28 -timedatectl set-ntp true > /dev/null 2>&1 -sleep 2 -#================================================================# -#------------------------- WIPING DISK --------------------------# -#================================================================# -dialog --title "IV. INSTALLING LINUX"\ - --infobox "Partitioning filesystem"\ - 3 28 -wipefs --all --force "$drv" > /dev/null 2>&1 -#================================================================# -#--------------------- PARTITIONING DISK ------------------------# -#================================================================# -if [ "$efimode" = true ]; then - fdisk --wipe-partition always "$drv" << FDISK_EFI_INPUT > /dev/null 2>&1 +jo_part_disk() { + dialog --title "$1"\ + --infobox "Partitioning disk"\ + 3 28 + if [ "$efimode" = true ]; then + fdisk --wipe-partition always "$drv" << FDISK_EFI_INPUT > /dev/null 2>&1 g n 1 @@ -359,8 +334,8 @@ t 19 w FDISK_EFI_INPUT -else - fdisk --wipe-partition always "$drv" << FDISK_BIOS_INPUT > /dev/null 2>&1 + else + fdisk --wipe-partition always "$drv" << FDISK_BIOS_INPUT > /dev/null 2>&1 o n p @@ -383,7 +358,46 @@ p w FDISK_BIOS_INPUT + fi + sleep 2 +} +#==================================================================================================# +#-------------------------------------------- PACSTRAP --------------------------------------------# +#==================================================================================================# +jo_pacstrap() { + paclen=$(echo -n "$1" | wc -c) + diaglen=$(echo "15 + $paclen" | bc) + dialog --title "$1" --infobox "Installing $1" 3 "$diaglen" + if pacstrap /mnt/arch "$1" > /dev/null 2>&1; then + dialog --title "$1" --infobox "$1 installed" 3 "$diaglen" + sleep 0.5 + fi +} +#==================================================================================================# +#--------------------------------------------- START ----------------------------------------------# +#==================================================================================================# +clear +dialog --title "Welcome" --msgbox "Welcome to Joe's Arch Linux installation utility!" 6 35 +jo_chk_internet +jo_get_hstnm "I. CORE SETUP" +jo_get_options "I. CORE SETUP" +jo_get_disk_config "II. DISK SETUP" +jo_warn_wiping +jo_get_root_config "III. USERS SETUP" +if dialog --title "III. USERS SETUP"\ + --yesno "Would you like to add a user to the system?"\ + 6 45; then + jo_get_usr_config "III. USERS SETUP" fi +#==================================================================================================# +#-------------------------------------- THE ACTUAL INSTALL ----------------------------------------# +#==================================================================================================# +jo_set_timedate "IV. INSTALLING LINUX" +#================================================================# +#------------------------- WIPING DISK --------------------------# +#================================================================# +jo_wipefs "IV. INSTALLING LINUX" +jo_set_disk "IV. INSTALLING LINUX" dialog --title "IV. INSTALLING LINUX"\ --infobox "Making filesystem"\ 3 28 |