Better dependency handling, update README

This commit is contained in:
natemaia 2020-05-17 12:04:37 -07:00
parent 1a49d67c4c
commit 38ccc9b96d
2 changed files with 47 additions and 31 deletions

View File

@ -2,17 +2,27 @@
#### Features
- LUKS/LVM setup
- Package & Session selection
- Full device auto partition
- Minimal dependencies.
- LUKS and/or LVM support.
- Btrfs and subvolume support.
- Full device auto partitioning.
- Mirror country selection and sorting.
- Self updating with persistent settings.
- Background base install process while you customize.
- Choose kernel, file system, bootloader, packages, sessions, shell, login manager, etc.
#### Requirements
- `dialog` displays user interactive dialogs.
- `rsync` copies the live base during install.
- `parted` partition management and querying info.
- `arch-install-scripts` simple chroot setup with arch-chroot
- `awk`, `sed`, `curl`, `coreutils`, `findutils`, `util-linux` misc tasks throughout the install.
- `awk`
- `sed`
- `curl`
- `dialog`
- `parted`
- `coreutils`
- `findutils`
- `util-linux`
- `arch-install-scripts`
#### Manual Installation

View File

@ -2059,8 +2059,9 @@ install_background()
install_mirror_country
fi
yesno "Background Install" "$_bginstall" "Pacstrap" "Copy ISO" || PACSTRAP=0
if hash rsync > /dev/null 2>&1; then
yesno "Background Install" "$_bginstall" "Pacstrap" "Copy ISO" || PACSTRAP=0
fi
(
install_mirrorlist > /tmp/bgout 2>&1
@ -2445,6 +2446,25 @@ btrfs_name()
return 0
}
btrfs_subvols()
{
local part="$1"
local mntp="${MNT}$2"
local mvol=''
btrfs_name "\nEnter a name for the initial subvolume on $part." || return 1
mvol="$SUBVOL"
[[ $mntp == "$MNT" ]] && BTRFS_MNT="rootflags=subvol=$mvol"
btrfs subvolume create "$mntp/$mvol" > /dev/null 2> "$ERR"
errshow 0 "btrfs subvolume create $mntp/$mvol" || return 1
umount_dir "$mntp" || return 1
select_mntopts 'btrfs' && [[ $MNT_OPTS ]] && MNT_OPTS+=','
mount -o ${MNT_OPTS}subvol=${mvol} "$part" "$mntp" 2> "$ERR"
errshow 0 "mount -o ${MNT_OPTS}subvol=${mvol} $part $mntp" || return 1
btrfs_extsubvols "$mntp" "$mvol" || return 1
msg "Btrfs Setup Complete" "\nCreated subvolumes:\n\n$(ls -R "$mntp/$mvol")"
}
btrfs_extsubvols()
{
local mntp="$1"
@ -2469,25 +2489,6 @@ btrfs_extsubvols()
return 0
}
btrfs_subvols()
{
local part="$1"
local mntp="${MNT}$2"
local mvol=''
btrfs_name "\nEnter a name for the initial subvolume on $part." || return 1
mvol="$SUBVOL"
[[ $mntp == "$MNT" ]] && BTRFS_MNT="rootflags=subvol=$mvol"
btrfs subvolume create "$mntp/$mvol" > /dev/null 2> "$ERR"
errshow 0 "btrfs subvolume create $mntp/$mvol" || return 1
umount_dir "$mntp" || return 1
select_mntopts 'btrfs' && [[ $MNT_OPTS ]] && MNT_OPTS+=','
mount -o ${MNT_OPTS}subvol=${mvol} "$part" "$mntp" 2> "$ERR"
errshow 0 "mount -o ${MNT_OPTS}subvol=${mvol} $part $mntp" || return 1
btrfs_extsubvols "$mntp" "$mvol" || return 1
msg "Btrfs Setup Complete" "\nCreated subvolumes:\n\n$(ls -R "$mntp/$mvol")"
}
###############################################################################
# lvm functions
@ -3259,9 +3260,14 @@ system_identify()
# enable some nicer colours in the linux console
termcol
MISS=""
for i in dialog find parted curl arch-chroot; do
hash $i >/dev/null 2>&1 || MISS+="$i "
done
# ensure the required packages are installed and that we're running as root on x86_64 architecture
if ! hash dialog rsync find parted curl arch-chroot >/dev/null 2>&1; then
echo "One or more required packages are missing: dialog, curl, rsync, parted, findutils, arch-install-scripts"
if [[ $MISS ]]; then
printf "This installer requires the following package(s) to be installed:\n\n\t%s" "$MISS"
die 1
elif (( UID != 0 )); then
msg "Not Root" "\nThis installer must be run as root or using sudo.\n\nExiting..\n" 2