CuriousTommy reacted to fusion71au in Making a bootable High Sierra USB Installer Entirely From Scratch in Windows or Linux Mint (without access to Mac or App Store Installer.app)
Making a High Sierra USB Installer Entirely From Scratch in Windows
This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ). @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
8GB or larger USB drive Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
1) Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)
to a folder named "SharedSupport" on your Windows NTFS drive. A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...
2) Rename InstallESDDmg.pkg to InstallESD.dmg
3) Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
Note: You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
1. Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
2. Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
3. Restore 4.hfs to USB second partition with BDU ---> 2nd partition becomes bootable "OS X Base System"
Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed. Don't forget to apply the changes at the end...
Transmac to Copy "SharedSupport" folder to OS X Base System
1. Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder. Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
2. In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
Clover configuration is required now. The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky. If not, the hackintosh-vanilla-desktop-guide has some good explanations on the various settings available and also offers sample configuration files based on CPU type. Also, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
The location of the important configuration files for Clover are summarized below
config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here. You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware). In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine. Reboot the system to the USB installer to install High Sierra ...
What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app. In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
-bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/
...then start installation with the startosinstall utility...
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app
The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume. Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14.6_18G87
Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist
Note: In Mojave, Apple has removed the --converttoapfs NO and --applicationpath arguments from the startosinstall utility....
eg to use startosinstall for the above section "What happens if we don't have access to TransMac or Paragon Hard Disk Manager?", the syntax is now
-bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ Mojave.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD
This basically means that for Mojave, the default installation will always convert the target volume to the apfs file system.
CuriousTommy reacted to Donk in macOS Unlocker 2.1 for VMware Workstation 11/12/14, Player 7/12/14, Fusion 7/8/10
Unlocker 2.1 for latest VMware products.
Important message - ESXi 6.x support has been removed from the Unlocker as it is too unreliable. Several methods have been tried but they cause random disconnects of vCenter and failure of the hostd daemon. Support will be added back if and when a reliable method is found.
Please, please, please do NOT copy vmx or log files inline in a post. Always attach the log file as an attachment. It slows down the forum editor and puts a lot of junk in the actual post, and I cannot analyse unless it is a separate file. Alternatively post a link to a Gist.
Version 2.1.1 - http://www.insanelymac.com/forum/files/file/835-unlocker/
Please continue to use version 2.0.8 for ESXi 6.0.
macOS Unlocker for VMware V2.1 ============================== +-----------------------------------------------------------------------------+ | IMPORTANT: | | ========== | | | | Always uninstall the previous version of the Unlocker before using a new | | version. Failure to do this could render VMware unusable. | | | +-----------------------------------------------------------------------------+ 1. Introduction --------------- Unlocker 2 is designed for Workstation 11/12/14, Player 7/12/14, and Fusion 7/8/10. If you are using an earlier product please continue using Unlocker 1. Version 2 has been tested against: * Workstation 11/12/14 on Windows and Linux * Workstation Player 7/12/14 on Windows and Linux * Fusion 7/8/10 on macOS Sierra The patch code carries out the following modifications dependent on the product being patched: * Fix vmware-vmx and derivatives to allow macOS to boot * Fix vmwarebase .dll or .so to allow Apple to be selected during VM creation * Download a copy of the latest VMware Tools for macOS Note that not all products recognise the darwin.iso via install tools menu item. You will have to manually mount the darwin.iso for example on Workstation 11 and Player 7. The vmwarebase code does not need to be patched on macOS systems so you will see a message on those systems telling you that it will not be patched. In all cases make sure VMware is not running, and any background guests have been shutdown. The code is written in Python as it makes the Unlocker easier to run and maintain on ESXi. 2. Prerequisites ---------------- The code requires Python 2.7 to work. Most Linux distros and macOS ship with a compatible Python interpreter and should work without requiring any additional software. Windows Unlocker has a packaged version of the Python script using PyInstaller, and so does not require Python to be installed. 3. Limitations -------------- If you are using VMware Player or Workstation on Windows you may get a core dump. Latest Linux products are OK and do not show this problem. +-----------------------------------------------------------------------------+ | IMPORTANT: | | ========== | | | | If you create a new VM using version 11, 12 or 13 hardware VMware may stop | | and create a core dump. There are two options to work around this issue: | | | | 1. Change the VM to be HW 10 - this does not affect performance. | | 2. Edit the VMX file and add: | | smc.version = "0" | | | +-----------------------------------------------------------------------------+ 4. Windows ---------- On Windows you will need to either run cmd.exe as Administrator or using Explorer right click on the command file and select "Run as administrator". win-install.cmd - patches VMware win-uninstall.cmd - restores VMware win-update-tools.cmd - retrieves latest macOS guest tools 5. Linux --------- On Linux you will need to be either root or use sudo to run the scripts. You may need to ensure the Linux scripts have execute permissions by running chmod +x against the 2 files. lnx-install.sh - patches VMware lnx-uninstall.sh - restores VMware lnx-update-tools.cmd - retrieves latest macOS guest tools 6. macOS -------- On macOS you will need to be either root or use sudo to run the scripts. This is really only needed if you want to use client versions of macOS. You may need to ensure the macOS scripts have execute permissions by running chmod +x against the 2 files. osx-install.sh - patches VMware osx-uninstall.sh - restores VMware 7. ESXi ------- ESXi is no longer supported as there are too many errors on newer versions due to VMware hardening the ESXi image. 8. Thanks --------- Thanks to Zenith432 for originally building the C++ unlocker and Mac Son of Knife (MSoK) for all the testing and support. Thanks also to Sam B for finding the solution for ESXi 6 and helping me with debugging expertise. Sam also wrote the code for patching ESXi ELF files and modified the unlocker code to run on Python 3 in the ESXi 6.5 environment. History ------- 10/10/17 2.1.0 - New version to support ESXi 6.5, Workstation/Player 14 and Fusion 10 - Removed support for ESXi 6.0 - Added ESXi boot option to disable unlocker (nounlocker) 11/10/17 2.1.1 - Removed all support for ESXi 6.x (c) 2011-2017 Dave Parsons
CuriousTommy reacted to PippoX0 in VMQemuVGA display driver for OS X under VirtualBox
Good to know, i will give a try
sent from my iPhone
CuriousTommy reacted to Donk in Unlocker Next Steps
So I have now become semi-retired and have more time to go back to looking at the unlocker code. My plans are to start a 3.0 version which includes:
Specifically for Workstation 14 and Fusion 10 ESXi support 6.0-6.7 if possible Remove the non-Server check for versions 10.5 (Leopard) & 10.6 (Snow Leopard) Tools download needs to get 2 ISOs depending on the version of macOS running in the guest A simple way to bootstrap a new macOS High Sierra VM directly from Apple software download repos AMD for recent CPUs using CPUID masking techniques (will need volunteers with Ryzen systems)
Now this is not going to happen overnight as I am enjoying some freedom after 30+ years in the software industry and I have other projects both IT and non-IT related that will also take my attention.
Do you, the great InsanelyMac community, have any suggestions that I can look into for the future?
CuriousTommy reacted to darku in Insanely fast virtual Mac (QEMU, OVMF, Clover and native graphics)
See https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg04078.html. Latest QEMU from Git repository does not work with Clover for now.
See https://github.com/kholia/OSX-KVM/tree/master/UEFI for a possible solution.
CuriousTommy reacted to Kourindou Hime in Skylake HD530 IGD passthrough QEMU almost working (memory fix?)
Part 1. Motivation. (skip to part 2 if you're already motivated enough)
The idea of this build is to run OS with discrete GPU for gaming (or other GPU intense stuff) and have OS X with integrated intel GPU (IGD) running at the same time.
Part 2. The real thing.
Hello, I had fun time putting technologies into magical cauldron and managed to passthrough Intel Skylake HD 530 graphics to Sierra in QEMU. And it works ?! But I hate a few things about it... memory management part for example. Let's get right to the business, here's a 1 minute video of booting Sierra with qemu.git, seabios.git, pc-i440fx, ubuntu 17.10, 4.13.0-19-generic, x-igd-opregion=on:
Good news! Video was filmed with only 8GB RAM assigned to VM. Increasing RAM gave more usable VRAM, now there can be few apps and Flurry screensaver running, until I switch menus 10 times or so (then it vomits again). Unfortunately I can test only with 15GB, the rest 1GB is left for ubuntu hypervisor).
So what should I do? I guess there are two choices:
1. Get a 2nd module of DDR4 of any size, sacrifice it to linux hypervisor, and try to assign full 16GB to VM (at least there are no issues while running bare metal with that amount).
2. Patching AppleIntelSKLGraphics.
GPU works flawless with linux guest (drm says it gives 4gb to gpu, I've tried running sketches from shadertoy, it didn't die), so I believe it's some memory management issue in AppleIntelSKLGraphics kexts.
Part 3. Environment.
kernel 4.13.0-19-generic (was installed with ubuntu, didn't compile),
Boot GPU is IGD,
BIOS DVMT 1024MB,
grub kernel boot args "vfio_iommu_type1.allow_unsafe_interrupts=1 intel_iommu=on video=vesafb:off,efifb:off modprobe.blacklist=i915,snd_hda_intel"
Qemu command line:
qemu-system-x86_64 -enable-kvm -m 14000 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on \ -bios /root/seabios/out/bios.bin \ -machine pc \ -smp 4,cores=2 \ -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \ -smbios type=2 \ -device vfio-pci,host=00:02.0,bus=pci.0,addr=0x2,x-igd-opregion=on \ -drive id=disk0,file=/dev/disk/by-id/ata-PLEXTOR_PX-128,if=none \ -drive id=disk1,file=/dev/disk/by-id/ata-Hitachi_HDT,if=none \ -drive id=disk2,file=/dev/disk/by-id/ata-ST31000333AS,if=none \ -device ahci,id=ahci \ -device ide-drive,drive=disk0,bus=ahci.0 \ -device ide-drive,drive=disk1,bus=ahci.1 \ -device ide-drive,drive=disk2,bus=ahci.2 \ -drive format=raw,file=/dev/disk/by-id/usb-JetFlash_Transcend_8GB \ -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \ -nographic \ -usb -usbdevice host:2a7a:0c18 \ -usb -usbdevice host:0a12:0001 \ -vnc 0.0.0.0:1,password=off \ -vga none \ -chardev file,id=seabios,path=/tmp/bios.log \ -device isa-debugcon,iobase=0x402,chardev=seabios \ Part 4. Notes.
Clover should be installed to MBR, so Seabios can boot from it.
"+invtsc,vmware-cpuid-freq=on" fixes CPU speed
"-device ahci,id=ahci" is a must, I couldn't boot with default IDE controller from pc-i440fx
IGD passthrough worked for me only with pc-i440fx + seabios from git. Didn't work with q35 + ovmf.
"x-igd-opregion=on" is required for IRL display output.
Please help! ?
CuriousTommy reacted to tilllt in OSX in QEMU / KVM (Kholia Tutorial ) - No Network
i have installed OSX Sierra in a KVM / QEMU VM on my Ubuntu, following the Kholia OSX Guide: https://github.com/kholia/OSX-KVM
Install went smooth and i can boot OSX without problems, even using the boot-macOS-HS.sh - which supposedly is for High Sierra but seems to work fine with Sierra. Reason for using the High Sierra start script is that i preferred Clover over Enoch Bootloader since i am familiar with Clover.
The main problem i am stuck with is setting up the Network. None of the outlined ways work for me, neither User Networking with Slirp nor with TAP device, not with Bridged mode. The OSX guest does not have a Network device at all. Anyone has an Idea what i can do to get a network device into OSX that is compatible with either of the Networking methods?
Next step would be setting up the accelerated graphics (vmware) adapter ... ultimately i want to be able to use FCP7 in the VM...
CuriousTommy reacted to tilllt in Success stories with GVT-g or primary GPU passtrough?
Ok, i got my Gigabyte Aero 15 to replace my ancient Macbook(s) Pro. Since i still need to finish up some old FCP7 Projects, i need OSX running with Graphics acceleration. Unfortunately the Aero 15 - although it features a nice GTX1060, is still using Optimus grahics switching. So i am waging the options, as mentioned in my other thread here: http://www.insanelymac.com/forum/topic/329903-osx-in-qemu-kvm-kholia-tutorial-no-network/
So i followed the Kholia Guide and i got Sierra running. I have the virtio-net virtual Network Card running, next thing is graphics.
I am waging my options between:
1. GVT-g shared Intel Graphics with the internal Intel 630 GPU.
2. Passthrough of the primary Intel GPU, running on a headless Lubuntu Hypervisor.
As you can imagine, both options have Pros and Cons. I'd love to hear a success story for either one, since both options are not really well documented and i am not sure if i am knowledgeable enough to function as a guinea pig for this setup process. The main doubts about Option 1 is that i am not sure if it is usable already or rather a proof-of-concept still. In any case it would mean to use VNC as a protocol for viewing the Guest output, since not even SPiCE is implemented yet...
Some relevant Infos:
CuriousTommy reacted to Republicus in Insanely fast virtual Mac (QEMU, OVMF, Clover and native graphics)
I am having a heck of a time getting my USB Controllers to work in my VM. I see others are having success. Can someone help?
I have successfully passed the controllers into the VM, both show up in DCPIManager.
1) Integrated USB controller 82801JI (ICH10 Family) EHCI Controller #2
DCPIManager says it is loading AppleUSBEHCIPCI.kext
But OS X sees nothing attached. No power to devices.
2) VIA Technology USB 3.0 (native support)
DCPIManager says it is loading AppleUSBXHCIPCI.kext
A USB flash drive works fine. The drive is mounted and ejects fine.
An apple mouse does not. I plug in the mouse and it blinks red a couple times and then stops blinking.
A Microsoft webcam (native support) appears attached but continually disconnects and I am seeing, when attempting to use the video/audio, on my host logs:
Nov 19 00:42:06 pve kernel: DMAR: DRHD: handling fault status reg 2 Nov 19 00:42:06 pve kernel: DMAR: [INTR-REMAP] Request device [04:00.0] fault index 1f [fault reason 34] Present field in the IRTE entry is clear Nov 19 00:42:06 pve kernel: DMAR: DRHD: handling fault status reg 102 None of these problems are present on my windows VM with nearly identical config. Both USB controllers work flawlessly. Every device attached to them work flawlessly. And I know these devices work when attaching them to my physical hack.
My video and audio (also ICH10) are working via passthrough into Sierra.
I believe its a DSDT issue because I am also having problems when passing USB devices/ports individually without PCI passthrough. No devices appear under the standard USB IO names EHCI/UHCI/XHCI in ioreg.
Also the devices do appear to be powered up in Clover. The problems happen when loading Sierra.
I don't know what else to try. Please let me know if you can think of anything I can try. Thanks!