Jump to content
qrzx

Has anyone attempted to boot with stock Apple bootloader?

22 posts in this topic

Recommended Posts

Just curious.

 

One of the drawbacks for me (as a perfectionist I guess) of building a Hackintosh is having to use a third-party bootloader to start the system. I know, this isn't bad, it isn't going to make it much slower, but for me it's just a thing.

 

I've been doing a little bit of research into the stock Apple bootloader and stumbled onto this Wiki page:

https://en.wikipedia.org/wiki/BootX_(Apple)

 

Of course this is the older version (PowerPC), but it does have a reference to the new Intel EFI bootloader (reference #4: https://web.archive.org/web/20080706145146/http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html

 

I have searched this forum and haven't found anything definitive. So I just wanted to ask: has anyone attempted to boot from a modified Apple bootloader? If not, what are the main reasons this won't work?

 

 

More notes:

 

I've heard that one of the reasons this is not possible is because motherboards lack HFS+ support. Is it possible however to have the bootloader load the HFS driver?

 

No, I don't have good access to an actual Mac, so I haven't done any experimentation myself.

 

Yes, I have a satisfactory knowledge of operating systems, I know generally what a bootloader does, and if you throw jargon at me I'll understand it, or at least try to - so don't be afraid to post very technical comments

Share this post


Link to post
Share on other sites
Advertisement

I think this topic has learning purpose :)

 

Bootloader is a step from BIOS to OS.

BootX is a step from PowerPC BIOS (Firmware) to PowerPC MacOS.

Darwin bootloader is a first Apple's loader for Intel Macs. It was modified for Hackintosh use and got a name "Chameleon v1".

New Macs started directly from EFI BIOS. Like Oz.

Clover has EFI modules to adopt UEFI PC BIOS for booting MacOSX on non-Mac hardware.

UEFI PC BIOS has lacks of:

1. Some EFI protocols needed for boot.efi.

2. Serial numbers accepted by MacOSX

3. HFS+ support

4. Device Properties needed for graphics, sound, LAN etc.

and more.

(Oz is reduced Clover to fit into BIOS chip)

Share this post


Link to post
Share on other sites

I've heard that one of the reasons this is not possible is because motherboards lack HFS+ support. Is it possible however to have the bootloader load the HFS driver?

 

Beside that would be against any good UEFI practise, the bootloader itself is on a HFS+ drive, so letting it load the HFS+ driver would be quite a challenge. ;)

 

Darwin bootloader is a first Apple's loader for Intel Macs. It was modified for Hackintosh use and got a name "Chameleon v1".

 

Nah, boot-132 was never used on Macs, it came from the Intel Transition Kit they shipped to devs. Old Macs used BootX, new Macs always used boot.efi

 

And as joe said, Oz is not [just] ("just" is from the quote, but it isn't at all) a reduced Clover... Slice, I'm gonna give you "EBL" as a hint, should ring some bell.  ;)

 

Also, the only actively developed "boot loader" now is Chameleon. Ozmosis is a Platform Driver and Clover a... well, in the UEFI world there is no name for it, I would call it a Boot Manager with driver characteristics? Anyway it is not an "OS Loader" - UEFI's word for bootloader.

Oz is the closest you will get for now. 

Share this post


Link to post
Share on other sites

I bet  OP mean boot picker.. However to implement boot picker need to add many of efi protocols and resources, so this is irrational idea at all. Also apple products uses uga console to draw graphics, and I'm not sure that GOP will compatible with internal graphics applications from apple fv

Share this post


Link to post
Share on other sites

By OP he means the thread creator.

 

@topic Apple's BootPicker is nothing but a dull GUI, it has nothing to do with protocol exposure. Next, the idea is not irrational but already happening as OS X is obviously booting fine. Finally, Apple doesn't use UGA for quite some while now, even though there still is support.

Share this post


Link to post
Share on other sites

 and Clover a... well, in the UEFI world there is no name for it, I would call it a Boot Manager with driver characteristics? Anyway it is not an "OS Loader" - UEFI's word for bootloader.

 

Strictly speaking Clover just call boot.efi that is topic question "stock Apple bootloader"  B)

Share this post


Link to post
Share on other sites

Thanks everyone for the replies  :yes:

I'll look into all the references and links.

 

Slice - I'll take a closer look at Clover and how it works when I have the time... really interested in what kind of adaptations are necessary to boot OS X.

 

Also, do you think it's possible to build some kind of bootstrapper that will launch the native OS X bootloader from UEFI?

Does Clover already do this? If so, would it be possible to boot the native OS X bootloader from Clover?

 

Again, just curious. Will play around with the idea more seriously when I have good hardware  :rofl:

Share this post


Link to post
Share on other sites

Curious about this as well.

 

Just clarifying -- the OS X boot picker (with the disks) is part of the BIOS, not the bootloader, correct?

Share this post


Link to post
Share on other sites

Okay... it's more complicated than I thought.

I didn't realize the disk picker was part of BIOS and not the bootloader. I had the impression it was part of the EFI image.

Share this post


Link to post
Share on other sites

Why would the boot disk selector be part of the local OS X bootloader? That wouldn't make any sense and would mean an OS X installation is required to boot any OS... BootPicker is just Apple's equivalent of the Boot Manager on UEFI boards.

Share this post


Link to post
Share on other sites

The question is about OS selector? Bootcamp?

I think it is possible to change Clover GUI (refit) to Apple's GUI. The job is about 1000 man*hours.

Share this post


Link to post
Share on other sites

Well my original intent was to figure out how much stock Apple software could be used... including boot selector, bootloader, etc.

But I guess it's impossible (or nearly impossible) to extract code from Apple's BIOS...  :blush:

 

I'm sure there are Clover themes that mimic Apple boot selector?

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 dgsga
      Can I propose a new subforum be created for the new OpenCorePkg OpenCore front end being created by vit9696 and others, it is a fantastic piece of work:
      https://github.com/acidanthera/OpenCorePkg
      Even at version 0.1 it runs my Mojave 10.14.4 setup very nearly flawlessly. It consists of a 10KB bootstrap BootX64.efi and a 200KB OpenCore.efi OS loader. All configuration is done using a very well documented config.plist 
       
       
    • By cvad
      View File Bootdisk Utility
      Make bootable USB Flash Disk for MAC OS X with Latest Clover bootloader revision fast and easy by one click! under OS Windows.
      Special utility from cvad & russian MAC community for new hackintosh users.
       
      Enjoy...
       
      For more information and complete instructions please see this topic.
       
       
       
       
      Feel free to "Rate File"
      Submitter cvad Submitted 04/28/2013 Category Bootloaders  
    • By ErmaC
      Slice is glad to present a new EFI bootloader.

      CLOVER
      Now version 2 rEFIt based.


      It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
      I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
      https://sourceforge.net/projects/cloverefiboot/?source=directory
      There is a WIKI 
      http://clover-wiki.zetam.org/
      Main features:


      If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
      Continued by blackosx and STLVNUB.
      Post#2 CloverGrower - create Clover by yourself Post#3 Downloads Post#4 Installation of the bootloader Post#5 How to do UEFI boot Post#6 How to use - common words Post#7 Calculator for Automatic DSDT fix Post#8 Instructions for GraphicsInjector Post#9 ATIConnector patching Post#10 Any kexts patching with some Samples Post#11 CustomEDID Post#12 Hiding unnecessary menu entries Post#13 Instruction for DSDT corrections to do DeviceInjection works Post#14 Development Post#15 Themes Post#16 About kexts injection Post#17 Instructions for P- and C-states generator Post#18 Patching DSDT to get Sleep working Post#19 CPU settings and geekbench Post#20 ACPI tables loading Post#21 DSDTmini Post#22 Custom SMBios Post#23 F.A.Q. Post#24 iCloudFix Post#25 Using mouse. Post#26 How to make orange icons to be metallic Post#27 How to make software RAID (by Magnifico) Post#28 How to modify InstallESD.dmg (by shiecldk) Post#29 Config.plist settings Post#30 Using extra kexts and skipping kernelcache Post#31 Choosing EFI drivers Post#32 Configuration files Post#33 Automatic config.plist creating Post#34 Custom DSDT patches Post#35 How to do sleep/wake working with UEFI BOOT Post#36 DeviceID substitution (FakeID) Post#37 Using Custom OS Icons Post#38 Hibernation Post#39 Floating regions Post#41 Property List Editor Post#42 Blocking Bad Kext Post#43 AAPL,slot-name Post#44 FakeCPUID for unsupported CPU Post#45 Multiple Boot Options - to write into UEFI BIOS boot menu Post#46 How to install Windows UEFI Post#47 How to speedup Clover boot Post#48 Info.plist patching Post#49 Arbitrary device injection Post#50 Non-Standard Legacy Boot Files Post#51 Reboot to Windows UEFI from Mac OSX Post#52 Deprecated Features Post#53 Using UDK2018 Post#54 Device Properties Post#55 Scalable themes Post#56 How to search Clover mistakes (bisection) -----------------
       
      Slice:
      I edited all posts in the thread to correspond to actual Clover revision.
      Please install Clover at least 2652 and use new instructions.
    • By Slice
      OK, 4988 released.
      Now, @vector sigma, what have we do to update translations?
×