melawy-archiso-config/Melawy-Linux-NetInstall/airootfs/usr/local/bin/calamares-online

121 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
FollowFile() {
local tailfile="$1"
local term_title="$2"
alacritty -t "$term_title" -e tail -f "$tailfile" &
}
catch_chrooted_pacman_log() {
local pacmanlog=""
local lockfile="$HOME/.$1.lck"
# wait until pacman.log is available in the chrooted system, then follow the log in background
while true ; do
sleep 2
pacmanlog="$(/usr/bin/ls -1 /tmp/calamares-root-*/var/log/pacman.log 2>/dev/null | /usr/bin/tail -n 1)"
if [ -n "$pacmanlog" ] ; then
# pacman.log found
[ -r "$lockfile" ] && return
/usr/bin/touch "$lockfile"
FollowFile "$pacmanlog" "Pacman log" 400 50
break
fi
done
}
Main() {
resp=$(curl -s -o /dev/null -I -w "%{http_code}" http://192.168.1.250/cache/x86_64/)
if [ $resp -eq 200 ]; then
sudo cp /etc/pacman-cache.conf /etc/pacman.conf
else
sudo cp /etc/pacman-std.conf /etc/pacman.conf
fi
local progname
progname="$(basename "$0")"
local log=/home/liveuser/melawy-install.log
local mode=""
case "$progname" in
calamares-online) mode=online ;;
calamares-offline) mode=offline ;;
esac
mode=online # keep this line for now!
local _efi_check_dir="/sys/firmware/efi"
local _exitcode=2 # by default use grub
local SYSTEM=""
local BOOTLOADER=""
if [ -d "${_efi_check_dir}" ]; then
SYSTEM="UEFI SYSTEM"
# Restrict bootloader selection to only UEFI systems
# _exitcode=$(yad --width 300 --title "Bootloader" \
# --image=gnome-shutdown \
# --button="Grub:2" \
# --button="Systemd-boot:3" \
# --button="Refind:4" \
# --text "Choose Bootloader:" ; echo $?)
else
SYSTEM="BIOS/MBR SYSTEM"
fi
# if [[ "${_exitcode}" -eq 2 ]]; then
# BOOTLOADER="GRUB"
# echo "USING GRUB!"
# yes | sudo pacman -R cachyos-calamares-systemd
# yes | sudo pacman -R cachyos-calamares-grub
# yes | sudo pacman -R cachyos-calamares-refind
# yes | sudo pacman -Sy cachyos-calamares-grub
# elif [[ "${_exitcode}" -eq 3 ]]; then
# BOOTLOADER="SYSTEMD-BOOT"
# echo "USING SYSTEMD-BOOT!"
# yes | sudo pacman -R cachyos-calamares-grub
# yes | sudo pacman -R cachyos-calamares-refind
# yes | sudo pacman -Sy cachyos-calamares-systemd
# elif [[ "${_exitcode}" -eq 4 ]]; then
# BOOTLOADER="REFIND"
# echo "USING REFIND!"
# yes | sudo pacman -R cachyos-calamares-grub
# yes | sudo pacman -R cachyos-calamares-systemd
# yes | sudo pacman -Sy cachyos-calamares-refind
# else
# exit
# fi
cat <<EOF > $log
########## $log by $progname
########## Started (UTC): $(date -u "+%x %X")
########## Install mode: $mode
########## System: $SYSTEM
########## Bootloader: $BOOTLOADER
EOF
# FollowFile "$log" "Install log" 20 20
sudo cp /etc/calamares/settings_${mode}.conf /etc/calamares/settings.conf
platform="$XDG_SESSION_TYPE"
if [ -z $platform ]; then
platform=$(loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type | cut -d"=" -f 2)
fi
if [ -n "$platform" ] && [ "$platform" == "wayland" ]; then
sudo -E dbus-launch calamares -D8 -d -platform $platform >> $log
else
sudo -E dbus-launch calamares -D8 >> $log
fi
# &
# comment out the following line if pacman.log is not needed:
# [ "$mode" = "online" ] && catch_chrooted_pacman_log "$progname"
}
Main "$@"