Files
OSX-PROXMOX/install.sh
jaminmc 064e032b82 Auto generate new Serial numbers!
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.
2025-07-23 09:56:02 -04:00

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"