diff --git a/macos-guest-virtualbox.sh b/macos-guest-virtualbox.sh index 7394ef7..a76cab1 100644 --- a/macos-guest-virtualbox.sh +++ b/macos-guest-virtualbox.sh @@ -2,34 +2,29 @@ # Semi-automatic installer of macOS on VirtualBox # (c) myspaghetti, licensed under GPL2.0 or higher # url: https://github.com/img2tab/macos-guest-virtualbox -# version 0.69.3 +# version 0.69.4 # Requirements: 40GB available storage on host # Dependencies: bash >= 4.0, unzip, wget, dmg2img, # VirtualBox with Extension Pack >= 6.0 # Customize the installation by setting these variables: -vmname="macOS" # name of the VirtualBox virtual machine -storagesize=22000 # VM disk image size in MB. minimum 22000 -cpucount=2 # VM CPU cores, minimum 2 -memorysize=4096 # VM RAM in MB, minimum 2048 -gpuvram=128 # VM video RAM in MB, minimum 34, maximum 128 -resolution="1280x800" # VM display resolution +vmname="macOS" # name of the VirtualBox virtual machine +storagesize=22000 # VM disk image size in MB. minimum 22000 +cpucount=2 # VM CPU cores, minimum 2 +memorysize=4096 # VM RAM in MB, minimum 2048 +gpuvram=128 # VM video RAM in MB, minimum 34, maximum 128 +resolution="1280x800" # VM display resolution -# The following variables can be found on a genuine Mac using the command -# in the comment above each of the following variable assignments +# The following commands may provide the values for the parameters of the +# Clover SMBIOS options screen. Run them on a genuine Mac. +# ioreg -l | grep -m 1 "Device Model Name" # ioreg -l | grep -m 1 product-name -DmiSystemProduct="MacBookPro11,3" # ioreg -l | grep -m 1 IOPlatformSerialNumber -DmiSystemSerial="NO_DEVICE_SN" # ioreg -l | grep -m 1 board-id -DmiBoardProduct="Mac-2BD1B31983FE1663" # nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB | awk '{ print $NF }' -DmiBoardSerial="NO_LOGIC_BOARD_SN" # ioreg -l | grep -m 1 PlatformUUID -DmiSystemUuid="CAFECAFE-CAFE-CAFE-CAFE-DECAFFDECAFF" # ioreg -l -p IODeviceTree | grep \"system-id -UUID="bytes:qqq7u8zM3d3u7v//AAAREQ==" # welcome message whiteonred="\e[48;2;255;0;0m\e[38;2;255;255;255m" @@ -47,8 +42,9 @@ The script checks for dependencies and will prompt to install them if unmet. Some stages may fail due to errant keyboard presses; run the script with "'${whiteonblack}"${0}"' stages'${defaultcolor}'" to see how to run only certain stages. -For iCloud and iMessage connectivity, you will need to provide a valid -Apple serial number. macOS will work without it, but not Apple-connected apps. +For iCloud and iMessage connectivity, you will need to install Clover and +configure the SMBIOS options. macOS will work without these parameters, but not +Apple-connected apps. The installation requires '${whiteonred}'40GB'${defaultcolor}' of available storage, 25GB for temporary installation files and 15GB for the virtual machine. Deleting the @@ -59,12 +55,12 @@ read # custom settings prompt printf ' -vmname="'"${vmname}"'" # name of the VirtualBox virtual machine -storagesize='"${storagesize}"' # VM disk image size in MB. minimum 22000 -cpucount='"${cpucount}"' # VM CPU cores, minimum 2 -memorysize='"${memorysize}"' # VM RAM in MB, minimum 2048 -gpuvram='"${gpuvram}"' # VM video RAM in MB, minimum 34, maximum 128 -resolution="'"${resolution}"'" # VM display resolution +vmname="'"${vmname}"'" # name of the VirtualBox virtual machine +storagesize='"${storagesize}"' # VM disk image size in MB. minimum 22000 +cpucount='"${cpucount}"' # VM CPU cores, minimum 2 +memorysize='"${memorysize}"' # VM RAM in MB, minimum 2048 +gpuvram='"${gpuvram}"' # VM video RAM in MB, minimum 34, maximum 128 +resolution="'"${resolution}"'" # VM display resolution These values may be customized by editing them at the top of the script file. @@ -416,18 +412,6 @@ VBoxManage modifyvm "${vmname}" --cpus "${cpucount}" --memory "${memorysize}" \ --vram "${gpuvram}" --pae on --boot1 dvd --boot2 disk --boot3 none \ --boot4 none --firmware efi --rtcuseutc on --usbxhci on --chipset ich9 \ --mouse usbtablet --keyboard usb --audiocontroller hda --audiocodec stac9221 -VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "${DmiSystemProduct}" - VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "${DmiSystemSerial}" -VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "${DmiBoardProduct}" - VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "${DmiBoardSerial}" -VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/DmiSystemUuid" "${DmiSystemUuid}" -VBoxManage setextradata "${vmname}" \ - "VBoxInternal/Devices/efi/0/Config/UUID" "${UUID}" VBoxManage setextradata "${vmname}" \ "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc." VBoxManage setextradata "${vmname}" \