117 Commits

Author SHA1 Message Date
Jack
68c9fb7f76 upped Bash version requirement to 4.3
upped Bash version requirement to 4.3 due to buggy associative array implementation (see [issue 147](https://github.com/myspaghetti/macos-guest-virtualbox/issues/147))
2020-01-13 23:36:14 +02:00
Jack
52608614e8 raising Bash version requirement to 4.3
Bash 4.1 and 4.2 have a buggy implementation of associative array and require escaping where they shouldn't
2020-01-13 23:25:46 +02:00
Jack
1293dd6d4b incrementing version number 2020-01-13 09:49:52 +02:00
Jack
895ba2f435 single-quote breaks printf command 2020-01-13 09:48:33 +02:00
Jack
d218b3e674 Update README.md 2020-01-12 13:20:17 +02:00
Jack
1c9fee0b15 set default target disk image size to 80GB 2020-01-12 13:18:23 +02:00
Jack
6960e553d9 added gexpr to gnu g-prefixed binaries 2020-01-10 05:25:52 +02:00
Jack
f684e82240 missing space after gsplit 2020-01-09 19:31:02 +02:00
Jack
0f0615250d earlier execution of gnu coreutils prefix check 2020-01-09 11:26:06 +02:00
Jack
5e46bf03d5 added g-prefixed to another GNU coreutils binary 2020-01-09 11:11:13 +02:00
Jack
9268d9c70b added g prefix for MacPorts GNU coreutils 2020-01-09 10:31:18 +02:00
Jack
f81696c54e Merge pull request #143 from RICCIARDI-Adrien/master
Made script file executable.
2020-01-09 10:17:35 +02:00
RICCIARDI-Adrien
68834516d3 Made script file executable. 2020-01-09 09:03:00 +01:00
Jack
67a66cca81 line breaks for messages that went over 80 columns
printf doesn't append a newline by default
2019-12-19 19:42:09 +02:00
Jack
a3c3dfc453 clarifying that there is a prompt before deletion 2019-12-19 18:10:46 +02:00
Jack
c2891c0d16 changing the printf formatting for no good reason 2019-12-17 19:49:32 +02:00
Jack
8b00a66a02 typo 2019-12-17 18:47:03 +02:00
Jack
cae330379e VirtualBox 6.1 doesn't need 3rd party APFS drivers 2019-12-17 16:28:16 +02:00
Jack
f409317444 Update README.md 2019-12-13 01:58:46 +02:00
Jack
a557415499 Catalina 10.15.2 and VirtualBox 6.1 2019-12-13 01:56:55 +02:00
Jack
9f33000fb8 warning that VBox 6.1 NVRAM doesn't work 2019-12-13 01:38:33 +02:00
Jack
a7bdbf320a removed Catalina workaround; currently doesn't work 2019-12-12 00:15:01 +02:00
Jack
26ef1c5da4 Catalina temporarily not supported 2019-12-12 00:11:48 +02:00
Jack
9b00b0240e emergency workaround for Catalina 10.15.2
Avoid the latest version of Catalina (10.15.2.0.0.1575534587), use older version instead (10.15.1.0.0.1573248873)
2019-12-11 16:13:05 +02:00
Jack
bf6bf77ad1 WSL2 2019-12-03 08:34:06 +02:00
Jack
97a848a8fd warning about default macOS /bin/bash version 2019-11-26 18:20:34 +02:00
Jack
824e9bbbb9 Update README.md 2019-11-15 02:33:07 +02:00
Jack
89884c6264 clarifying that importing to QEMU is out-of-scope 2019-11-15 02:32:20 +02:00
Jack
96292ae174 slight phrasing change to comment 2019-11-13 01:56:04 +02:00
Jack
dbd4fd880f Update README.md 2019-11-12 11:09:08 +02:00
Jack
c878f05790 minor terminal output message changes 2019-10-22 09:46:24 +03:00
Jack
0642d90ac7 startup.nsh compatible with VirtualBox 6.0.14
VirtualBox version 6.0.14 aborts efi scripts on failure, apparently.
2019-10-19 19:05:49 +03:00
Jack
3e2cc4c75e reverting startup.nsh changes until bug is fixed 2019-10-19 18:29:59 +03:00
Jack
7bde335163 try to boot updates before trying to boot macOS 2019-10-16 14:26:51 +03:00
Jack
e3e9593202 Catalina released 2019-10-08 15:11:59 +03:00
Jack
961b4e9ad5 WSL warning 2019-09-22 21:23:01 +03:00
Jack
0031242cf9 Update README.md 2019-09-20 14:05:16 +03:00
Jack
3ac0ef190a raised default storage size for compatibility with Catalina 2019-09-20 14:01:05 +03:00
Jack
5827dc76a8 delete template 2019-09-18 12:30:47 +03:00
Jack
34e49a0171 Update issue templates - "starttoinstall"
Created "starttoinstall" template
2019-09-17 15:03:38 +03:00
Jack
d2dc2403f0 agree to license with --agreetolicense 2019-09-11 13:57:17 +03:00
Jack
2d05d7b7be Update README.md 2019-09-03 01:02:27 +03:00
Jack
78fc7f6a47 added pkgsrc to list of recommended macOS package managers 2019-08-31 14:02:01 +03:00
Jack
bd79b0b6b3 Merge pull request #94 from bronson/coreutils
add GNU coreutils path if in the default homebrew gnubin path
2019-08-31 13:45:50 +03:00
Jack
c1bb67d104 incremented version number 2019-08-31 13:44:46 +03:00
Jack
57a0e64df2 moved dependency check to the dependency checking section 2019-08-31 13:44:22 +03:00
Scott Bronson
b8c6d01d5d Use GNU coreutils if they're installed 2019-08-29 15:31:49 -07:00
Jack
ab6d514d47 truncated filename and trailing slash from path 2019-08-22 11:09:43 +03:00
Jack
6ad3b5f991 workaround for WSL path issues 2019-08-22 11:03:20 +03:00
Jack
c001660730 typo in log messge 2019-08-18 12:51:37 +03:00
Jack
39e121268e documentation 2019-08-10 16:50:05 +03:00
Jack
55d7ae4e7d trimmed error message to 80 cols 2019-08-10 16:38:54 +03:00
Jack
c5ac9e86cc early bash version check 2019-08-10 16:36:12 +03:00
Jack
5852996670 enable/disable System Integrity Protection 2019-08-10 13:00:13 +03:00
Jack
27378e1e54 Update macos-guest-virtualbox.sh 2019-08-09 20:39:44 +03:00
Jack
af7fedb5d9 unique variable index 2019-08-09 20:39:25 +03:00
Jack
009688dc0e Support for NVRAM variable system-id 2019-08-09 20:27:34 +03:00
Jack
b4f1e8eef9 Update macos-guest-virtualbox.sh 2019-07-31 18:26:20 +03:00
Jack
ced167a082 Update README.md 2019-07-31 18:21:21 +03:00
Jack
ff0644d775 Update README.md 2019-07-31 18:20:39 +03:00
Jack
2e0ed4f92f Merge pull request #88 from deepio/master
Fixes: #39 MacOS Compat
2019-07-31 18:17:32 +03:00
Jack
b9b9543609 Update macos-guest-virtualbox.sh 2019-07-31 18:15:18 +03:00
Jack
d881bed4a2 macOS coreutils 2019-07-31 18:11:41 +03:00
Alex Daigle
9a6faff3de Fixed: Typo, lingering \n 2019-07-31 09:49:58 -04:00
deepio
9b87484fd2 Added: MacOS compat.
https://github.com/myspaghetti/macos-guest-virtualbox/issues/39
2019-07-29 14:37:54 -04:00
Jack
9c66e3d789 Update README.md 2019-07-23 19:35:32 +03:00
Jack
79f877dcb9 raised VBox version requirement to 6.0 because of VISO issues 2019-07-23 17:26:40 +03:00
Jack
7de4173f34 truncated log lines at 80 columns 2019-07-22 20:29:12 +03:00
Jack
a921600e1d comment about ROM and UUID variables and xxd package 2019-07-15 05:13:13 +03:00
Jack
0b192ef515 fail if xxd fails and ROM or UUID are modified
SECRET DEPENDENCY
2019-07-15 05:07:44 +03:00
Jack
41b15fc8f0 accept VBox versions 5.3-5.9.* too 2019-07-12 17:08:04 +03:00
Jack
471034417a Update README.md 2019-07-12 14:44:17 +03:00
Jack
2740b9f845 Update README.md 2019-07-12 14:39:38 +03:00
Jack
8b99bc92ea lowering VBox version requirement 2019-07-12 14:36:25 +03:00
Jack
129bf61030 changed Uuid to UUID to prevent startvm error 2019-07-05 06:27:14 +03:00
Jack
aac4cd94a8 minor log changes 2019-07-05 06:09:06 +03:00
Jack
956a9752fb iMessage! 2019-07-05 00:55:30 +03:00
Jack
f5deba6b4f Goodbye Clover, we hardly knew ye 2019-07-05 00:53:52 +03:00
Jack
eae0d0c4c8 added (working) iMessage support
removed global variable, xxd is kinda-sorta a dependency now
2019-07-05 00:45:18 +03:00
Jack
928887d1ed Merge pull request #80 from trikosuave/master
Make installation files variable global.
2019-07-05 00:42:25 +03:00
Patrick Ryan
8d6b4ee08f moved variable to global as needed in several functions that would fail if ran via stages, place_efi_apfs_drivers for example. 2019-07-04 09:10:17 -07:00
Jack
4165d58ec9 underscores, certificate error message 2019-07-04 12:39:51 +03:00
Jack
0dcd9d9eab board id for MacBookPro11,2 2019-07-03 12:27:54 +03:00
Jack
ee7ae218f8 a few more extradata parameters 2019-07-03 12:26:18 +03:00
Jack
3ea3204bb7 Update README.md 2019-07-03 03:49:35 +03:00
Jack
638da20802 updated Catalina URL 2019-07-03 03:39:57 +03:00
Jack
797dc1c3be restore EFI parameters to avoid installer warnings 2019-07-02 22:31:03 +03:00
Jack
af124a4d90 removed duplicate 'disks=' command 2019-07-02 22:01:09 +03:00
Jack
c878916e22 Clover 2019-07-02 17:51:05 +03:00
Jack
d6c5ebb542 removed some EFI parameters
DmiSystemProduct, DmiSystemSerial, DmiBoardProduct, DmiBoardSerial, DmiSystemUuid, UUID
2019-07-02 17:09:15 +03:00
Jack
6507df1983 Update macos-guest-virtualbox.sh 2019-07-02 14:08:57 +03:00
Jack
7078bf5c0c investigating iMessage 2019-07-02 13:57:31 +03:00
Jack
ceb79b68b9 Update macos-guest-virtualbox.sh 2019-07-02 11:17:36 +03:00
Jack
66bcfeb2b8 still investigating iMessage 2019-07-02 11:14:25 +03:00
img2tab
d5706eacf1 investigating which EFI values are required for iMessage 2019-07-01 12:17:13 +03:00
img2tab
5b5228445a serial number etc 2019-06-30 13:10:59 +03:00
img2tab
b694ff4cde added a couple of missing "prompt_terminal_ready"s 2019-06-29 19:59:32 +03:00
img2tab
0c4951d2b7 incrementing version number 2019-06-29 19:04:26 +03:00
img2tab
aba24bb85c splitting log line 2019-06-29 19:04:06 +03:00
img2tab
e8a319b80b welcome message formatting 2019-06-29 18:33:45 +03:00
img2tab
fba5b36a68 moved "exception handling" to the top of the loop 2019-06-29 05:06:10 +03:00
img2tab
d8fbd564cf fixed sucatalog search 2019-06-29 05:01:55 +03:00
img2tab
9918fb116e added newline after log message 2019-06-28 21:36:24 +03:00
img2tab
aa7270cbf2 might as well delete dmg2img.exe too 2019-06-28 21:23:10 +03:00
img2tab
638f547767 delete leftover temporary file 2019-06-28 21:21:56 +03:00
img2tab
b73bc3d6a2 newline after error message 2019-06-28 21:18:31 +03:00
img2tab
60d6c78f65 more old filenames... 2019-06-28 21:09:40 +03:00
img2tab
be6513b247 could not download BaseSystem... 2019-06-28 21:06:46 +03:00
img2tab
55a17c8eb7 don't care if VBoxManage closemedium fails 2019-06-28 21:02:27 +03:00
img2tab
f77071e014 Update macos-guest-virtualbox.sh 2019-06-28 18:18:50 +03:00
img2tab
61f1866a91 removed rate limit that was for testing purposes 2019-06-28 18:14:35 +03:00
img2tab
dfc0fd22ce implemented VISO for Catalina
VISO file format support requires VirtualBox version 6 or higher
2019-06-28 18:11:04 +03:00
img2tab
e1041fd6b0 Update README.md 2019-06-28 17:10:44 +03:00
img2tab
7ab3fc0f46 Update README.md 2019-06-28 17:04:31 +03:00
img2tab
17ce2f51a1 Update README.md 2019-06-28 17:03:28 +03:00
img2tab
09eb02cd55 requires VirtualBox 6.0 as of version 0.65 2019-06-28 17:03:00 +03:00
img2tab
6342cec292 Update README.md 2019-06-17 10:10:28 +03:00
2 changed files with 630 additions and 348 deletions
+19 -11
View File
@@ -1,26 +1,34 @@
## One-key semi-automatic installer of macOS Mojave 10.14 on VirtualBox ## Semi-automatic installer of macOS on VirtualBox
The "one key" is enter, which has to be pressed whenever the virtual machine is ready for the next command. (Contrary to the script's name, the user has to use more than one key! There is one instance when the right control key or "host key" is used to release the mouse from the virtual machine, and a couple of instances where the user has to choose [y]es or [n]o!) ### 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. Most of the time the user simply has to press enter. There is one step where the user has to choose between [C]atalina, [M]ojave, or [H]igh Sierra, and a couple of instances where the user has to choose whether to delete or keep temporary files and previous installations.
The goal of the script is to allow for a very easy installation without any closed-source additions or extra bootloaders. The goal of the script is to allow for a very easy installation without any closed-source additions or extra bootloaders.
Tested on Cygwin and WSL, should work on most Linux distros. Tested on Cygwin. Works on macOS and WSL, should work on most Linux distros.
## iCloud and iMessage connectivity ## iCloud and iMessage connectivity
### Due to VirtualBox 6.1 NVRAM issues, iCloud and iMessage connectivity is not available on VirtualBox 6.1 as of the date of its release. Please use VirtualBox 6.0 instead.
iCloud and iMessage and other connected Apple services require a valid device serial number. Set it before the installation by replacing `NOTAVALIDSN0` with a valid serial number, or after the installation with `VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "${serialnumber}"`. An invalid serial number that matches the correct structure for the device name and board ID might work, too. 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_vm`
## Storage size ## Storage size
The script assigns the minimum required storage size for the installation. After the installation is complete, the virtual disk image may be increased through VirtualBox, and then the macOS system APFS container size may be increased. Inside the virtual machine run `sudo diskutil repairDisk disk0` and then from Disk Utility delete the "Free space" partition, allowing the system APFS container to take up the available space. 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.
## Unsupported features ## 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](https://github.com/chris1111/VoodooHDA-2.9.2-Clover-V13/releases), and other 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 ## Dependencies
* [VirtualBox](https://www.virtualbox.org/wiki/Downloads)≥5.2 with Extension Pack * [VirtualBox](https://www.virtualbox.org/wiki/Downloads)≥6.0 with Extension Pack
* `Bash`≥4 (run on Windows through [Cygwin](https://cygwin.com/install.html) or WSL) * `Bash`≥4.3 (GNU variant; run on Windows through [Cygwin](https://cygwin.com/install.html) or WSL)
* `coreutils`, `unzip`, `wget` (install through package manager) * `coreutils` (GNU variant; install through package manager)
* `dmg2img` (install through package manager on Linux or WSL; let the script download it automatically on Cygwin) * `unzip` (install through package manager)
* `wget` (install through package manager)
* `dmg2img` (install through package manager on Linux, macOS, or WSL; let the script download it automatically on Cygwin)
Regular → Executable
+562 -288
View File
File diff suppressed because it is too large Load Diff