Fix bug with partitioning upstream + add detail about config in README.md

This commit is contained in:
Clement Bouchard 2022-03-27 18:40:33 +02:00
parent 5e87ec8e8f
commit b7fc28e8e9
7 changed files with 192 additions and 110 deletions

View File

@ -1,17 +1,35 @@
# About # About
Scripts to install my system setup. Fork of ALIS scripts to quickly install system setup with my personal configuration.
No desktop env / WM or package installation here, it should be done after first reboot using repository cb/dotfiles.
Installation is done in 3 steps: What has been configured
- Install arch based system * Keys in fr
- Install packages from AR, AUR or source * Disable log trace (passwords appears in cleartext in it)
- Deploy configuration based on my dotfiles repository * Enable LUKS
* Add LTS kernels
* Set kernel parameter nvme_load=YES
* Enable Reflector in France
* Timezone to paris
* Locale
* Keylayout to fr
* Keymap to fr
* Hostname cb-system
* Username set to cb
* Configure package multilib (mainly for display drivers)
What has been manually edited in scripts
* alis-commons.sh -> Root parition sizing 2GiB
* alis.sh -> Replace networkmanager by netctl
Trying to keep most configuration in auto to be able
# Commands # Commands
``` ```
# loadkeys fr # loadkeys fr
# iwctl --passphrase "[WIFI_KEY]" station [WIFI_INTERFACE] connect "[WIFI_ESSID]" # iwctl --passphrase <WiFi-Key> station <WiFi-Interface> connect <WiFi-SSID>
# git clone https://gitea.cebe.one/cb/system-setup # git clone https://gitea.cebe.one/cb/system-setup
# sh install.sh # ./alis.sh
``` ```

View File

@ -37,8 +37,9 @@ AUR_COMMAND="paru"
BIOS_TYPE="" BIOS_TYPE=""
ASCIINEMA="" ASCIINEMA=""
DEVICE_SATA="false" DEVICE_SDA="false"
DEVICE_NVME="false" DEVICE_NVME="false"
DEVICE_VDA="false"
DEVICE_MMC="false" DEVICE_MMC="false"
CPU_VENDOR="" CPU_VENDOR=""
GPU_VENDOR="" GPU_VENDOR=""
@ -51,3 +52,4 @@ LOG_FILE="false"
USER_NAME="picodotdev" USER_NAME="picodotdev"
USER_PASSWORD="ask" USER_PASSWORD="ask"
PACKAGES_PIPEWIRE="false" PACKAGES_PIPEWIRE="false"

115
setup-arch/alis-commons.sh → alis-commons.sh Executable file → Normal file
View File

@ -341,67 +341,58 @@ function partition_setup() {
fi fi
PARTITION_PARTED_UEFI="mklabel gpt mkpart ESP fat32 1MiB 2048MiB mkpart root $PARTITION_PARTED_FILE_SYSTEM_TYPE 2048MiB 100% set 1 esp on" PARTITION_PARTED_UEFI="mklabel gpt mkpart ESP fat32 1MiB 2048MiB mkpart root $PARTITION_PARTED_FILE_SYSTEM_TYPE 2048MiB 100% set 1 esp on"
PARTITION_PARTED_BIOS="mklabel msdos mkpart primary ext4 4MiB 2048MiB mkpart primary $PARTITION_PARTED_FILE_SYSTEM_TYPE 2048MiB 100% set 1 boot on" PARTITION_PARTED_BIOS="mklabel msdos mkpart primary ext4 4MiB 2048MiB mkpart primary $PARTITION_PARTED_FILE_SYSTEM_TYPE 2048MiB 100% set 1 boot on"
if [ "$BIOS_TYPE" == "uefi" ]; then
if [ "$DEVICE_SATA" == "true" ]; then
PARTITION_BOOT="${DEVICE}1"
PARTITION_ROOT="${DEVICE}2"
DEVICE_ROOT="${DEVICE}2"
fi
if [ "$DEVICE_NVME" == "true" ]; then
PARTITION_BOOT="${DEVICE}p1"
PARTITION_ROOT="${DEVICE}p2"
DEVICE_ROOT="${DEVICE}p2"
fi
if [ "$DEVICE_MMC" == "true" ]; then
PARTITION_BOOT="${DEVICE}p1"
PARTITION_ROOT="${DEVICE}p2"
DEVICE_ROOT="${DEVICE}p2"
fi
fi
if [ "$BIOS_TYPE" == "bios" ]; then
if [ "$DEVICE_SATA" == "true" ]; then
PARTITION_BOOT="${DEVICE}1"
PARTITION_ROOT="${DEVICE}2"
DEVICE_ROOT="${DEVICE}2"
fi
if [ "$DEVICE_NVME" == "true" ]; then
PARTITION_BOOT="${DEVICE}p1"
PARTITION_ROOT="${DEVICE}p2"
DEVICE_ROOT="${DEVICE}p2"
fi
if [ "$DEVICE_MMC" == "true" ]; then
PARTITION_BOOT="${DEVICE}p1"
PARTITION_ROOT="${DEVICE}p2"
DEVICE_ROOT="${DEVICE}p2"
fi
fi
elif [ "$PARTITION_MODE" == "custom" ]; then elif [ "$PARTITION_MODE" == "custom" ]; then
PARTITION_PARTED_UEFI="$PARTITION_CUSTOM_PARTED_UEFI" PARTITION_PARTED_UEFI="$PARTITION_CUSTOM_PARTED_UEFI"
PARTITION_PARTED_BIOS="$PARTITION_CUSTOM_PARTED_BIOS" PARTITION_PARTED_BIOS="$PARTITION_CUSTOM_PARTED_BIOS"
fi fi
if [ "$PARTITION_MODE" == "custom" -o "$PARTITION_MODE" == "manual" ]; then if [ "$DEVICE_SDA" == "true" ]; then
PARTITION_BOOT="$PARTITION_CUSTOMMANUAL_BOOT" PARTITION_BOOT="$(partition_device "${DEVICE}" "${PARTITION_BOOT_NUMBER}")"
PARTITION_ROOT="$PARTITION_CUSTOMMANUAL_ROOT" PARTITION_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
DEVICE_ROOT="${PARTITION_ROOT}" DEVICE_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
fi fi
PARTITION_BOOT_NUMBER="$PARTITION_BOOT" if [ "$DEVICE_NVME" == "true" ]; then
PARTITION_ROOT_NUMBER="$PARTITION_ROOT" PARTITION_BOOT="$(partition_device "${DEVICE}" "${PARTITION_BOOT_NUMBER}")"
PARTITION_BOOT_NUMBER="${PARTITION_BOOT_NUMBER//\/dev\/sda/}" PARTITION_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
PARTITION_BOOT_NUMBER="${PARTITION_BOOT_NUMBER//\/dev\/nvme0n1p/}" DEVICE_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
PARTITION_BOOT_NUMBER="${PARTITION_BOOT_NUMBER//\/dev\/vda/}" fi
PARTITION_BOOT_NUMBER="${PARTITION_BOOT_NUMBER//\/dev\/mmcblk0p/}"
PARTITION_ROOT_NUMBER="${PARTITION_ROOT_NUMBER//\/dev\/sda/}" if [ "$DEVICE_VDA" == "true" ]; then
PARTITION_ROOT_NUMBER="${PARTITION_ROOT_NUMBER//\/dev\/nvme0n1p/}" PARTITION_BOOT="$(partition_device "${DEVICE}" "${PARTITION_BOOT_NUMBER}")"
PARTITION_ROOT_NUMBER="${PARTITION_ROOT_NUMBER//\/dev\/vda/}" PARTITION_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
PARTITION_ROOT_NUMBER="${PARTITION_ROOT_NUMBER//\/dev\/mmcblk0p/}" DEVICE_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
fi
if [ "$DEVICE_MMC" == "true" ]; then
PARTITION_BOOT="$(partition_device "${DEVICE}" "${PARTITION_BOOT_NUMBER}")"
PARTITION_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
DEVICE_ROOT="$(partition_device "${DEVICE}" "${PARTITION_ROOT_NUMBER}")"
fi
}
function partition_device() {
local DEVICE="$1"
local NUMBER="$2"
local PARTITION_DEVICE=""
if [ "$DEVICE_SDA" == "true" ]; then
PARTITION_DEVICE="${DEVICE}${NUMBER}"
fi
if [ "$DEVICE_NVME" == "true" ]; then
PARTITION_DEVICE="${DEVICE}p${NUMBER}"
fi
if [ "$DEVICE_VDA" == "true" ]; then
PARTITION_DEVICE="${DEVICE}${NUMBER}"
fi
if [ "$DEVICE_MMC" == "true" ]; then
PARTITION_DEVICE="${DEVICE}p${NUMBER}"
fi
echo "$PARTITION_DEVICE"
} }
function partition_options() { function partition_options() {
@ -439,9 +430,25 @@ function partition_mount() {
mount -o "subvol=${SUBVOLUME[1]},$PARTITION_OPTIONS,compress=zstd" "$DEVICE_ROOT" "/mnt${SUBVOLUME[2]}" mount -o "subvol=${SUBVOLUME[1]},$PARTITION_OPTIONS,compress=zstd" "$DEVICE_ROOT" "/mnt${SUBVOLUME[2]}"
done done
else else
# root
mount -o "$PARTITION_OPTIONS" "$DEVICE_ROOT" /mnt mount -o "$PARTITION_OPTIONS" "$DEVICE_ROOT" /mnt
# boot
mkdir -p /mnt/boot mkdir -p /mnt/boot
mount -o "$PARTITION_OPTIONS_BOOT" "$PARTITION_BOOT" /mnt/boot mount -o "$PARTITION_OPTIONS_BOOT" "$PARTITION_BOOT" /mnt/boot
# mount points
for I in "${PARTITION_MOUNT_POINTS[@]}"; do
if [[ "$I" =~ ^!.* ]]; then
continue
fi
IFS='=' PARTITION_MOUNT_POINT=($I)
if [ "${PARTITION_MOUNT_POINT[1]}" == "/boot" -o "${PARTITION_MOUNT_POINT[1]}" == "/" ]; then
continue
fi
local PARTITION_DEVICE="$(partition_device "${DEVICE}" "${PARTITION_MOUNT_POINT[0]}")"
mkdir -p "/mnt${PARTITION_MOUNT_POINT[1]}"
mount -o "$PARTITION_OPTIONS" "${PARTITION_DEVICE}" "/mnt${PARTITION_MOUNT_POINT[1]}"
done
fi fi
} }

View File

@ -13,11 +13,11 @@
## LOG_FILE generates a log file with the commands executed and output generated during installation. ## LOG_FILE generates a log file with the commands executed and output generated during installation.
### The log file is saved to /var/log/alis.log. ### The log file is saved to /var/log/alis.log.
KEYS="fr" KEYS="fr"
LOG_TRACE="true" LOG_TRACE="false"
LOG_FILE="false" LOG_FILE="false"
# partition # partition
## DEVICE sets which is the device for the installation. ## DEVICE sets which is the device for the installation. auto autodetects the device.
## DEVICE_TRIM sets if the DEVICE device supports TRIM feature. ## DEVICE_TRIM sets if the DEVICE device supports TRIM feature.
## LVM sets if the DEVICE is partitioned with LVM partition scheme. ## LVM sets if the DEVICE is partitioned with LVM partition scheme.
## LUKS_PASSWORD and LUKS_PASSWORD_RETYPE if set is the password for encrypt the device. With LVM, LVM on LUKS is used. If "ask" password alis asks for a secure password. ## LUKS_PASSWORD and LUKS_PASSWORD_RETYPE if set is the password for encrypt the device. With LVM, LVM on LUKS is used. If "ask" password alis asks for a secure password.
@ -27,10 +27,11 @@ LOG_FILE="false"
## SWAP_SIZE swap file size with a size of the value in megabytes. If no value no swap file is created. ## SWAP_SIZE swap file size with a size of the value in megabytes. If no value no swap file is created.
## PARTITION_MODE how partition is performed on DEVICE. ## PARTITION_MODE how partition is performed on DEVICE.
### "auto" value deletes all existing partitions and creates a boot partition and a root partition using disk full size. ### "auto" value deletes all existing partitions and creates a boot partition and a root partition using disk full size.
### Warning! all disk data will be lost, so backup existing data before. ### Warning! all disk data will be lost, so backup existing data before.
### "custom" value allows to use a custom parted partition script. ### "custom" value allows to use a custom parted partition script.
### "manual" allows to specify which existing partitions are used for boot partition and root partition. ### "manual" allows to specify which existing partitions are used for boot partition and root partition.
DEVICE="/dev/sda !/dev/nvme0n1 !/dev/vda !/dev/mmcblk0" # sata nvme mmc (single) ## PARTITION_MOUNT_POINTS mount points, partition number and directory, to mount from DEVICE.
DEVICE="auto !/dev/sda !/dev/nvme0n1 !/dev/vda !/dev/mmcblk0" # sata nvme mmc (single)
DEVICE_TRIM="true" DEVICE_TRIM="true"
LVM="false" LVM="false"
LUKS_PASSWORD="ask" LUKS_PASSWORD="ask"
@ -38,12 +39,11 @@ LUKS_PASSWORD_RETYPE="ask"
FILE_SYSTEM_TYPE="ext4 !btrfs !xfs !f2fs !reiserfs" # (single) FILE_SYSTEM_TYPE="ext4 !btrfs !xfs !f2fs !reiserfs" # (single)
BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,root,/" "home,home,/home" "var,var,/var" "snapshots,snapshots,/snapshots" "swap,swap,/swap") BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,root,/" "home,home,/home" "var,var,/var" "snapshots,snapshots,/snapshots" "swap,swap,/swap")
#BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,@,/" "home,@home,/home" "var,@var_log,/var/log" "snapshots,@snapshots,/.snapshots" "swap,@swap,/swap") #BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,@,/" "home,@home,/home" "var,@var_log,/var/log" "snapshots,@snapshots,/.snapshots" "swap,@swap,/swap")
SWAP_SIZE="!2048 !4096 8192" # (single) SWAP_SIZE="!2048 !4096 !8192" # (single)
PARTITION_MODE="auto !custom !manual" PARTITION_MODE="auto !custom !manual"
PARTITION_CUSTOM_PARTED_UEFI="mklabel gpt mkpart ESP fat32 1MiB 2048MiB mkpart root $FILE_SYSTEM_TYPE 2048MiB 100% set 1 esp on" PARTITION_MOUNT_POINTS=("1=/boot" "2=/" "!3=/home")
PARTITION_CUSTOM_PARTED_BIOS="mklabel msdos mkpart primary ext4 4MiB 2048MiB mkpart primary $FILE_SYSTEM_TYPE 2048MiB 100% set 1 boot on" PARTITION_CUSTOM_PARTED_UEFI="mklabel gpt mkpart ESP fat32 1MiB 512MiB mkpart root $FILE_SYSTEM_TYPE 512MiB 100% set 1 esp on"
PARTITION_CUSTOMMANUAL_BOOT="!/dev/sda1 !/dev/nvme0n1p1 !/dev/vda1 !/dev/mmcblk0p1" PARTITION_CUSTOM_PARTED_BIOS="mklabel msdos mkpart primary ext4 4MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
PARTITION_CUSTOMMANUAL_ROOT="!/dev/sda2 !/dev/nvme0n1p2 !/dev/vda2 !/dev/mmcblk0p2"
# network_install # network_install
## Variables to setup the WIFI connection to internet. ## Variables to setup the WIFI connection to internet.
@ -63,8 +63,8 @@ PING_HOSTNAME="mirrors.kernel.org"
## KERNELS additional kernels and headers to install. ## KERNELS additional kernels and headers to install.
## KERNELS_COMPRESSION selects the algorithm for kernel compression. ## KERNELS_COMPRESSION selects the algorithm for kernel compression.
## KERNELS_PARAMETERS specific kernel parameters to set on boot. eg. iommu=soft ## KERNELS_PARAMETERS specific kernel parameters to set on boot. eg. iommu=soft
REFLECTOR="false" REFLECTOR="true"
REFLECTOR_COUNTRIES=("Spain") REFLECTOR_COUNTRIES=("France")
PACMAN_MIRROR="https://mirrors.kernel.org/archlinux/\$repo/os/\$arch" PACMAN_MIRROR="https://mirrors.kernel.org/archlinux/\$repo/os/\$arch"
PACMAN_PARALLEL_DOWNLOADS="true" PACMAN_PARALLEL_DOWNLOADS="true"
KERNELS="linux-lts !linux-lts-headers !linux-hardened !linux-hardened-headers !linux-zen !linux-zen-headers" # (multiple) KERNELS="linux-lts !linux-lts-headers !linux-hardened !linux-hardened-headers !linux-zen !linux-zen-headers" # (multiple)
@ -108,7 +108,7 @@ KEYOPTIONS=""
KEYMAP="KEYMAP=fr" KEYMAP="KEYMAP=fr"
FONT="" FONT=""
FONT_MAP="" FONT_MAP=""
HOSTNAME="cbsystem" HOSTNAME="cb-system"
ROOT_PASSWORD="ask" ROOT_PASSWORD="ask"
ROOT_PASSWORD_RETYPE="ask" ROOT_PASSWORD_RETYPE="ask"
@ -177,3 +177,4 @@ SYSTEMD_UNITS=""
## REBOOT on installation end reboots the system automatically. If "false" no reboot is performed and the user must do it explicitly. ## REBOOT on installation end reboots the system automatically. If "false" no reboot is performed and the user must do it explicitly.
REBOOT="true" REBOOT="true"

105
setup-arch/alis.sh → alis.sh Executable file → Normal file
View File

@ -54,8 +54,6 @@ function sanitize_variables() {
PARTITION_MODE=$(sanitize_variable "$PARTITION_MODE") PARTITION_MODE=$(sanitize_variable "$PARTITION_MODE")
PARTITION_CUSTOM_PARTED_UEFI=$(sanitize_variable "$PARTITION_CUSTOM_PARTED_UEFI") PARTITION_CUSTOM_PARTED_UEFI=$(sanitize_variable "$PARTITION_CUSTOM_PARTED_UEFI")
PARTITION_CUSTOM_PARTED_BIOS=$(sanitize_variable "$PARTITION_CUSTOM_PARTED_BIOS") PARTITION_CUSTOM_PARTED_BIOS=$(sanitize_variable "$PARTITION_CUSTOM_PARTED_BIOS")
PARTITION_CUSTOMMANUAL_BOOT=$(sanitize_variable "$PARTITION_CUSTOMMANUAL_BOOT")
PARTITION_CUSTOMMANUAL_ROOT=$(sanitize_variable "$PARTITION_CUSTOMMANUAL_ROOT")
FILE_SYSTEM_TYPE=$(sanitize_variable "$FILE_SYSTEM_TYPE") FILE_SYSTEM_TYPE=$(sanitize_variable "$FILE_SYSTEM_TYPE")
SWAP_SIZE=$(sanitize_variable "$SWAP_SIZE") SWAP_SIZE=$(sanitize_variable "$SWAP_SIZE")
KERNELS=$(sanitize_variable "$KERNELS") KERNELS=$(sanitize_variable "$KERNELS")
@ -79,6 +77,15 @@ function sanitize_variables() {
BTRFS_SUBVOLUME_SWAP=("${SUBVOLUME[@]}") BTRFS_SUBVOLUME_SWAP=("${SUBVOLUME[@]}")
fi fi
done done
for I in "${PARTITION_MOUNT_POINTS[@]}"; do
IFS='=' PARTITION_MOUNT_POINT=($I)
if [ ${PARTITION_MOUNT_POINT[1]} == "/boot" ]; then
PARTITION_BOOT_NUMBER="${PARTITION_MOUNT_POINT[0]}"
elif [ ${PARTITION_MOUNT_POINT[1]} == "/" ]; then
PARTITION_ROOT_NUMBER="${PARTITION_MOUNT_POINT[0]}"
fi
done
} }
function check_variables() { function check_variables() {
@ -86,6 +93,49 @@ function check_variables() {
check_variables_boolean "LOG_TRACE" "$LOG_TRACE" check_variables_boolean "LOG_TRACE" "$LOG_TRACE"
check_variables_boolean "LOG_FILE" "$LOG_FILE" check_variables_boolean "LOG_FILE" "$LOG_FILE"
check_variables_value "DEVICE" "$DEVICE" check_variables_value "DEVICE" "$DEVICE"
if [ "$DEVICE" == "auto" ]; then
local DEVICE_BOOT=$(PKNAME=""; eval $(lsblk -oMOUNTPOINT,PKNAME -P -M | grep 'MOUNTPOINT="/run/archiso/bootmnt"'); echo "$PKNAME")
if [ -n "$DEVICE_BOOT" ]; then
local DEVICE_BOOT="/dev/$DEVICE_BOOT"
fi
local DEVICE_DETECTED="false"
if [ -e "/dev/sda" -a "$DEVICE_BOOT" != "/dev/sda" ]; then
if [ "$DEVICE_DETECTED" == "true" ]; then
echo "Auto device is ambigous, detected $DEVICE and /dev/sda."
exit 1
fi
DEVICE_DETECTED="true"
DEVICE_SDA="true"
DEVICE="/dev/sda"
fi
if [ -e "/dev/nvme0n1" -a "$DEVICE_BOOT" != "/dev/nvme0n1" ]; then
if [ "$DEVICE_DETECTED" == "true" ]; then
echo "Auto device is ambigous, detected $DEVICE and /dev/nvme0n1."
exit 1
fi
DEVICE_DETECTED="true"
DEVICE_NVME="true"
DEVICE="/dev/nvme0n1"
fi
if [ -e "/dev/vda" -a "$DEVICE_BOOT" != "/dev/vda" ]; then
if [ "$DEVICE_DETECTED" == "true" ]; then
echo "Auto device is ambigous, detected $DEVICE and /dev/vda."
exit 1
fi
DEVICE_DETECTED="true"
DEVICE_VDA="true"
DEVICE="/dev/vda"
fi
if [ -e "/dev/mmcblk0" -a "$DEVICE_BOOT" != "/dev/mmcblk0" ]; then
if [ "$DEVICE_DETECTED" == "true" ]; then
echo "Auto device is ambigous, detected $DEVICE and /dev/mmcblk0."
exit 1
fi
DEVICE_DETECTED="true"
DEVICE_MMC="true"
DEVICE="/dev/mmcblk0"
fi
fi
check_variables_boolean "DEVICE_TRIM" "$DEVICE_TRIM" check_variables_boolean "DEVICE_TRIM" "$DEVICE_TRIM"
check_variables_boolean "LVM" "$LVM" check_variables_boolean "LVM" "$LVM"
check_variables_equals "LUKS_PASSWORD" "LUKS_PASSWORD_RETYPE" "$LUKS_PASSWORD" "$LUKS_PASSWORD_RETYPE" check_variables_equals "LUKS_PASSWORD" "LUKS_PASSWORD_RETYPE" "$LUKS_PASSWORD" "$LUKS_PASSWORD_RETYPE"
@ -100,14 +150,8 @@ function check_variables() {
check_variables_size "SUBVOLUME" ${#SUBVOLUME[@]} 3 check_variables_size "SUBVOLUME" ${#SUBVOLUME[@]} 3
done done
check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto custom manual" "true" "true" check_variables_list "PARTITION_MODE" "$PARTITION_MODE" "auto custom manual" "true" "true"
if [ "$PARTITION_MODE" == "custom" ]; then check_variables_value "PARTITION_BOOT_NUMBER" "$PARTITION_BOOT_NUMBER"
check_variables_value "PARTITION_CUSTOM_PARTED_UEFI" "$PARTITION_CUSTOM_PARTED_UEFI" check_variables_value "PARTITION_ROOT_NUMBER" "$PARTITION_ROOT_NUMBER"
check_variables_value "PARTITION_CUSTOM_PARTED_BIOS" "$PARTITION_CUSTOM_PARTED_BIOS"
fi
if [ "$PARTITION_MODE" == "custom" -o "$PARTITION_MODE" == "manual" ]; then
check_variables_value "PARTITION_CUSTOMMANUAL_BOOT" "$PARTITION_CUSTOMMANUAL_BOOT"
check_variables_value "PARTITION_CUSTOMMANUAL_ROOT" "$PARTITION_CUSTOMMANUAL_ROOT"
fi
check_variables_equals "WIFI_KEY" "WIFI_KEY_RETYPE" "$WIFI_KEY" "$WIFI_KEY_RETYPE" check_variables_equals "WIFI_KEY" "WIFI_KEY_RETYPE" "$WIFI_KEY" "$WIFI_KEY_RETYPE"
check_variables_value "PING_HOSTNAME" "$PING_HOSTNAME" check_variables_value "PING_HOSTNAME" "$PING_HOSTNAME"
check_variables_boolean "REFLECTOR" "$REFLECTOR" check_variables_boolean "REFLECTOR" "$REFLECTOR"
@ -159,8 +203,11 @@ function warning() {
echo -e "${BLUE}Welcome to Arch Linux Install Script${NC}" echo -e "${BLUE}Welcome to Arch Linux Install Script${NC}"
echo "" echo ""
echo -e "${RED}Warning"'!'"${NC}" echo -e "${RED}Warning"'!'"${NC}"
echo -e "${RED}This script deletes all partitions of the persistent${NC}" echo -e "${RED}This script can delete all partitions of the persistent${NC}"
echo -e "${RED}storage and continuing all your data in it will be lost.${NC}" echo -e "${RED}storage and continuing all your data can be lost.${NC}"
echo ""
echo -e "Install device: $DEVICE."
echo -e "Mount points: ${PARTITION_MOUNT_POINTS[@]}."
echo "" echo ""
if [ "$WARNING_CONFIRM" == "true" ]; then if [ "$WARNING_CONFIRM" == "true" ]; then
read -p "Do you want to continue? [y/N] " yn read -p "Do you want to continue? [y/N] " yn
@ -193,10 +240,12 @@ function facts() {
facts_commons facts_commons
if [ -n "$(echo "$DEVICE" | grep "^/dev/[a-z]d[a-z]")" ]; then if [ -n "$(echo "$DEVICE" | grep "^/dev/sd[a-z]")" ]; then
DEVICE_SATA="true" DEVICE_SDA="true"
elif [ -n "$(echo "$DEVICE" | grep "^/dev/nvme")" ]; then elif [ -n "$(echo "$DEVICE" | grep "^/dev/nvme")" ]; then
DEVICE_NVME="true" DEVICE_NVME="true"
elif [ -n "$(echo "$DEVICE" | grep "^/dev/vd[a-z]")" ]; then
DEVICE_VDA="true"
elif [ -n "$(echo "$DEVICE" | grep "^/dev/mmc")" ]; then elif [ -n "$(echo "$DEVICE" | grep "^/dev/mmc")" ]; then
DEVICE_MMC="true" DEVICE_MMC="true"
fi fi
@ -468,19 +517,39 @@ function partition() {
wipefs -a -f $PARTITION_BOOT || true wipefs -a -f $PARTITION_BOOT || true
wipefs -a -f $DEVICE_ROOT || true wipefs -a -f $DEVICE_ROOT || true
## boot
if [ "$BIOS_TYPE" == "uefi" ]; then if [ "$BIOS_TYPE" == "uefi" ]; then
mkfs.fat -n ESP -F32 $PARTITION_BOOT mkfs.fat -n ESP -F32 $PARTITION_BOOT
fi fi
if [ "$BIOS_TYPE" == "bios" ]; then if [ "$BIOS_TYPE" == "bios" ]; then
mkfs.ext4 -L boot $PARTITION_BOOT mkfs.ext4 -L boot $PARTITION_BOOT
fi fi
## root
if [ "$FILE_SYSTEM_TYPE" == "reiserfs" ]; then if [ "$FILE_SYSTEM_TYPE" == "reiserfs" ]; then
mkfs."$FILE_SYSTEM_TYPE" -l root $DEVICE_ROOT mkfs."$FILE_SYSTEM_TYPE" -f -l root $DEVICE_ROOT
elif [ "$FILE_SYSTEM_TYPE" == "f2fs" ]; then elif [ "$FILE_SYSTEM_TYPE" == "f2fs" ]; then
mkfs."$FILE_SYSTEM_TYPE" -l root $DEVICE_ROOT mkfs."$FILE_SYSTEM_TYPE" -l root $DEVICE_ROOT
else else
mkfs."$FILE_SYSTEM_TYPE" -L root $DEVICE_ROOT mkfs."$FILE_SYSTEM_TYPE" -L root $DEVICE_ROOT
fi fi
## mountpoint
for I in "${PARTITION_MOUNT_POINTS[@]}"; do
if [[ "$I" =~ ^!.* ]]; then
continue
fi
IFS='=' PARTITION_MOUNT_POINT=($I)
if [ "${PARTITION_MOUNT_POINT[1]}" == "/boot" -o "${PARTITION_MOUNT_POINT[1]}" == "/" ]; then
continue
fi
local PARTITION_DEVICE="$(partition_device "${DEVICE}" "${PARTITION_MOUNT_POINT[0]}")"
if [ "$FILE_SYSTEM_TYPE" == "reiserfs" ]; then
mkfs."$FILE_SYSTEM_TYPE" -f $PARTITION_DEVICE
elif [ "$FILE_SYSTEM_TYPE" == "f2fs" ]; then
mkfs."$FILE_SYSTEM_TYPE" $PARTITION_DEVICE
else
mkfs."$FILE_SYSTEM_TYPE" $PARTITION_DEVICE
fi
done
# options # options
partition_options partition_options
@ -1048,6 +1117,7 @@ function network() {
print_step "network()" print_step "network()"
pacman_install "netctl" pacman_install "netctl"
arch-chroot /mnt systemctl enable netctl-sleep.service
} }
function virtualbox() { function virtualbox() {
@ -1664,6 +1734,8 @@ function end() {
echo "Reboot aborted. You will must do a explicit reboot (./alis-reboot.sh)." echo "Reboot aborted. You will must do a explicit reboot (./alis-reboot.sh)."
echo "" echo ""
fi fi
copy_logs
fi fi
else else
if [ "$ASCIINEMA" == "true" ]; then if [ "$ASCIINEMA" == "true" ]; then
@ -1673,6 +1745,8 @@ function end() {
echo "No reboot. You will must do a explicit reboot (./alis-reboot.sh)." echo "No reboot. You will must do a explicit reboot (./alis-reboot.sh)."
echo "" echo ""
fi fi
copy_logs
fi fi
} }
@ -1795,3 +1869,4 @@ function main() {
} }
main $@ main $@

View File

@ -1,21 +0,0 @@
echo "------------------------------------"
echo "------------------------------------"
echo "--- Install Script for Arch Base ---"
echo "------------------------------------"
echo "------------------------------------"
echo "BEWARE, disk will be formatted. ALL DATA will be LOST"
echo "Press <Ctrl> <C> now to stop"
echo "Start in 5"
sleep 1
echo "Start in 4"
sleep 1
echo "Start in 3"
sleep 1
echo "Start in 2"
sleep 1
echo "Start in 1"
sleep 1
sh setup-arch/alis.sh