32 lines
2.6 KiB
Markdown
32 lines
2.6 KiB
Markdown
## Semi-automatic installer of macOS on VirtualBox
|
|
|
|
### Supports macOS Mojave (10.14) and High Sierra (10.13)
|
|
### macOS Catalina 10.15.2 fails to boot on VirtualBox as of the date of its release. Earlier versions of Catalina work, but they are not currently being distributed by Apple's software update servers, from which the script fetches the installer.
|
|
|
|
The script is semi-automatic and requires a little user interaction. A default fresh install only requires the user to sit patiently and, ten times, press enter when prompted.
|
|
|
|
The goal of the script is to allow for a very easy installation without any closed-source additions or extra bootloaders.
|
|
|
|
Tested on Cygwin. Works on macOS and WSL, should work on most Linux distros.
|
|
|
|
## iCloud and iMessage connectivity
|
|
iCloud, iMessage, and other connected Apple services require a valid device name and serial number, board ID and serial number, and other genuine (or genuine-like) Apple parameters. These parameters may be set in the script before installation, or set after installation and applied with `./macos-guest-virtualbox.sh configure_nvram_parameters`
|
|
|
|
## Storage size
|
|
|
|
The script by default assigns a target virtual disk storage size of 80GB, which is populated to about 15GB on the host on initial installation. After the installation is complete, the storage size may be increased. First increase the virtual disk image size through VirtualBox Manager or `VBoxManage`, then in Terminal in the virtual machine run `sudo diskutil repairDisk disk0`, and then `sudo diskutil apfs resizeContainer disk1 0` or from Disk Utility, after repairing the disk from Terminal, delete the "Free space" partition so it allows the system APFS container to take up the available space.
|
|
|
|
## Performance and unsupported features
|
|
|
|
Developing and maintaining VirtualBox or macOS features is beyond the scope of this script. Some features may behave unexpectedly, such as USB device support, audio support, and other features.
|
|
|
|
After successfully creating a working macOS virtual machine, consider importing it into QEMU/KVM so it can run with hardware passthrough at near-native performance. QEMU/KVM requires additional configuration that is beyond the scope of the script.
|
|
|
|
## Dependencies
|
|
|
|
* [VirtualBox](https://www.virtualbox.org/wiki/Downloads)≥6.0 with Extension Pack
|
|
* `Bash`≥4.3 (GNU variant; run on Windows through [Cygwin](https://cygwin.com/install.html) or WSL)
|
|
* `coreutils` (GNU variant; install through package manager)
|
|
* `xxd`, `unzip`, `gzip`, `wget` (install through package manager)
|
|
* `dmg2img` (install through package manager on Linux, macOS, or WSL; let the script download it automatically on Cygwin)
|