mirror of
https://github.com/luchina-gabriel/OSX-PROXMOX.git
synced 2025-12-05 20:40:07 -08:00
Now everyone won't be sharing the same serial! On fresh install, It will prompt if you want to generate a new serial. If you have an install already, and you select "205 - Customize OpenCore config.plist" you will have an option to generate a new serial. I created a CLI for GenSMBIOS, which generated all the serial numbers and stuff so that iMessage should work. For now it is pulling from my branch. That is until the pull request is accepted by corpnewt. The Serial generation prompts for System Product Name, and has a default. The user can change it if they want. IE for MacOS 26, they may want to use MacPro7,1. I have not tested that though.
85 lines
2.6 KiB
Bash
Executable File
85 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#########################################################################################################################
|
|
#
|
|
# Script: install
|
|
# Purpose: Install OSX-PROXMOX
|
|
# Source: https://luchina.com.br
|
|
#
|
|
#########################################################################################################################
|
|
|
|
# Exit on any error
|
|
set -e
|
|
|
|
# Check if running as root
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "This script must be run as root."
|
|
exit 1
|
|
fi
|
|
|
|
# Define log file
|
|
LOG_FILE="/root/install-osx-proxmox.log"
|
|
|
|
# Function to log messages
|
|
log_message() {
|
|
echo "$1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# Function to check command success
|
|
check_status() {
|
|
if [ $? -ne 0 ]; then
|
|
log_message "Error: $1"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Clear screen
|
|
clear
|
|
|
|
# Clean up existing files
|
|
log_message "Cleaning up existing files..."
|
|
[ -d "/root/OSX-PROXMOX" ] && rm -rf "/root/OSX-PROXMOX"
|
|
[ -f "/etc/apt/sources.list.d/pve-enterprise.list" ] && rm -f "/etc/apt/sources.list.d/pve-enterprise.list"
|
|
[ -f "/etc/apt/sources.list.d/ceph.list" ] && rm -f "/etc/apt/sources.list.d/ceph.list"
|
|
[ -f "/etc/apt/sources.list.d/pve-enterprise.sources" ] && rm -f "/etc/apt/sources.list.d/pve-enterprise.sources"
|
|
[ -f "/etc/apt/sources.list.d/ceph.sources" ] && rm -f "/etc/apt/sources.list.d/ceph.sources"
|
|
|
|
log_message "Preparing to install OSX-PROXMOX..."
|
|
|
|
# Update package lists
|
|
log_message "Updating package lists..."
|
|
apt-get update >> "$LOG_FILE" 2>&1
|
|
if [ $? -ne 0 ]; then
|
|
log_message "Initial apt-get update failed. Attempting to fix sources..."
|
|
|
|
# Use main Debian mirror instead of country-specific
|
|
sed -i 's/ftp\.[a-z]\{2\}\.debian\.org/ftp.debian.org/g' /etc/apt/sources.list
|
|
|
|
log_message "Retrying apt-get update..."
|
|
apt-get update >> "$LOG_FILE" 2>&1
|
|
check_status "Failed to update package lists after source modification"
|
|
fi
|
|
|
|
# Install git
|
|
log_message "Installing git..."
|
|
apt-get install -y git >> "$LOG_FILE" 2>&1
|
|
check_status "Failed to install git"
|
|
|
|
# Clone repository
|
|
log_message "Cloning OSX-PROXMOX repository..."
|
|
git clone --recurse-submodules https://github.com/luchina-gabriel/OSX-PROXMOX.git /root/OSX-PROXMOX >> "$LOG_FILE" 2>&1
|
|
check_status "Failed to clone repository"
|
|
|
|
# Ensure directory exists and setup is executable
|
|
if [ -f "/root/OSX-PROXMOX/setup" ]; then
|
|
chmod +x "/root/OSX-PROXMOX/setup"
|
|
log_message "Running setup script..."
|
|
/root/OSX-PROXMOX/setup 2>&1 | tee -a "$LOG_FILE"
|
|
check_status "Failed to run setup script"
|
|
else
|
|
log_message "Error: Setup script not found in /root/OSX-PROXMOX"
|
|
exit 1
|
|
fi
|
|
|
|
log_message "Installation completed successfully"
|