I have been trying to use Hackboot to install OSX Mavericks in VirtualBox, and using an ISO image created by following the steps at How to create bootable ISO for OS X Mavericks

The steps I have taken:

  1. Attach HackBoot1.iso, disable EFI for the VirtualBox guest and boot up
  2. Hackboot starts up. Attach the OS X Mavericks bootable ISO image
  3. Hackboot complains

Can't find /mach_kernel

Booting up directly from the ISO with EFI enabled also fails.

How can I install OS X Mavericks using either Hackboot, or to boot up directly from the ISO image?

If your host system is OS X, you can follow the instructions on: http://ntk.me/2012/09/07/os-x-on-os-x/

Requirement:
- Install OS X.app purchased in Mac App Store
- iesd

VirtualBox Settings:
- Operating System Version: Mac OS X (64 bit)
- Base Memory: 2048 MB (larger is better)
- Enable EFI

In the lastest VirtualBox, all the default settings work well. Some people encountered black screen upon booting the virtual machine. They reported that changing the default chipset ICH9 to PIIX3 fixes this issue.

  1. Prepare Install Disk

    gem install iesd
    

    iESD requires ruby-1.9.2 or later.

  2. Yosemite & Mavericks: The the new InstallESD.dmg is not bootable. Therefore, we need to create a bootable install disk with BaseSystem.dmg.

    iesd -i /Applications/Install\ OS\ X\ Mavericks.app -o Mavericks.dmg -t BaseSystem
    
  3. All Macs using Intel Haswell CPU (Macs after 2013) need to fake their CPU as Ivy Bridge in order to boot the virtual machine. Thank @danmccombs for this tip.

    VBoxManage modifyvm <vmname> --cpuidset 00000001 000306a9 00020800 80000201 178bfbff
    

    On Mac Pro Early 2009 and other Macs that have ECC memory, AppleTyMCEDriver.kext will cause a kernel panic during the boot. Thus we need to remove it.

    iesd -i /Applications/Install\ OS\ X\ Mavericks.app -o Mavericks.dmg -t BaseSystem --uninstall-extension AppleTyMCEDriver.kext
    
  4. Mountain Lion & Lion: The lastest VirtualBox does not require modifying InstallESD.dmg any more. However, if your virtual machine was freezed during the boot process due to AppleIntelCPUPowerManagement.kext, you need to install NullCPUPowerManagement.kext.

    iesd -i /Applications/Install\ OS\ X\ Mountain\ Lion.app -o Mountain\ Lion.dmg --install-extension NullCPUPowerManagement.kext
    
  5. The install process is same as normal OS X install on Mac

  • 3
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – grg Oct 25 '13 at 19:09
  • 1
    "Macs using Intel Haswell CPU (Macs after 2013) currently have an issue that prevents booting, which is caused by Mavericks' new Xnu CPU Power Management." Does a documented workaround of this issue exist? – Dust Dec 21 '13 at 0:45
  • @Dust Did you ever find a workaround for the "not booting on recent Macs" issue? – funroll Feb 19 '14 at 19:20
  • 1
    @funroll There is a workaround in the link above (now). – staffan Jun 3 '14 at 12:11
  • I was able to create the disk image and boot the installer just fine. However the installer failed after selecting the disk with undefined error. See screenshot imgur.com/nu40UcF – orkoden Jun 12 '14 at 12:49

I was having problem with @Mark's answer exactly where he says - Install OS X.app purchased in Mac App Store.

Turns out to get that, you need to open Mac AppStore, hold Alt, go to Purchased tab, select to download your older OS X, and release the key.

(Tried to comment this on his answer but I don't have enough reputation to do that)

Source: Where May I (legally) get a Mac OS X .iso File to Virtualize OS X?

Maybe be you can't boot directly from ISO with EFI enabled, and you need a compatible version to start with HackBoot. That depends on your host, I have the previous 3 OSX versions installed in windows host using diff HackBoot versions.

Anyway you can copy mach_kernel to your ISO's root, it is inside System/Installation/Packages/BaseSystemBinaries.pkg; use 7z to extract it, fount it at Payload/Payload~/./mach_kernel

Now, HackBoot1 isn't working for me...

Press F5 in the hackboot screen to refresh the disk, then press enter. It doesn't automatically refresh.

I read somewhere that booting straight into HackBoot2 might solve the problem. Perhaps you could try that.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.