Files
box128/install.sh
2025-04-08 12:08:06 -07:00

71 lines
2.0 KiB
Bash

#!/bin/bash
# Logfile
LOGFILE="$HOME/box_install.log"
touch "$LOGFILE" || {
echo "[FATAL] Cannot write to $LOGFILE. Check permissions." >&2
exit 1
}
# Helper functions
get_arch() {
case "$(uname -m)" in
x86_64) echo "amd64" ;;
aarch64) echo "arm64" ;;
armv7l|armv6l) echo "armhf" ;;
*) uname -m ;;
esac
}
is_arch() {
local current_arch
current_arch="$(get_arch)"
if [[ "$current_arch" == "$1" ]]; then
return 0
else
return 1
fi
}
log() {
echo "[INFO] $*" | tee -a "$LOGFILE"
}
err() {
echo "[ERROR] $*" | tee -a "$LOGFILE" >&2
}
# Add box64 repo
log "Adding box64 repository..."
if ! sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list >>"$LOGFILE" 2>&1; then
err "Failed to download box64.list"
fi
if ! wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg >>"$LOGFILE" 2>&1; then
err "Failed to download or add KEY.gpg for box64"
fi
# Add box86 repo
log "Adding box86 repository..."
if ! sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list >>"$LOGFILE" 2>&1; then
err "Failed to download box86.list"
fi
if ! wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg >>"$LOGFILE" 2>&1; then
err "Failed to download or add KEY.gpg for box86"
fi
# Check if arch is amd64, and if so add armhf dpkg for box86 to work
if is_arch "amd64"; then
log "64-bit system detected. Enabling armhf support for box86..."
if ! sudo dpkg --add-architecture armhf >>"$LOGFILE" 2>&1; then
err "Failed to add armhf architecture"
fi
fi
# Update apt packge index
log "Updating apt package index..."
if ! sudo apt update >>"$LOGFILE" 2>&1; then
err "Failed to update apt package list"
fi
log "Script completed successfully, box86 and box64 repos installed."