Added prompts for user credentials, moved some of root config script.
This commit is contained in:
parent
51d4ea6d67
commit
195a954060
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
echo "Building initial system"
|
echo "We just need to ask some questions before installing"
|
||||||
# Get drive values for installation
|
# Get drive values for installation
|
||||||
lsblk
|
lsblk
|
||||||
read -p 'Please enter the drive value for the root partition, this partition will be wiped and formatted: ' rootpar
|
read -p 'Please enter the drive value for the root partition, this partition will be wiped and formatted: ' rootpar
|
||||||
@ -8,8 +8,6 @@ read -p 'Please enter the drive value for the EFI partition: ' efipar
|
|||||||
mkfs.ext4 /dev/$rootpar
|
mkfs.ext4 /dev/$rootpar
|
||||||
# Mount root partition
|
# Mount root partition
|
||||||
mount /dev/$rootpar /mnt
|
mount /dev/$rootpar /mnt
|
||||||
# Run pacstrap and install base packages
|
|
||||||
pacstrap -i /mnt base base-devel linux linux-firmware linux-headers intel-ucode git openssh rsync networkmanager grub efibootmgr dosfstools os-prober nano dkms dbus-broker-units mkinitcpio iptables-nft
|
|
||||||
# Ask if the EFI partition should be wiped before mounting
|
# Ask if the EFI partition should be wiped before mounting
|
||||||
read -p "Do you wish to wipe the EFI partition? If you already have an existing OS installed, say No. " yesno
|
read -p "Do you wish to wipe the EFI partition? If you already have an existing OS installed, say No. " yesno
|
||||||
case $yesno in
|
case $yesno in
|
||||||
@ -21,14 +19,11 @@ case $yesno in
|
|||||||
;;
|
;;
|
||||||
* ) echo "Please answer yes (Yes, y, Y) or no (No, n, N)";;
|
* ) echo "Please answer yes (Yes, y, Y) or no (No, n, N)";;
|
||||||
esac
|
esac
|
||||||
# Create the /boot/efi directory and mount the EFI partition to it
|
|
||||||
mkdir /mnt/boot/efi
|
|
||||||
mount /dev/$efipar /mnt/boot/efi
|
|
||||||
# Ask if a home partition should be created
|
# Ask if a home partition should be created
|
||||||
read -p "Do you wish to set a home partition? " yesno
|
read -p "Do you wish to set a home partition? " yesno
|
||||||
case $yesno in
|
case $yesno in
|
||||||
[yesYesYy]* )
|
[yesYesYy]* )
|
||||||
read -p 'Please enter the drive value for the home partition: ' homepar
|
read -p 'Please enter the drive value for the home partition, this partition will be wiped: ' homepar
|
||||||
mkfs.ext4 /dev/$homepar
|
mkfs.ext4 /dev/$homepar
|
||||||
mount /dev/$homepar /mnt/home
|
mount /dev/$homepar /mnt/home
|
||||||
;;
|
;;
|
||||||
@ -37,6 +32,23 @@ case $yesno in
|
|||||||
;;
|
;;
|
||||||
* ) echo "Please answer yes (Yes, y, Y) or no (No, n, N)";;
|
* ) echo "Please answer yes (Yes, y, Y) or no (No, n, N)";;
|
||||||
esac
|
esac
|
||||||
|
# Get user credentials
|
||||||
|
read -p "Please enter a username " username
|
||||||
|
read -p "Please enter a password " password
|
||||||
|
read -p "Please re-enter the password " passwordconfirm
|
||||||
|
if [[ "$password" == "$password2" ]]; then
|
||||||
|
export USERNAME = $username
|
||||||
|
export PASSWORD = $password
|
||||||
|
echo "Credentials saved"
|
||||||
|
fi
|
||||||
|
# Set hostname, timezone and keyboard mapping
|
||||||
|
# We don't need to prompt for these since they will rarely change
|
||||||
|
export HOSTNAME="archlinux"
|
||||||
|
# Run pacstrap and install base packages
|
||||||
|
pacstrap -i /mnt base base-devel linux linux-firmware linux-headers intel-ucode git openssh rsync networkmanager grub efibootmgr dosfstools os-prober nano dkms dbus-broker-units mkinitcpio iptables-nft
|
||||||
|
# Create the /boot/efi directory and mount the EFI partition to it
|
||||||
|
mkdir /mnt/boot/efi
|
||||||
|
mount /dev/$efipar /mnt/boot/efi
|
||||||
# Generate a fstab file
|
# Generate a fstab file
|
||||||
genfstab -U /mnt >> /mnt/etc/fstab
|
genfstab -U /mnt >> /mnt/etc/fstab
|
||||||
# Copy system config files into the new install
|
# Copy system config files into the new install
|
||||||
@ -51,5 +63,14 @@ cp files/sys-mkinitcpio.conf /etc/mkinitcpio.conf
|
|||||||
mkdir /mnt/buildscripts /mnt/userfiles
|
mkdir /mnt/buildscripts /mnt/userfiles
|
||||||
cp scripts/* /mnt/buildscripts
|
cp scripts/* /mnt/buildscripts
|
||||||
cp files/user-* /mnt/userfiles
|
cp files/user-* /mnt/userfiles
|
||||||
# Chroot into the new system and run the next script
|
# Chroot into the new system, do some setup based on earlier questions and run the next script
|
||||||
arch-chroot /mnt sh /buildscripts/1-root-config.sh
|
arch-chroot /mnt /bin/bash <<EOF
|
||||||
|
sed -i 's/^#en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen
|
||||||
|
locale-gen
|
||||||
|
pacman -S --noconfirm hunspell-en_gb
|
||||||
|
ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime
|
||||||
|
hwclock --systohc
|
||||||
|
locale-gen
|
||||||
|
echo LANG=en_GB.UTF-8 > /etc/locale.conf
|
||||||
|
echo "KEYMAP=uk" > /etc/vconsole.conf
|
||||||
|
sh /buildscripts/1-root-config.sh
|
Loading…
Reference in New Issue
Block a user