aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2019-11-28 18:23:00 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2019-11-28 18:23:00 +0100
commitd79114943bb532213a46175eb436cee2625faa75 (patch)
treec41e3f7d393b017444cf7c401479cc97eebe4343
parentNo table of contents (diff)
downloadarch-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-xarch-installer.sh144
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