Jump to content

Osx86 USB Maker and Utilities for Linux (Without a MAC)

15 posts in this topic

Recommended Posts

Hi, i started a project to bring the task of creating bootable usb on Linux, in a script form.

It's similar to Pandora, but i wrote it from scratch. As of now it lacks a GUI, and i lack GUI coding skills :P.

It can be usefuel for:


-People without access to a real MAC.

-People without Virtualization support in CPU for VM

-People with their OS X installation unbootable (you can avoid installing in VM to create Installer, you can create create Installer directly and faster).

-People needing to restore their original MAC (not possible yet, in TODO list, i'd need a tester and i'd probably need work with GUID partitioning. I don't know if real MACs can boot MBR USB).

-People who want to do it with Linux because they just want to :P.


The script is currently in testing, if you want to try it out please understand i'll take no responsibility for wiped hard drives or data loss, but i'll help you as i can if you experience any problem.
However, i made several tests on both Virtual Machines and real Hardware (and different PCs) with no problem at all, using 10.6/10.7/10.8/10.9 dmg files.


  • Creates a bootable installation usb drive, starting from dmg files (InstallESD.dmg or Mac OS X Install DVD.dmg). CD to USB is implemented, but not tested.
  • Creates osx86 installation HDD images starting from dmg file, those are suitable for VMs. (SEE NOTES BELOW)
  • Extracts a pkg or mpkg file (using "xar", which is self-compiled by the script)
  • Converts dmg files to img (using "dmg2img", which is self-compiled by the script)
  • After the media is ready, you can re-run the tool to access the management menu. It allows:
    • Kext Management
    • Chameleon Modules Management
    • Kernel Management
    • Chameleon repair/update
    • (Re)apply MBR patch
    • (Re)install Smbios
    • (Re)install DSDT
    • Erase Setup (to wipe ALL the usb data and restore the drive to normal use)
  • Logging to html, with ansi2html utility by running "install_osx_log.sh" with same parameters you'd use with normal one


NOTE: all the commands below must be used without [] charachers. [] indicate you have to change the content according to your needs and specific case!!

NOTE: use ./install_osx_quiet.sh to avoid really verbose output.


How to setup files:


You need obtain the following chameleon core files.

  • boot0
  • boot1h
  • boot

Place them in "chameleon" directory. You can either get those files from "i386" archives, or download the pkg and unpack it

sudo ./install_osx.sh <package.pkg> <destdir>

Where outputdir is a temporary location (not the "chameleon" folder!).

You'll find core files in /Core.pkg/usr/standalone/i386. Move the required files in "chameleon" directory.
Nolw you can delete as we don't need it anymore


Chameleon dylib modules go to "chameleon/Modules" (example Sata.dylib, Resolution.dylib, etc...).

You can manage them with "Manage chameleon Modules" menu option, in case you need to add/remove them later.


Chameleon Themes go to "chameleon/Themes" (chameleon will use the theme in folder named "Default" at boot, "chameleon/Themes/Default")



Place any kext (they are seen as directories on Linux) in "extra_kexts" directory.

You can manage them with "Manage kexts" menu option, in case you need to add/remove them later.


--MBR Patch--

Place the following files in "osinstall_mbr" directory

  • OSInstall
  • OSInstall.mpkg

They NEED to match the version on DMG, and the script will check that before copying. I plan to add a way to allow multiple filesets for each installer version.



Place them in "kernels" directory. They are not automatically installed, you need to invoke the management menu to swap mach_kernel or add a new kernel to root.
As of now kernels are copied as is. To replace main kernel you need to rename the desired kernel to "mach_kernel".

This allows multiple kernels on the same installation media.



If you leave the filenames as is and, let's say you have a file named "cust_kernel", you'll have to boot with: "cust_kernel" at chameleon prompt.



Single tweaks, stored in "tweaks" folder, that can extend the script (i plan to convert some internal function to tweak to make it more light-weight)

Example of tweak:

"Remove Graphic Kexts"

"Restore Graphic Kexts"


A tweak is like a plugin. If you want to add a tweak (if you are a developer), you must add the string

tweakname="My Tweak"

So that it will appear in the menu as "My Tweak" in the above example.

A tweak can use functions and variables exported from the main script (with "export")




How to extract a pkg/mpkg:

sudo ./install_osx.sh [pkgfile] [destdir]

How to prepare OSX86 usb


sudo blkid

To obtain info about your USB Drive (you need the id, Example /dev/sde)

sudo ./install_osx.sh [dmg path] [/dev/sdX]

where X is the letter you gathered above


How to prepare OSX86 image

sudo ./install_osx.sh [dmg path] [dest.img]

How to manage images and usb drives (management menu)

For USB drives:

sudo ./install_osx.sh [/dev/sdX]

For images

sudo ./install_osx.sh [imagefile]


You can get the script from https://github.com/smx-smx/osx86_linux, using git



git clone https://github.com/smx-smx/osx86_linux.git 

OR: You can use the github "Download ZIP" button


To check for script updates, just do

git pull

In script directory.



On Ubuntu/Mint:

sudo apt-get install cpio hfsprogs tput wget parted udisks qemu-utils build-essential zlib1g-dev
sudo apt-get build-dep dmg2img

I tested it on Arch Linux aswell, but i don't remember the complete set of dependencies i installed. if i recall correctly:

udisks - tput - hfsprogs(AUR) - wget - parted - cpio - qemu - base-devel - zlib


If you encounter  a regression in my script, you can downgrade with

git reset --hard HEAD~[number]

Where [number] is the number of updates to rollback, e.g 1 to return to previous version, 2 to roll-back 2 updates and so on. (please post any regression or bug)



WARNING: during my tests i found out the best deal is "img" raw format. If you specify VHD/VMDK/VDI your system may freeze or crash. This is due to software limitations on Linux. To work around this problem, i strongly recommend using "img" output if you need Installation Hard Disk images. The script will ask you if you want to convert to VDI/VMDK/VHD at the end of the process, after all the data has been flushed (Virtualbox required, as it contains the "vboxmanage" command, needed to convert img -> something_else).
Looks like the main cause of this problem is combining the FUSE NTFS driver with VDI/VMDK/VHD. You can try VDI/VHD/VMDK and post your result. I'll edit these warnings accordingly.
Using the Management Menu with an already created VHD/VDI/VMDK should be fine, as the data to be written is a lot smaller (as osx files are already there)


WARNING: When outputting the img, it's better to choose a drive with ext filesystem. AVOID NTFS DRIVES, they may perform very very slow or the script may hang. This is due to the ntfs-3g fuse driver. You can choose an ext4 drive, and move the resulting image at the end of the process.


WARNING: Some distributions may spit out errors during cp with "cp preserving permissions not supported". I have that problem on ArchLinux, but not on Mint. I suspect there's a regression in linux hfs+ driver. Anyway it should still work fine.


NOTICE: You need a lot of disk space for this script.

Example for USB:
InstallESD.dmg(5.3G) + InstallESD.img(5.4G) + BaseSystem.img(1.3G) = approx 12GB (only for setup data)

Example for VDI:

InstallESD.dmg(5.3G) + InstallESD.img(5.4G) + BaseSystem.img(1.3G) + mavericks.img(10G) + mavericks.vdi(6G) = approx 28GB (only for setup data)(18 after removing mavericks.img after conversion)


The img files are temporary! The script doesn't delete them so it can create USB pendrives faster the next time you run it. If you plan to use it once, or if you need to free some disk space, you CAN DELETE *.img and leave only the dmg file you started with.

Here's a look at the finished product, maverick with img converted to vdi option   :)




Real HW, Snow Leopard 10.6



Installers prepared from scratch with Linux and this script only.

Share this post

Link to post
Share on other sites

What is your trick to using the dmg2img? When I played with that it didn't work for me with Mavericks.

Share this post

Link to post
Share on other sites

Building the latest one from source (1.6.5). I get problems with older ones aswell.
The script downloads and builds it automatically, same for xar. That's done in compile_d2i() and compile_xar().

With this method permissions are preserved. I prepare an hfs+ partition without journal (journal not supported on Linux), and i copy all the data in there

Share this post

Link to post
Share on other sites

Weird. I also tried that version.


Some notes:


They NEED to match the version on DMG, and the script will check that before copying. I plan to add a way to allow multiple filesets for each installer version.


Instead of the filesets you can write (or use) a tool that patch the files.


Here's a look at the finished product, maverick with img converted to vdi option


It is not really needed to convert it for virtualbox. Just use the '.hdd' extension for the raw image.


git clone https://github.com/smx-smx/osx86_linux.git


Could you do a portable version that contains the scripts and the dependencies (in statically compiled way)? It could be more user friendly.

For example if the user just start a live linux and download your package, unpack it, run it, everything will work.

Share this post

Link to post
Share on other sites

I didn't know virtualbox supports .img files as .hdd, i used vdi as it uses less space btw.
About the compiling yes, i can bundle dmg2img and xar already built (i'll do that), but dependencies such as qemu_utils, cpio, tput and hfsprogs will still be needed. The script is interpreted by bash without the need to be built. You can get a zip from GitHub "Download ZIP" button without using git.

Pandora uses filesets aswell, i just looked into it.
To avoid them i'd need to diff patch -> original, and look what instruction (a jump i suppose) i need to change by doing an AOB (Array of Bytes) scan. I'll look at that

Share this post

Link to post
Share on other sites



Thanks for the script! I am trying to convert a dmg file from OSX Lion to an img file. I'm having an error when it tries to mount esd.

I am on Linux Mint 14.


Here is the output I get:

~/osx86_linux (master)$ sudo ./install_osx.sh ~/OSXLION/Contents/SharedSupport/InstallESD.dmg InstallESD.img
OSX Install Media Maker by SMX
Version: r23
Setting qemu-nbd dev...
Virtual HDD Image Mode
qemu-nbd: Found
FreeSpace:    13924327424
Needed:        10737418240
Checking Commands...
udisks: Found
grep: Found
tput: Found
dd: Found
sed: Found
parted: Found
awk: Found
mkfs.hfsplus: Found
wget: Found
dirname: Found
basename: Found
parted: Found
pidof: Found
gunzip: Found
bunzip2: Found
cpio: Found
Creating Image...
0+0 records in
0+0 records out
0 bytes (0  copied, 7.086e-06 s, 0.0 kB/s
Creating Partition Table on InstallESD.img...
Creating new Primary Active Partition on InstallESD.img
Model:  (file)
Disk /home/sylvain/osx86_linux/InstallESD.img: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.7GB  10.7GB  primary

Mapping virtual dev with qemu...
Formatting partition as HFS+
Initialized /dev/nbd0p1 as a 10239 MB HFS Plus volume
Mapping image with qemu...
Mounting Partitions...
mount: special device /dev/nbd1p2 does not exist
mount: special device /dev/nbd1p2 does not exist
mount: special device /dev/nbd1p3 does not exist
mount: special device /dev/nbd1p3 does not exist
Cannot mount esd

Any idea what is going on?

Share this post

Link to post
Share on other sites

I'll need to fixup it a little, but meanwhile try giving me the output of

$ 7z l <drag your DMG file>

Thanks! Here is the output:

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Listing archive: InstallESD.dmg

Path = InstallESD.dmg
Type = Xar

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
1970-01-01 01:00:00 D....                            Resources
1970-01-01 01:00:00 D....                            Resources/ar.lproj
2011-06-30 04:28:08 .....        24394         7061  Resources/ar.lproj/Localizable.strings
2011-06-30 04:28:08 .....          184          143  Resources/ar.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/cs.lproj
2011-06-30 04:26:46 .....        29108         7767  Resources/cs.lproj/Localizable.strings
2011-06-30 04:26:46 .....          210          152  Resources/cs.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/da.lproj
2011-06-30 05:02:23 .....        26685         7332  Resources/da.lproj/Localizable.strings
2011-06-30 05:02:23 .....          147          125  Resources/da.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/Dutch.lproj
2011-06-30 05:02:33 .....        23585         7453  Resources/Dutch.lproj/Localizable.strings
2011-06-30 05:02:33 .....          147          128  Resources/Dutch.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/English.lproj
2011-06-30 04:58:10 .....        18533         6756  Resources/English.lproj/Localizable.strings
2011-06-30 04:58:10 .....          125          113  Resources/English.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/fi.lproj
2011-06-30 05:00:27 .....        25576         7445  Resources/fi.lproj/Localizable.strings
2011-06-30 05:00:27 .....          192          136  Resources/fi.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/French.lproj
2011-06-30 05:02:39 .....        35089         8049  Resources/French.lproj/Localizable.strings
2011-06-30 05:02:39 .....          222          154  Resources/French.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/German.lproj
2011-06-30 05:02:53 .....        26940         7636  Resources/German.lproj/Localizable.strings
2011-06-30 05:02:53 .....          145          128  Resources/German.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/hu.lproj
2011-06-30 04:27:47 .....        31901         7897  Resources/hu.lproj/Localizable.strings
2011-06-30 04:27:47 .....          264          176  Resources/hu.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/Italian.lproj
2011-06-30 05:00:19 .....        22154         7300  Resources/Italian.lproj/Localizable.strings
2011-06-30 05:00:19 .....          134          118  Resources/Italian.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/Japanese.lproj
2011-06-30 05:00:03 .....        20601         6854  Resources/Japanese.lproj/Localizable.strings
2011-06-30 05:00:03 .....          172          154  Resources/Japanese.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/ko.lproj
2011-06-30 04:59:56 .....        19260         6900  Resources/ko.lproj/Localizable.strings
2011-06-30 04:59:56 .....          146          129  Resources/ko.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/no.lproj
2011-06-30 05:03:20 .....        27248         7465  Resources/no.lproj/Localizable.strings
2011-06-30 05:03:20 .....          200          138  Resources/no.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/pl.lproj
2011-06-30 05:04:05 .....        34541         8076  Resources/pl.lproj/Localizable.strings
2011-06-30 05:04:05 .....          218          153  Resources/pl.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/pt.lproj
2011-06-30 05:02:27 .....        28632         7699  Resources/pt.lproj/Localizable.strings
2011-06-30 05:02:27 .....          280          172  Resources/pt.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/pt_PT.lproj
2011-06-30 05:00:08 .....        28622         7608  Resources/pt_PT.lproj/Localizable.strings
2011-06-30 05:00:08 .....          242          156  Resources/pt_PT.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/ru.lproj
2011-06-30 05:02:26 .....        31310         7963  Resources/ru.lproj/Localizable.strings
2011-06-30 05:02:26 .....          196          149  Resources/ru.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/Spanish.lproj
2011-06-30 05:02:49 .....        31287         7827  Resources/Spanish.lproj/Localizable.strings
2011-06-30 05:02:49 .....          256          157  Resources/Spanish.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/sv.lproj
2011-06-30 05:00:18 .....        28529         7488  Resources/sv.lproj/Localizable.strings
2011-06-30 05:00:18 .....          220          150  Resources/sv.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/tr.lproj
2011-06-30 04:29:51 .....        29819         7557  Resources/tr.lproj/Localizable.strings
2011-06-30 04:29:51 .....          230          159  Resources/tr.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/zh_CN.lproj
2011-06-30 05:00:25 .....        15772         6604  Resources/zh_CN.lproj/Localizable.strings
2011-06-30 05:00:25 .....          122          108  Resources/zh_CN.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            Resources/zh_TW.lproj
2011-06-30 05:00:12 .....        15654         6548  Resources/zh_TW.lproj/Localizable.strings
2011-06-30 05:00:12 .....          118          104  Resources/zh_TW.lproj/VolumeCheck.strings
1970-01-01 01:00:00 D....                            InstallMacOSX.pkg
2011-06-30 19:45:50 .....       247954        44076  InstallMacOSX.pkg/Bom
2011-06-30 19:45:51 .....      5315194      5315194  InstallMacOSX.pkg/Payload
2011-06-30 19:45:51 .....         1669         1669  InstallMacOSX.pkg/Scripts
                    .....         2210          563  InstallMacOSX.pkg/PackageInfo
2011-06-30 09:09:45 .....   3737470542   3737470542  InstallMacOSX.pkg/InstallESD.dmg
2011-06-30 09:41:35 .....         7866         2597  Distribution
                    .....        56061        56061  [TOC].xml
------------------- ----- ------------ ------------  ------------------------
                            3743680906   3743057089  51 files, 24 folders

Share this post

Link to post
Share on other sites

this looks good.  Havent tried it yet.  Deosnt see to difficult.  I wonder though how to edit the usb after creating it, if say it doesnt install and i need to get at some kexts for example?

Share this post

Link to post
Share on other sites

I'm sorry if this tool hasn't been updated, but i've been busy lately.
Yes, it doesn't work for Yosemite onwards (yet :))
I hope i can get back to this sooner or later and update it but i could need a rewrite of the code (or parts of it), as it's a bit hacky/messy in some areas.

@lizbeth: the script has an edit mode, you can re-run it with the device it was installed to as second argument, and it will provide an edit menu, like this:

sudo ./install_osx.sh /dev/sdXY

where sdXY is the device the installer was created on. You should see something like this

Choose an operation...
1  - Manage kexts
2  - Manage chameleon Modules
3  - Manage kernels
4  - Reinstall / Update chameleon
5  - Install / Reinstall MBR Patch
6  - Install / Reinstall Custom DSDT
7  - Install / Reinstall SMBios
8  - Erase Setup
9  - Delete Kext Cache
10 - Tweaks Menu
0 - Exit

Share this post

Link to post
Share on other sites


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By 5kr1p7
      Just installed Mojave 10.14.1 (guided by the Shaneee tutorial) and faced a number of problems:
      Annoying USB related errors loop when system boot (if anyone got this just wait longer). Entering commands in single user mode commands was really challenging with screen full of errors Reboot/shutdown doesn't work (after lines in console just black screen. Need to push reset/power button) Computer doesn't wake up after sleep Browser are crashing on some web pages (Safari and Chrome on same pages (can't login on rutracker.org for example))  
      USB error:
      ... 2019-04-02 23:52:57.982767+0300 0x1adc     Default     0x0                  0      0    kernel: (AppleUSBEHCI) 000122.778171 UHC4@53000000: AppleUSBEHCI::StopUSBBus: USBSTS.HCHalted did not set as expected: USBCMD 0x00010030 USBSTS 0x00004008 2019-04-02 23:52:57.982779+0300 0x1ad3     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.778184 UHC6@56000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000010 2019-04-02 23:52:57.985297+0300 0x1ad3     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.780706 UHC6@56000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:57.985320+0300 0x1ad3     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.780730 UHC6@56000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000008 2019-04-02 23:52:57.985339+0300 0x1ad3     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.780750 UHC6@56000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:58.021308+0300 0x1ad1     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.816718 UHC2@52000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000010 2019-04-02 23:52:58.023653+0300 0x1ad1     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.819066 UHC2@52000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:58.023664+0300 0x1ad1     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.819078 UHC2@52000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000008 2019-04-02 23:52:58.023673+0300 0x1ad1     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.819087 UHC2@52000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:58.088634+0300 0x1ad7     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.884043 UHC4@53000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000010 2019-04-02 23:52:58.091464+0300 0x1ad7     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.886874 UHC4@53000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:58.091481+0300 0x1ad7     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.886893 UHC4@53000000: AppleUSBHostController::hardwareExceptionThreadCallGated: 0x00000008 2019-04-02 23:52:58.091495+0300 0x1ad7     Default     0x0                  0      0    kernel: (IOUSBHostFamily) 000122.886909 UHC4@53000000: AppleUSBHostController::hardwareExceptionThreadCallGated: attempting recovery 2019-04-02 23:52:58.092790+0300 0x1ad8     Default     0x0                  0      0    kernel: (AppleUSBEHCI) 000122.888199 UHC6@56000000: AppleUSBEHCI::StopUSBBus: USBSTS.HCHalted did not set as expected: USBCMD 0x00010030 USBSTS 0x00004008 2019-04-02 23:52:58.131032+0300 0x1ae4     Default     0x0                  0      0    kernel: (AppleUSBEHCI) 000122.926440 UHC2@52000000: AppleUSBEHCI::StopUSBBus: USBSTS.HCHalted did not set as expected: USBCMD 0x00010030 USBSTS 0x00004008 2019-04-02 23:52:58.196398+0300 0x1ae9     Default     0x0                  0      0    kernel: (AppleUSBEHCI) 000122.991807 UHC4@53000000: AppleUSBEHCI::StopUSBBus: USBSTS.HCHalted did not set as expected: USBCMD 0x00010030 USBSTS 0x00004008 ...  
      Can anyone who fixed theese issues share kexts archive, config.plist, kernel newer than the manual? My PC specs in signature.
    • By outdoormagic
      Short Version:
      I have two drives with the exact same EFI folder (and I can boot into Clover from either one), shouldn't I be able to boot into MacOS from either one?
      More Detail:
      I've done a few hacks so far and this never happened. (Gigabyte z370 / 8700k / Vega, Asus z390 / i5-9600k / 1080). Now, I'm setting up a ThinkPad X1 Gen 6. (Yes, I do expect problems on laptops, but that's not the question).
      Mojave 10.14.4 now boots from the internal SSD. So far, so good. Here's the problem.
      I installed Mojave on a USB drive (for backup / rescue) and copied the entire EFI partition of my boot drive to the EFI partition on the USB drive. So... I should be able to boot from the USB drive, right? Wrong. Ran Clover installer on the USB itself. Same outcome.
      With F12, I can boot from the USB into Clover and select the OS on the USB. The boot sequence hangs on End Random Seed, but before the usual '++++++++' line.
      So, boot into Clover on internal boot drive, then select OS on USB. Same thing.
      Read the forums, I saw the posts about AptioMemoryFix, so I tried the various other drivers on the USB. No go.
      I haven't found the solution yet to the USB boot issue, but what puzzles me is that if I have two drives with the exact same EFI folder (and I can boot into Clover from either one), shouldn't I be able to boot into MacOS from either one?
    • By lzm010409
      I have a panic report, just after I logged in and I don't know how to fix it. So I ask you to help me to fix my problem.
      In the following lines is my panic report. I've already reinstalled the usb 3.0 drivers, cleared the nvram and some other things...
      I hope someone has some ideas to fix my problem. 
      Anonymous UUID:       F2BC1821-9579-45D3-5EF2-2AA16EE73FA3
      Sat Mar 30 21:25:45 2019
      *** Panic Report ***
      panic(cpu 0 caller 0xffffff800d86e2e1): "USB3.0 Hub[0x1000002e2]::terminate(kIOServiceSynchronous) timeout\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu/xnu-4570.71.2/iokit/Kernel/IOService.cpp:2297
      Backtrace (CPU 0), Frame : Return Address
      0xffffff81fab9ba20 : 0xffffff800d26c1c6 
      0xffffff81fab9ba70 : 0xffffff800d395274 
      0xffffff81fab9bab0 : 0xffffff800d387544 
      0xffffff81fab9bb20 : 0xffffff800d21e1e0 
      0xffffff81fab9bb40 : 0xffffff800d26bc3c 
      0xffffff81fab9bc70 : 0xffffff800d26b9fc 
      0xffffff81fab9bcd0 : 0xffffff800d86e2e1 
      0xffffff81fab9bd30 : 0xffffff800d871e17 
      0xffffff81fab9bdb0 : 0xffffff7f8e09a884 
      0xffffff81fab9bdd0 : 0xffffff7f8eaadf2b 
      0xffffff81fab9be10 : 0xffffff7f8eab4271 
      0xffffff81fab9be50 : 0xffffff7f8eab4e1d 
      0xffffff81fab9beb0 : 0xffffff7f8eaace99 
      0xffffff81fab9bed0 : 0xffffff800d2a5844 
      0xffffff81fab9bf40 : 0xffffff800d2a53a5 
      0xffffff81fab9bfa0 : 0xffffff800d21d557 
            Kernel Extensions in backtrace:
                  dependency: com.apple.iokit.IOPCIFamily(2.9)[AEA4C7F5-CCB0-338B-B471-CF28A9792522]@0xffffff7f8da94000
                  dependency: com.apple.iokit.IOUSBHostFamily(1.2)[CE61D704-9BFF-308E-BC1C-56FF071DBB74]@0xffffff7f8dfb3000
                  dependency: com.apple.driver.usb.AppleUSBCommon(1.0)[E7111D99-B893-3F96-9741-71C88BC6F66B]@0xffffff7f8dfab000
                  dependency: com.apple.iokit.IOUSBFamily(900.4.1)[2837DD62-F2B0-3357-A164-D44FEF6810E0]@0xffffff7f8e05d000
      BSD process name corresponding to current thread: kernel_task
      Boot args: -v nvda_drv=1 uia_exclude=HS07;HS08;HS09;HS10;HS11;HS12;USR1;USR2;SS01;SS02;SS07;SS08;SS09;SS10 
      Mac OS version:
      Kernel version:
      Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64
      Kernel UUID: 1AE5ACFD-3B6F-3D74-AD52-31F1430DBC6F
      Kernel slide:     0x000000000d000000
      Kernel text base: 0xffffff800d200000
      __HIB  text base: 0xffffff800d100000
      System model name: iMac17,1 (Mac-B809C3757DA9BB8D)
      System uptime in nanoseconds: 372729949124
      last loaded kext at 363369268564: com.apple.driver.usb.IOUSBHostHIDDevice    1.2 (addr 0xffffff7f8f994000, size 45056)
      last unloaded kext at 189799024800: com.apple.driver.AppleIntelLpssGspi    3.0.60 (addr 0xffffff7f8ef55000, size 45056)
      loaded kexts:
      com.insanelymac.IntelMausiEthernet    2.4.0
      net.osx86.kexts.GenericUSBXHCI    1.2.11
      as.vit9696.WhateverGreen    1.2.6
      as.vit9696.Lilu    1.3.4
      com.rehabman.driver.USBInjectAll    0.6.5
      org.netkas.driver.FakeSMC    1787
      com.apple.filesystems.msdosfs    1.10
      com.apple.filesystems.autofs    3.0
      com.apple.driver.ApplePlatformEnabler    2.7.0d0
      com.apple.driver.AGPM    110.23.37
      com.apple.driver.X86PlatformShim    1.0.0
      com.apple.iokit.CSRBluetoothHostControllerUSBTransport    6.0.7f10
      com.apple.driver.AirPort.Atheros40    700.74.5
      com.apple.filesystems.ntfs    3.13
      com.apple.driver.AppleUpstreamUserClient    3.6.5
      com.apple.driver.AppleMCCSControl    1.5.5
      com.apple.AGDCPluginDisplayMetrics    3.20.13
      com.apple.driver.AppleIntelPCHPMC    2.0.1
      com.apple.driver.AppleOSXWatchdog    1
      com.apple.driver.AppleHV    1
      com.apple.iokit.IOUserEthernet    1.0.1
      com.apple.iokit.IOBluetoothSerialManager    6.0.7f10
      com.apple.driver.pmtelemetry    1
      com.apple.Dont_Steal_Mac_OS_X    7.0.0
      com.apple.driver.eficheck    1
      com.apple.driver.Apple16X50ACPI    3.2
      com.apple.driver.AppleIntelSlowAdaptiveClocking    4.0.0
      com.apple.filesystems.hfs.kext    407.50.6
      com.apple.AppleFSCompression.AppleFSCompressionTypeDataless    1.0.0d1
      com.apple.BootCache    40
      com.apple.AppleFSCompression.AppleFSCompressionTypeZlib    1.0.0
      com.apple.AppleSystemPolicy    1.0
      com.apple.iokit.SCSITaskUserClient    404.30.2
      com.apple.driver.AppleUSBLegacyHub    900.4.1
      com.apple.filesystems.apfs    748.51.0
      com.apple.driver.AppleAHCIPort    329.50.2
      com.apple.driver.AppleRTC    2.0
      com.apple.driver.AppleACPIButtons    6.1
      com.apple.driver.AppleHPET    1.8
      com.apple.driver.AppleACPIEC    6.1
      com.apple.driver.AppleSMBIOS    2.1
      com.apple.driver.AppleAPIC    1.7
      com.apple.nke.applicationfirewall    183
      com.apple.security.TMSafetyNet    8
      com.apple.security.quarantine    3
      com.apple.driver.usb.IOUSBHostHIDDevice    1.2
      com.apple.driver.usb.cdc    5.0.0
      com.apple.driver.usb.networking    5.0.0
      com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2
      com.apple.driver.IOBluetoothHIDDriver    6.0.7f10
      com.apple.kext.triggers    1.0
      com.apple.iokit.IO80211Family    1200.12.2
      com.apple.driver.corecapture    1.0.4
      com.apple.driver.AppleSMBusController    1.0.18d1
      com.apple.iokit.IONDRVSupport    519.20
      com.apple.iokit.IOBluetoothHostControllerUSBTransport    6.0.7f10
      com.apple.iokit.IOBluetoothHostControllerTransport    6.0.7f10
      com.apple.iokit.IOAVBFamily    680.2
      com.apple.plugin.IOgPTPPlugin    680.15
      com.apple.iokit.IOEthernetAVBController    1.1.0
      com.apple.driver.AppleSSE    1.0
      com.apple.iokit.IOSurface    211.15
      com.apple.iokit.IOBluetoothFamily    6.0.7f10
      com.apple.driver.X86PlatformPlugin    1.0.0
      com.apple.driver.IOPlatformPluginFamily    6.0.0d8
      com.apple.driver.Apple16X50Serial    3.2
      com.apple.iokit.IOSerialFamily    11
      com.apple.vecLib.kext    1.2.0
      com.apple.AppleGPUWrangler    3.20.13
      com.apple.AppleGraphicsDeviceControl    3.20.13
      com.apple.iokit.IOGraphicsFamily    519.20
      com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0
      com.apple.iokit.IOUSBMassStorageClass    4.0.4
      com.apple.iokit.IOUSBHIDDriver    900.4.1
      com.apple.driver.AppleUSBComposite    900.4.1
      com.apple.filesystems.hfs.encodings.kext    1
      com.apple.driver.usb.AppleUSBHostPacketFilter    1.0
      com.apple.iokit.IOSCSIMultimediaCommandsDevice    404.30.2
      com.apple.iokit.IOBDStorageFamily    1.8
      com.apple.iokit.IODVDStorageFamily    1.8
      com.apple.iokit.IOCDStorageFamily    1.8
      com.apple.iokit.IOAHCISerialATAPI    267.50.1
      com.apple.iokit.IOAHCIBlockStorage    301.40.2
      com.apple.iokit.IOAHCIFamily    288
      com.apple.iokit.IOUSBFamily    900.4.1
      com.apple.driver.usb.AppleUSBXHCIPCI    1.2
      com.apple.driver.usb.AppleUSBXHCI    1.2
      com.apple.driver.AppleEFINVRAM    2.1
      com.apple.driver.AppleEFIRuntime    2.1
      com.apple.iokit.IOSMBusFamily    1.1
      com.apple.iokit.IOHIDFamily    2.0.0
      com.apple.security.sandbox    300.0
      com.apple.kext.AppleMatch    1.0.0d1
      com.apple.driver.DiskImages    480.60.1
      com.apple.driver.AppleFDEKeyStore    28.30
      com.apple.driver.AppleEffaceableStorage    1.0
      com.apple.driver.AppleKeyStore    2
      com.apple.driver.AppleUSBTDM    439.70.3
      com.apple.driver.AppleMobileFileIntegrity    1.0.5
      com.apple.iokit.IOUSBMassStorageDriver    140.70.2
      com.apple.iokit.IOSCSIBlockCommandsDevice    404.30.2
      com.apple.iokit.IOSCSIArchitectureModelFamily    404.30.2
      com.apple.iokit.IOStorageFamily    2.1
      com.apple.driver.AppleCredentialManager    1.0
      com.apple.driver.KernelRelayHost    1
      com.apple.iokit.IOUSBHostFamily    1.2
      com.apple.driver.usb.AppleUSBCommon    1.0
      com.apple.driver.AppleBusPowerController    1.0
      com.apple.driver.AppleSEPManager    1.0.1
      com.apple.driver.IOSlaveProcessor    1
      com.apple.iokit.IOReportFamily    31
      com.apple.iokit.IOTimeSyncFamily    680.15
      com.apple.iokit.IONetworkingFamily    3.4
      com.apple.driver.AppleACPIPlatform    6.1
      com.apple.driver.AppleSMC    3.1.9
      com.apple.iokit.IOPCIFamily    2.9
      com.apple.iokit.IOACPIFamily    1.4
      com.apple.kec.pthread    1
      com.apple.kec.Libm    1
      com.apple.kec.corecrypto    1.0
      Model: iMac18,2, BootROM, 4 processors, Intel Core i5, 3,50 GHz, 16 GB, SMC 2.40f0
      Graphics: NVIDIA GeForce GTX 970, NVIDIA GeForce GTX 970, PCIe
      Memory Module: BANK 0/DIMM1, 8 GB, DDR4, 2400 MHz, G Skill Intl, F4-2400C15-8GNT
      Memory Module: BANK 1/DIMM1, 8 GB, DDR4, 2400 MHz, G Skill Intl, F4-2400C15-8GNT
      AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x30A4), Atheros 9287:
      Bluetooth: Version 6.0.7f10, 3 services, 26 devices, 1 incoming serial ports
      Network Service: Ethernet, Ethernet, en0
      PCI Card: NVIDIA GeForce GTX 970, Display Controller, Slot-1
      Serial ATA Device: SAMSUNG HD502HI, 500,11 GB
      Serial ATA Device: HL-DT-ST DVDRAM GH24NSD1
      Serial ATA Device: ST1000DM003-1SB10C, 1 TB
      Serial ATA Device: SPCC Solid State Disk, 120,03 GB
      USB Device: USB 3.0 Bus
      USB Device: USB Device
      USB Device: CSR8510 A10
      USB Device: G533 Gaming Headset
      Thunderbolt Bus: 
    • By MaLd0n
      ---Original Post---
      ---CLOVER FOLDER---
      GigaByte Z390 M Gaming

      Intel Core i9-9900K

      CoolerMaster MasterLiquid ML120R RGB

      Corsair Dominator Platinum 16GB (2 x 8GB)

      Sapphiretech Radeon RX 590 8 GB GDDR5

      Samsung 970 EVO NVMe M2 Flash Drive

      EVGA 750 N1, 750W

      TP-Link Archer T9E

      Orico BTA-403

      Thermaltake View 21 Tempered Glass Edition

      --DSDT Patches--

      --USB-C-- test with SanDisk Ultra USB-STICK 128gb

      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
      We're all here to have fun and learn from each other!
    • By viktr
      Please help - cannot install mojave on the gb z370n wifi, 8700, 2x samsung 970 nvme, rx570
      Downloaded latest clover and kexts and installation hangs at the beginning.
      Got some errors at boot (during clover boot, before menu appears) then boot "Mojave install" and then it stuck. Please help. Tried to turn off all fixes, tried old apfs.efi instead of apfsdriverloader - all with no success. Maybe it's a known issue and I'm just doing something completely wrong?