Christoph Pfisterer Posted August 30, 2006 Share Posted August 30, 2006 I've put together a script and kit to extract firmware images (attached below). It includes an EFI application to dump the firmware ROM to a file on Intel Macs. Instructions are inside the archive. Have fun. xfv_1.zip Link to comment Share on other sites More sharing options...
bofors Posted August 30, 2006 Author Share Posted August 30, 2006 Thanks Christoph, if you are interested in joing the MacEFIx86 team please tune into our IRC channel: server: irc.r-type.ca channel: MacEFIx86.dev Link to comment Share on other sites More sharing options...
Christoph Pfisterer Posted August 30, 2006 Share Posted August 30, 2006 Followup to my own post: after I was pointed at the Intel BIOS updates on IRC, I updated xfv to dissect those, too: xfv_2.zip Link to comment Share on other sites More sharing options...
sbeehre Posted August 30, 2006 Share Posted August 30, 2006 awesome chris! cant wait to see what in my firmware Link to comment Share on other sites More sharing options...
sbeehre Posted August 30, 2006 Share Posted August 30, 2006 ok we have extracted a couple of intel firmware capsule's! one for the DP965LT MB and one for the D945GNT series. The info can bee seen on the wiki here http://osx86box.net/efidev/index.php/Capsules i have also updated the xfv release and added a ppc binary for people using ppc macs. xfv_3.zip Link to comment Share on other sites More sharing options...
mifki Posted August 31, 2006 Share Posted August 31, 2006 Nice work guys, gonna do it tonite on my D975XBX, Oh and simon i wonder where you got your avatar from i like it Link to comment Share on other sites More sharing options...
mifki Posted August 31, 2006 Share Posted August 31, 2006 Ok, we are now working on a tool to get the proper names for the efi files. There are still many more that need to be extracted that havent shown up as modules but they have shown up in the CFML file. I presume that this i becuase the extractor app is only an early build. Hoping to get a full set of modules for our boards Link to comment Share on other sites More sharing options...
Orea Posted August 31, 2006 Share Posted August 31, 2006 I have an 1st edition mac mini mobo at home here, it's been siting around for ages as my uncle works for apples hardware department and gets lots of little things from apple, i dont know if it works but it did, it was from a intel core solo, so! Umm.. i dont t know if this help, but i thought i would offer it Regards Bayliss Link to comment Share on other sites More sharing options...
Rammjet Posted August 31, 2006 Share Posted August 31, 2006 A posting on macintouch.com: Brian Marsh offered some thoughts on Mac Pro video card compatibility: The limited number of "Mac Intel" compatible cards is not due to Apple dragging their heels... (at least not completely Apple). This is a case of ATI and nVidia (and other X86 OS, and the motherboard makers) not supporting EFI in most video cards. Hopefully this will play out like USB did, and everyone else will jump on EFI quickly. Only time will tell though. So at the moment for a video card to work in the Mac Pro for example, it must have firmware that specifically supports EFI (rather than traditional BIOS). Link to comment Share on other sites More sharing options...
nekton Posted September 1, 2006 Share Posted September 1, 2006 Could someone with access to a MacPro that has a high-end Radeon in it (1900XT, etc.) take a couple of hi-resolution shots of the back and front face with a digital camera and post them? I really want to see if the architecture is clearly different from a PC version or if it is "just" some efi firmware written in ROM. To be really useful, the shots need to be with the heatsink removed but if that is too much to ask, I'll understand! If the hardware is the same and only the content of ROM that is different, it may be possible to flash a PC card with the efi firmware like the PC version of the 9800 Pro could be modded to a Mac version. Link to comment Share on other sites More sharing options...
myzar Posted September 1, 2006 Share Posted September 1, 2006 A posting on macintouch.com: Now that's funny blaming Nvidia And ati for retarded apple decision to use a retarded and non standard Bios Link to comment Share on other sites More sharing options...
bofors Posted September 2, 2006 Author Share Posted September 2, 2006 Thanks for the offer Bayliss, sounds interesting. Link to comment Share on other sites More sharing options...
mifki Posted September 2, 2006 Share Posted September 2, 2006 Bayliss, i have already Pm'ed you about it, thankyou very much for offering Kiko Link to comment Share on other sites More sharing options...
Orea Posted September 2, 2006 Share Posted September 2, 2006 Me and kiko have been talking + plus a little help from uncle, The mobo from the mac mini doesnt work, probaly due to the amount use it other things that it has done! I will try to locate a working mac mini, im not sure, but i think i have one at school some where i have seen it working, if i do see it, i will sneek in and do a little extracting from it hehe Any way i would like to join the project! its sounds like a great idea what your doing and would like to offer my expertise in anyways possible! If you need to talk, my email and stuff is on my profile, and blog! Thanks BaYlisS Link to comment Share on other sites More sharing options...
Moop Posted September 4, 2006 Share Posted September 4, 2006 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/downloads/macosx/appl...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. I take it simply (which I use half-jokingly) extracting, piecing apart and ultimately reverse-engineering the aforementioned iMac Core Duo firmware update (which likely contains a stand-alone version of its firmware) alone isn't going to yield the results this forum is after...right? Link to comment Share on other sites More sharing options...
Moop Posted September 4, 2006 Share Posted September 4, 2006 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/downloads/macosx/appl...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. I briefly glanced over the other forum (flashing Apple's Firmware onto existing EFI boards), but for some reason I didn't have permission to reply or comment. In any event, I read over the issue about Apple's EFI having issues with DIMMs (as the Mac mini, MacBook Pro, and iMac all use SO-DIMM, and unfortunately, the firmware to those machines are the only ones with easily accessible firmware) as it was designed to use SO-DIMMs only. It would appear as though, as logical as it sounds to take the firmware of say, the iMac and reverse-engineer and/or ready an existing EFI-compatible board to accept said iMac firmware, it might make more sense to forget about the iMac/MacBook Pro/Mac mini firmware and try to go for extracting the Mac Pro's firmware. RAM aside, hardware-wise the iMac and Mac mini are both, essentially laptops. Hardware-wise, any hackintosh that we'd ever put together will, hardware-wise, be quite different from a laptop. The Mac Pro is a desktop, for that reason, my guess is that its firmware is the closest to what we'd want to hack, reverse engineer, or otherwise screw with. Unfortunately, its firmware isn't posted on Apple's site...at least not yet...so this could be a problem in terms of simply obtaining it. I could be completely wrong and what I'm saying could be completely stupid; in terms of EFI, its specific technology and how to hack/navigate it, I'm a moron. All I know is that EFI is what Apple is now using instead of OpenFirmware and that it is going to replace the BIOS whenever Microsoft gets off its ass and recodes Windows for it. But it's just a thought. Link to comment Share on other sites More sharing options...
Tom H Posted September 6, 2006 Share Posted September 6, 2006 We should only be flashing firmware on graphics cards! The Apple cards apparently have a big enough EEROM for both BIOS and EFI, does anyone know if if it is the "next size up" or the same size as the latest Windows/BIOS cards. BTW, Apple cut $100USD off their ATI X1900 card price, how much more is that than a generic Windows version? At some point we should say "WTF" and just buy Apple's card! Facts and figures, please... Link to comment Share on other sites More sharing options...
sbeehre Posted September 7, 2006 Share Posted September 7, 2006 ok this solution looks like its the goods! and we need developers!! developers!! developers!! anyway if there are any c++ coders out there that can help with this then PLEASE come aboard and talk to us in the #MacEFIx86.dev irc channel on r-type.ca The problem is that the EFI shell, as every EFI application, expects to be passed a pointer to the EFI System Table and an EFI_HANDLE to its LoadedImage protocol. But using legacy boot through INT19 you won't be able to get those arguments. However, I think there's a way to get things working, but it's complicated. It involves writing a trampoline boot sector that "speaks" INT19 (see the Sample implementation for a sample boot floppy boot sector). This sector will point to a trampoline program. This trampoline program needs to do the following: 1. Switch to 32-bit mode. 2. Locate the EFI Shell on the floppy (or the USB key, but I don't know how to write a boot sector for a USB key). 3. Locate the EFI_SYSTEM_TABLE_POINTER structure in memory (see section 16.4.2 of the EFI spec). 4. Using the EFI_SYSTEM_TABLE_POINTER structure, find a pointer to the EFI System Table. 5. Use this pointer to invoke the LoadImage() and StartImage() boot services manually. Doing this way you will invoke the shell correctly using a legacy boot. You just have to configure your BIOS so it boots from the floppy first. Link to comment Share on other sites More sharing options...
supermegatron Posted September 7, 2006 Share Posted September 7, 2006 A company called insydeh20 makes efi firmware maybe we can pick a it guys brain from there. Link to comment Share on other sites More sharing options...
TheMaxx32000 Posted September 8, 2006 Share Posted September 8, 2006 If have got a Laptop with Insyde H2O BIOS CSM but I haven't find a way to load an EFI shell... I tried renaming and copying Intel's Shell.efi to bootia32.efi and copy it in differnet folders on my USB-Stick which is formated as a superfloppy. Doesn't seem to work... Link to comment Share on other sites More sharing options...
sbeehre Posted September 8, 2006 Share Posted September 8, 2006 If have got a Laptop with Insyde H2O BIOS CSM but I haven't find a way to load an EFI shell... I tried renaming and copying Intel's Shell.efi to bootia32.efi and copy it in differnet folders on my USB-Stick which is formated as a superfloppy. Doesn't seem to work... yeah i have tried all the same things and it doesnt work because h20 have set it up so its only capable of legacy boot and will not try and boot any efi os's... the devs at Tianocore are thinking about including a floppy disk with the solution i mentioned above in the EDK. Link to comment Share on other sites More sharing options...
abcslayer Posted September 10, 2006 Share Posted September 10, 2006 Sorry. MacPro's using Intel Pro chipset series which is designed to used with Xeon not normal series (945p/g/gl/gm/pm,...) So iMac or Macbook is the correct target right now (the radeon knowledge is essential). Link to comment Share on other sites More sharing options...
Moop Posted September 10, 2006 Share Posted September 10, 2006 Sorry. MacPro's using Intel Pro chipset series which is designed to used with Xeon not normal series (945p/g/gl/gm/pm,...) So iMac or Macbook is the correct target right now (the radeon knowledge is essential). I get that, but it would appear that we'd have an easier time building hackintoshes based on a desktops (as our hackintoshes would be desktops) than it would be building hackintoshes based on laptops. The iMac (both Core Duo and Core 2 Duo editions), the MacBook and MacBook Pro are all laptops, sure they have the correct chipset...but it's not like we're gonna go out and build a Merom-based hackintosh with laptop SDRAM. Though given your point, I'd say Apple did a good job of making machines be as very different from the average hackintosh as they possibly could. It'll be one hell of a challenge either way. The other thing is that the present iMac chipset (whatever it is) doesn't appear as though it'll be around on the market much longer at the rate Intel is going. Again, I could be and probably am totally wrong about this; I've only been following up so much. That having been said, I'd love to help, but I don't know where I could start; I don't know {censored} about the EFI in the iMac beyond the basics. Link to comment Share on other sites More sharing options...
bofors Posted September 10, 2006 Author Share Posted September 10, 2006 I take it simply (which I use half-jokingly) extracting, piecing apart and ultimately reverse-engineering the aforementioned iMac Core Duo firmware update (which likely contains a stand-alone version of its firmware) alone isn't going to yield the results this forum is after...right? Actually, I think I think it is going great. There has been an amazing amount progress lately and I think the MacEFIx86 team (there are several people working hard on this, unfortunately I am not one of them) well be running EFI on Intel boards within a few weeks. In any event, I read over the issue about Apple's EFI having issues with DIMMs (as the Mac mini, MacBook Pro, and iMac all use SO-DIMM, and unfortunately, the firmware to those machines are the only ones with easily accessible firmware) as it was designed to use SO-DIMMs only. Now that we know that the Intel EFI boards are running rather normal looking EFI firmware (with a BIOS CSM) and are able to extract the Intel firmware into the component pieces this no longer should be a concern. Essentially all we are talking about doing is adding Apple's EFI drivers (or just executing them) to the base Intel EFI firmware. While the technical details are still being worked out, it looks very straight forward. EFI's modular design should make this sort of thing relatively easy. Link to comment Share on other sites More sharing options...
abcslayer Posted September 11, 2006 Share Posted September 11, 2006 Must say sorry again, Moop. Please read the MacPro spec more and you will know that machine use FB-DIMM DDRAM, this high-end memory will take a long time before it dominates the desktop market (notice our target is laptop, desktop not focus much on server or high-end workstation as the price and effort to build an Hackint0sh like those higher than the Apple's one). THe 945g/p/ or mobile version (GM/PM/GMS) is only different in config. registers that make them work in low voltage and support some mobile power management schemes). Link to comment Share on other sites More sharing options...
Recommended Posts