Fix bug with partitioning upstream + add detail about config in README.md
This commit is contained in:
parent
5e87ec8e8f
commit
b7fc28e8e9
32
README.md
32
README.md
@ -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
|
||||||
```
|
```
|
||||||
|
|||||||
@ -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
115
setup-arch/alis-commons.sh → alis-commons.sh
Executable file → Normal 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
|
||||||
}
|
}
|
||||||
@ -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
105
setup-arch/alis.sh → alis.sh
Executable file → Normal 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 $@
|
||||||
|
|
||||||
21
install.sh
21
install.sh
@ -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
|
|
||||||
Loading…
Reference in New Issue
Block a user