Author Topic: [SOLVED] Where is the EFI BIOS code (and source), exactly?  (Read 2217 times)

0 Members and 1 Guest are viewing this topic.

tempolo

  • Member
  • Posts: 82
    • My own Hackintosh page
[SOLVED] Where is the EFI BIOS code (and source), exactly?
« on: June 15, 2009, 09:46:03 AM »
As far as I understand, Chameleon works because it provides an EFI emulator (and "BIOS") to the OS X kernel, so that the kernel can read from disk etc. in its early boot stage.
On a Mac, the OS X kernel would find this EFI BIOS in the ROM - on a Hackintosh, it's provided by the boot loader. Is that correct?

If so, where do I find this EFI stuff, exactly? It's not inside of "boot2", is it? At least, I could only find Apple source code in that source folder, and I'm sure Apple is not releasing the source of their EFI ROMs that way.

« Last Edit: June 15, 2009, 09:57:26 AM by tempolo »

tempolo

  • Member
  • Posts: 82
    • My own Hackintosh page
Re: Where is the EFI BIOS code (and source), exactly?
« Reply #1 on: June 15, 2009, 09:54:39 AM »
I think I found it:

In the 1.0.11 source: i386/libsaio/fake_efi.c

And that code gets included by boot2. Hence, it's inside the "boot" file, as I had expected. Good :)

Oddly, though, it does not supply disk read functions, as it seems. A PC BIOS would do that.

Hmm, I guess the kernel is more self-sufficient as I thought.

I somewhat expected the EFI interface to be more complex. Glad to see it's so compact.

« Last Edit: June 15, 2009, 09:56:22 AM by tempolo »

markswell

  • Guest
Re: [SOLVED] Where is the EFI BIOS code (and source), exactly?
« Reply #2 on: July 04, 2009, 12:35:46 PM »
are you compile source?
i try to simply type make files generated okey but size is smaller.
who knows how to compile chameleon from sources. developers please write some phrase about this.

zhell

  • Member
  • Posts: 46
Re: [SOLVED] Where is the EFI BIOS code (and source), exactly?
« Reply #3 on: July 04, 2009, 10:02:20 PM »
The distributed files have a theme embedded, therefore the boot file is much larger than what you get if you just run "make". Try "make embedtheme"