Jump to content

-Archive- Macefix86 2006 -Archive-


  • This topic is locked This topic is locked
442 replies to this topic

#1
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
EFI Learning, Documentation and Toolkits: Find, post and discuss EFI related resources

This thread is for general reference information and advanced technical issues with the EFI toolkits available from the likes of Intel and the Tiancore project. MacEFIx86 toolkits and specific application goals should be discussed their respective threads.



:D Intel EFI online tutorial (highly recommended):
Using the EFI Shell: http://or1cedar.cps....sp?courseID=172

Intel EFI training videos (free registration required):
Introduction to EFI OS Loaders: http://or1cedar.cps....sp?courseID=169
Introduction to Programming in EFI: http://or1cedar.cps....sp?courseID=170
Introduction to the EFI Tookit: http://or1cedar.cps....sp?courseID=171

These seem to be the two most important EFI pages:
http://www.intel.com/technology/efi/
https://www.tianocore.org/

EFI application details:
Intel's EFI Presentations page: http://www.intel.com...ogy/efi/efi.htm

Other EFI references:
Amit Singh's EFI overview (excellent): http://www.kernelthr...tions/firmware/
The Wikipedia EFI page: http://en.wikipedia....mware_Interface
OSx86Project's EFI Wikipag: http://wiki.osx86pro...i/index.php/EFI
OnMac.net's EFI Wikipage: http://wiki.onmac.ne.../Developers/EFI


EFI Toolkits

Intel EFI Application Toolkit: http://www.intel.com...it_overview.htm

Intel EFI Sample Implementation: http://www.intel.com...main_sample.htm

TianoCore EFI Development Kit (EDK): https://edk.tianocore.org/

TianoCore EFI Shell: https://efi-shell.tianocore.org/

#2
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
Posted Image

Welcome to the MacEFIx86 Project!

This thread is for the discussion of the MacEFIx86 Project's motivation and goals


EFI is the Extensible Firmware Interface that Intel has designed to replace BIOS. EFI is also the firmware system that Apple is using on all x86 Macintoshes. For more information on EFI and links to references see our EFI Learning, Documentation and Toolkits thread: http://forum.osx86pr...showtopic=17917

The continued use of BIOS for OSx86 while Apple builds on EFI will likely result in a difficult series of technical problems for the OSx86 community. Furthermore, we wish to be able to use graphics drivers like Apple's ATI x1600 which require EFI environment. We also ultimately want to be able to use Macintosh firmware feartures like BootCamp, BootSelector and Target Disk Mode on our machines. In short, we want to build more perfect Macintosh clones by using EFI just like Apple. For more information, on why we should be working on EFI and also opposing arguments see our Why People Should Work On EFI thread: http://forum.osx86pr...showtopic=13493

The MacEFIx86 Project has been formed to bring people together who are interested in moving beyond the limitations of the BIOS environment when running OSx86. We view this as a long term project that will be near the core of OSx86 community development effort. We have established three goals:

Extracting Apple's EFI firmware: http://forum.osx86pr...showtopic=18011

Booting EFI OS's on a BIOS Platform: http://forum.osx86pr...showtopic=17932

EFI Motherboards, Flashing and Native Booting: http://forum.osx86pr...showtopic=17930


:D

Join the MacEFIx86 Project, we can use everyone's help!

#3
rogabean

rogabean

    My Mac wants you!

  • Retired Developers
  • 863 posts
  • Location:Orlando, FL (U.S.A.)
Aye! Welcome from Rogabean as well.

Bofors is getting the forum in line while I prepare the first release of the environment from which we are working.

Please excuse our dust.

We need more people as well. I will be posting soon with a list of people I need at the moment for this project.

#4
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
Extracting Apple's EFI firmware: Omni got it and we want it

A sub-goal of this project is find a technique to abstract the EFI firmware from Intel Macintoshes in the form of .efi modules. Omni was able to get a copy of radeon.efi, so we know this is possible. Alternatively, Intel Macintosh EFI firmware is freely downloadable from Apple itself and it certainly is possible to unarchive it to the .efi modular form.


Some of Apple's EFI firmware: http://www.apple.com...eupdate101.html

Wim's BIOS Page and forum has a lot of potentially useful information and knowledgeable people: http://www.wimsbios.com/

Use this thread to discuss the possibility of extracting and examining the Apple EFI Firmware.

#5
rogabean

rogabean

    My Mac wants you!

  • Retired Developers
  • 863 posts
  • Location:Orlando, FL (U.S.A.)
Specifically what we are in need of right now are the boot files being used to tell the system how to boot OS X. It is quite possible that Apple has reworked the EFI firmware to read HFS+ partitions, but that is unconfirmed.

We need to see how this puppy really works.

#6
rogabean

rogabean

    My Mac wants you!

  • Retired Developers
  • 863 posts
  • Location:Orlando, FL (U.S.A.)
My first request of anyone would be to sit at the EFI shell prompt on the Intel mac and issue a drivers command and give me a listing of the output.

it will be more then one page... so drivers -b will break it up. for now I don't need the memory addresses, just the driver name and image name.

#7
rollfaster

rollfaster

    InsanelyMac Protégé

  • Members
  • PipPip
  • 58 posts
Saw this on some tech blog:

http://www.osxbook.c...efiprogramming/

May be of use, or not, just thought I'd add it.

RF

#8
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
Thanks, that is another EFI resource from Amit Singh, "EFI Programming on Mac OS X".

It is also useful to note that he has compiled his own EFI toolkits for both PPC and x86 OS X which are linked on that page.

#9
anomaly256

anomaly256

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts
I've managed to dump the output from the drivers command using the efi shell on my macbook pro 15", however, for some reason it truncates the output to an 80 column width, despite having run 'mode 180 47' before hand. output as follows, let me know if you need anything else. more than happy to experiment.

EDIT: Output attached to post as DriversDump.rtf

In order to get the -full- guid image names, here's the output from 'dh' for the device handles. these map to the start of the image names from the previous 'drivers' output:

EDIT: Output attached to post as HandlesDump.rtf

Attached Files



#10
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
Hey Anomaly, thanks for posting your data. I put the dumps into attached text files so the thread is easier to read.

Is there anyway you could post some instructions on how to get into the EFI Shell on a Intel Mac?

We also trying to figure out how to save the loaded EFI drivers as .efi files, this is something you may be able to figure out with a little experimentation.

#11
manchmod

manchmod

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts
its trivial to get to the EFI shell with reFit (http://refit.sf.net) I still can't get their EFIAppLoader.efi to write the current firmware out from there. I'm thinking its going to be easier to extract the bin files. I decided to work on something else for the weekend (convertmake) I'll come back to this in a week or so when i feel up to unpacking PE binaries.

Glad to help anyone else who wants to try tho :)

-manch

#12
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

I've managed to dump the output from the drivers command using the efi shell on my macbook pro 15", however, for some reason it truncates the output to an 80 column width, despite having run 'mode 180 47' before hand. output as follows, let me know if you need anything else. more than happy to experiment.

EDIT: Output attached to post as DriversDump.rtf

In order to get the -full- guid image names, here's the output from 'dh' for the device handles. these map to the start of the image names from the previous 'drivers' output:

EDIT: Output attached to post as HandlesDump.rtf



Here is a relate page at Intel: http://www.intel.com...ice_handles.htm

#13
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
The rEFIt Project is another resoure: http://refit.sourceforge.net/

rEFIt is a boot menu and maintenance toolkit for EFI-based machines like the Intel Macs. You can use it to boot multiple operating systems easily, including triple-boot setups with Boot Camp. It also provides an easy way to enter and explore the EFI pre-boot environment

Apparently, it also provides easy EFI Shell access on Intel Macs.

#14
Kiko

Kiko

    You Dont Understand Me

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,889 posts
  • Gender:Female
  • Location:United States Of Israel
So what exactly are we doing here?
Are we emulating EFI or are we hacking the Mobo firmware to enable it.

#15
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

Are we emulating EFI?


Yes, we are working on emulating EFI on BIOS boards.

or are we hacking the Mobo firmware to enable it.


Sort of, we are also interested in flashing Apple's EFI firmware on to Intel EFI boards.

#16
anomaly256

anomaly256

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts
As manchmod said, I'm using rEFIt to run the efi shell (aswell as other things). I've been pretty busy at work lately, a deadline for our current project is getting close so I haven't had much free time to play around with efi. However I have some free time coming up soon and will gladly devote my time to trying to pull this stuff apart :)

I'll post anything I find here.

One thing in particular I would like to pull out of the firmware is the ATI 'vbios' driver that bootcamp uses so I can preload it for enabling 3d acceleration when booting using elilo instead of having to boot standard lilo through bootcamp and losing the framebuffer support

#17
Kiko

Kiko

    You Dont Understand Me

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,889 posts
  • Gender:Female
  • Location:United States Of Israel
Ok i did not know that this project existed. For the past few months i have been hacking my mobo firmware to try and enable the EFI chipp that is already onboard (All boards that use the Intel 945 chipset support EFI).

The only problem is that no mobo maker wants to enbale it :D

I think that it would be much more useful to work on enabling this EFI chip instead of trying to emulate it. I do not think the BIOS will be able to Emulate it properly, and i also think taht it would take much more time to emulate it as we would have to initiate the Emualtion before booting an OS.

I was also thinking (and hoping) that the mobo manufacturers would release an udae to support EFI (i dont know why this would happen, maybe a petition of sorts (but that is just stupid, no?))

#18
gwprod12

gwprod12

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 2,326 posts
  • Gender:Male
  • Location:Seattle, Washington
I think that the EFI specification has much larger room for low-level drivers. BIOS chips are purdy small.

Isnt the point of EFI to get away from 1985 technological limitations in Bios?

#19
Kiko

Kiko

    You Dont Understand Me

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,889 posts
  • Gender:Female
  • Location:United States Of Israel
Sorry i didnt read above, yes i know taht we want to flash apples EFI onto intel boards. This is a very good idea. but if we had to do so we would still haver to enable the EFI from the ground up. instead of having a CD environment.

#20
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

This is a very good idea. but if we had to do so we would still haver to enable the EFI from the ground up.


I think there is mass confusion on the issue of "enabling" EFI. In short, EFI is not "disabled" on Intel's boards, but rather the normal EFI firmware emulates BIOS.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy