Jump to content

Possible EFI Implementation booting trought EFI Intel toolkit


133 posts in this topic

Recommended Posts

good call. tho i do understand if people are scared to do it due to privacy / getting-sued-to-smithereens issues. one dude has leaked the mach_kernel, extensions and atsserver but wont leak the whole image. fair enough really. but someone should, sooner or later :)

Link to comment
Share on other sites

I'm tired of all this theory...

So am I.

Really this is quite discouraging to have all the EFI levers ready for use without the main thing – the OS...

From what I have learned on booting those Intel EFI diskette-images and playing with all the tools they have I am almost sure now that dual-booting is real not only for Vista. But for now I just wait for the possibility to prove it...

Link to comment
Share on other sites

so, IN THEORY, we have already gotten past and cracked EFI?

Could someone explain how to make a bootable floppy image? With everything needed to emulate EFI. I will convert it to bootable cd for those interested.

 

also, i have a question. What about the drivers? EFI talks to the os and controls the hardware directly, from what i understand. But the drivers that allow this to happen, do they come from the OS, or from EFI, or what? Could someone explain that?

 

Also, am i right in summarizing the following:

We are, through BIOS, loading a device (like cd or floppy) with has EFI and everything that EFI needs to fun on it. From there, EFI takes over the hardware as if we never even booted from the BIOS and is in charge. Then we can boot to an EFI-compatible OS like mac os x 10.4.4. From there, it's all about the OS interacting with our EFI.

 

My concern: does EFI ever get loaded into memory? Wouldn't it be slow from a floppy? And then don't we still need to hack TPM? And what if an application gives a call to certify the EFI or something, what would happen?

 

-Urby

  • Like 1
Link to comment
Share on other sites

so, IN THEORY, we have already gotten past and cracked EFI?

Could someone explain how to make a bootable floppy image? With everything needed to emulate EFI. I will convert it to bootable cd for those interested.

 

In theory we are at the point where we can boot the kernel what happens next is unknown and impossible to tell without the real thing

Link to comment
Share on other sites

also, i have a question. What about the drivers? EFI talks to the os and controls the hardware directly, from what i understand. But the drivers that allow this to happen, do they come from the OS, or from EFI, or what? Could someone explain that?

 

To address this part of your question, from my understanding, which I believe is correct.

 

EFI can pull drivers from multiple sources. On an EFI motherboard, the core EFI will be in a flashable ROM of some kind (just like traditional PC BIOS is today). Drivers can be included in that ROM.

 

Then EFI can also load drivers potentially from option ROMs (again, much like traditional PC BIOS today...think of the ROM chips that make a SCSI card a bootable SCSI card, or the ROM that makes an Ethernet card a PXE bootable ethernet card).

 

Lastly, drivers seem to be included per the spec so that EFI is smart enough to know how to access common disk buses (IDE/ATAPI, USB, FW), understand GPT partitioning, and understand FAT32 partitions (although Apple's EFI seems to grok HFS+ as well), and read drivers (and any other EFI bytecode) from a disk device.

 

-b00ga

Link to comment
Share on other sites

Lurking on the Intel Efi related docs i ve found a couple interesting things :

there are already 2 Efi boards shipped by Intel ,one is a 865 and one is a 915 ... but not a G series, so no GM900 onboard (so it is pretty useless...)

http://www.intel.com/products/motherboard/d865pck/

http://www.intel.com/products/motherboard/d915pdt/

And there is this doc about new bios versioning ...

.........
New BIOS identification string on Intel® Desktop Boards starting with 925 & 915 based products

New Format: AABBBCDE.FFG.HHHH.IIII.JJKK.LLMM
New Format ex: CV92510A.86A.0193.2004.0609.1843

Key:
AA - Product identifier (EX. CV for Culver City)
BBB- Chipset identifier (EX. 925 for Chipset)
C  - Increment of product version (Starts at 1) Increments for follow-on products (EX. 2 for D845GRG2)
D  - Board Product version (Starts at 0)
E  - Core indicator
FF - Customer identifier (EX. 86 for Intel Branded Board)
G  - BIOS Core
	O - Phoenix (Legacy)
	A - AMI (Legacy)
	E - EFI
	H - Tiano
	J - Tiano
	K - Tiano
	L - Tiano
.....

 

Now we should "only" wait for a AABBBCDE. 86E .HHHH.IIII.JJKK.LLMM bios release for 915G and 945G Intel boards... :dev:

Edited by Dark Schneider73
Link to comment
Share on other sites

@darkSchneider:

 

nice find, but isn't EFI running on every Itanium system, as well as on many server systems for 1-2 Years now? Why don't we take also a look at them :dev: The only thing new here is that it is used on desktop PCs now, too. afaik.

Link to comment
Share on other sites

I am guessing that in order for this to all work (drivers aside) we boot off of floppy (or whatever), and LEAVE that floppy attached? Or once we are booted the EFI layer is stored in memory?

 

If we have to leave the floppy w/ EFI attached the entire time that the OS is running, I would think that the best solution would be a small capacity, bootable USB Thunb drive. Then, in essence, it acts almost like a copy protection dongle. Plug it in to boot & while the OS is running, unplug when not needed (booting into Windows).

 

Also, if this would work, then once in 10.4.4 for Intel, assuming that we all have purchased a license for it, we could upgrade to 10.4.5 or whatever with (theoretically) no adverse affects, when the time comes... (?)

 

Brain21

Link to comment
Share on other sites

@ xtraa :

I suppose we dont take a look@ them 'cause we dont care 'bout Itanium platforms... but as we are talking about i915/945 platforms here that could be of more interest .....

and.. btw, nothing new about Efi on desktop pc... Gateway shipped a Efi-enabled platform back in 2002 but we dont wanna be pedantic here... well .... I dont !

Just my 2 cents

DS

Edited by Dark Schneider73
Link to comment
Share on other sites

@dark schneider

 

did you get the part with "nice find"?

 

Itanium was meant as a suggestion. Sorry for being so pedantic. It just seems not too many of us are down with gateway here. :)

 

Just my 3 balls.

 

/OT

Edited by xtraa
Link to comment
Share on other sites

Looking in the internet i Found on HP Site, a Boot loader based on Linux for EFI Systems.

I think we can test it, and see how it work's on a EFI "emulated" system.

 

http://sourceforge.net/projects/elilo

 

elilo-3.6-ia64.efi - I think that's for itanium, not for x86, but I'll test it on my EMT64 system, just to ensure it's out of business.

 

EDIT: sorry, but I have misseen there is elilo-3.5-pre1-ia32.efi which is for x86.

 

thanks!

Edited by forcer
Link to comment
Share on other sites

elilo does have an x86 version under "elilo-3.5pre1"

 

Here eLilo Halts the EFI Sample Implementation (I'm using on QEMU, so can be QEMU, can anyone try to load it on a native PC?)

 

Another thing

reading some intel ppts, i found this:

http://download.microsoft.com/download/1/8..._WINHEC2004.ppt

 

where:

Intel desktop board with Framework ready for Longhorn via EFI.

--->Flash includes AMI Compatibility Support module for booting legacy and POSTing legacy option ROMs.

Gateway Media Center 600, shipping with Insyde’s implementation of the Framework boots Windows XP.

 

The model that someone told-us before, we need to know how it boots the EFI and if it really have a Legacy Support or if it is an Emulated BIOS( IN THIS CASE WE CAN TAKE IT)

 

 

Another thing, the EFI loads on memory after the boot, not needing to keep the floppy on drive.

We need the 10.4.4 seeded to continue trying to boot mac os x on PC.

 

Now what we can do is to try boot Windows Vista on EFI Implementation to help the new imac owners.

 

 

We need to find programs for EFI, everything that we can try, this may be useful in understanding the EFI Sample Implementation and its limitations.

Link to comment
Share on other sites

I'm tired of all this theory why the 10.4.4 img hasn't been torrented yet , it's not like the old private releases where there was the watermark paranoia going. If you have the img pls torrent it so the real action can start ;P

I agree , it was harder then , why isnt it already up and about?

Link to comment
Share on other sites

@dark schneider :

 

I agree , it was harder then , why isnt it already up and about?

 

Maybe it is the ferrytale about being digital signed or something. :excl:

Edited by xtraa
Link to comment
Share on other sites

I have burned EFI intel framework image to a cd... booted and here is results(sorry for low image quality, I don't have my bats for digital camera charged - cell phone photos :excl: )

 

image0000xt.th.jpg

image0019ah.th.jpg

image0026eo.th.jpg

image0030ft.th.jpg

 

Maybe someone is interested in it, as I haven't heard about any successful EFI framework booted on pc.

I will try to get working linux efi bootloader in the morning(we have 12:24am in slovakia now)

Edited by forcer
Link to comment
Share on other sites

Maybe someone is interested in it, as I haven't heard about any successful EFI framework booted on pc.

I will try to get working linux efi bootloader in the morning(we have 12:24am in slovakia now)

Good to know that the EFI sample implemtation runs fine on a PC Box,

I cant initialize the BIOS32 image on QEMU and Virtual PC, can someone test if it runs fine on a PC too?

http://forum.osx86project.org/index.php?ac...pe=post&id=1194

 

I tried to load elilo, but it halted the EFI implementation, I think that is because i'm loading it on Qemu and VirtualPC.

 

We need the efi file of 10.4.4 dvd to continue...

Link to comment
Share on other sites

Lurking on the Intel Efi related docs i ve found a couple interesting things :

there are already 2 Efi boards shipped by Intel ,one is a 865 and one is a 915 ... but not a G series, so no GM900 onboard (so it is pretty useless...)

http://www.intel.com/products/motherboard/d865pck/

http://www.intel.com/products/motherboard/d915pdt/

Just to clarify for other readers, you mean these boards ship with EFI installed while the other Intel boards that support EFI have BIOS installed.

I have burned EFI intel framework image to a cd... booted and here is results(sorry for low image quality, I don't have my bats for digital camera charged - cell phone photos :excl: )

So this EFI "framework" is something different than the EFI "shell" kinkadius has running an iMac?

 

Does it have a command line?

My question really is what are the rough hardware requirements for a system to natively support EFI versus just BIOS (EFI emulation tricks aside).

Looking over the Intel "product brief" for the 945GNT, I now notice that the "System BIOS" is a "4 Mb Flash EEPROM with Intel Platform Innovation Framework for EFI Plug and Play."

 

While I do not understand if this "Framework" is some kind of ROM or what, I suspect the 4 Mb is much larger than whatever EPROM BIOS boards used for firmware.

Edited by bofors
Link to comment
Share on other sites

i downloaded the efi implementation and toolkit and am having trouble making a bootable cd.

 

Could someone help me please?

 

Oh, and as a sidenote, this reminds me of my excitement at emulating mac os 7 years ago with that emulator...what was it called? Free one... anyways, i remember sneaking onto a mac computer at school with a floppy and "stealing" it's rom. However, the rom was too big for a floppy so i went home and looked for ways to split the file, and the next day, i went back to it (never with a teachers consent) and transferred it to 3 floppies. Just so i could emulate mac. Those were the days!!!

Link to comment
Share on other sites

While I do not understand if this "Framework" is some kind of ROM or what, I suspect the 4 Mb is much larger than whatever EPROM BIOS boards used for firmware.

 

I found this at the Ami Site:

 

What is “The Framework”?

The EFI Specification focuses only on the OS-firmware interface. Intel has defined the Intel Platform Innovation

Framework for EFI, also referred to as “The Framework”. This is an all-new firmware implementation designed to perform the full range of operations that are required to initialize the platform from power on through transfer of control to the OS.

http://www.ami.com/support/doc/EFI-FAQ.pdf

 

framework=firmware

 

as I already wrote on the previous page.

Edited by xtraa
Link to comment
Share on other sites

as I already wrote on the previous page.

 

Sorry, I need to start reading more. But thanks for pointing this out (again!).

 

Now, I have just read your "supersimple" post and I guess I am wondering about the co-existence of the "EFI Framework/Firmware" with normal firmware. From the figure you posted, it appears the motherboard contains both ROM and Flash, are these really distinct?

 

So, is the Framework the ROM? Is it burned in (unchangeable) with EFI Framework 1.10 or something?

 

Then the Flash is load with BIOS, Apple's Boot ROM or whatever? Right?

 

I am getting idea that we would never need to actually flash Apple's Boot ROM on an EFI machine because EFI could just read it in from a file instead (albeit a little slower).

 

So likewise, the essential elements of an EFI-CSM might be some kind of switch and just a BIOS file to read in. In other words, the CSM could be implemented here on an EFI iMac with just some EFI files from the EFI Gateway machine. We might be able to avoid any flashing or even reading of the EFI-BIOS's.

 

However what is absolutely not clear in that diagram is the how CSM operates or even where it exists. I mean their appears to be only one operating system and two loaders ("legacy" and EFI). Moreover, it appears that the "legacy" OS loader operates only independently of the EFI system:

 

B0D0322DB93CA1A240B0856C857B61A7_1000x700.jpg

 

I guess that makes sense considering that appears to be exactly what is going on with the BIOS booting EFI boards.

 

I think the CSM is the key to numerous tasks here:

 

(1) With a CSM we should absolutely will be able to boot Windows XP.

 

(2) With a CSM we might be able to boot DOS on an EFI-iMac and get Apple's Boot-ROM.

 

I think we need to clearly understand how a CSM is supposed to operate and specifically whether or not it is (partially) implemented in firmware. Then we should acquire copies a CSM from the Gateway machine or another source.

 

There is another diagram, which I believe is in one on of the Intel slides, that illustrates the location of the CSM and I plan to study that next.

Edited by bofors
  • Like 1
Link to comment
Share on other sites

I want to analyze this diagram at some point too:

 

csmfork0kt.jpg

 

Let's start right at the beginning. What exactly does "Standard Platform Initialization Mean" with respect to Apple's Boot ROM? Are we to assume this is the point where the Flash'd EPROM is read?

 

Next, at what stage in the operation would we expect a CSM to operate? Shouldn't it preempt the EFI OS Loader and direct execution to the "legacy" loader?

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

:excl: :excl: :excl: :excl: :excl: :excl: :excl:

A typical CSM is approximately 60 KB (~38KB compressed) of firmware that is specific to each Participating Vendor and is based on that Vendor's latest BIOS code base.

http://www.intel.com/technology/framework/overview4.htm

 

Well there we go, CSM is firmware.

 

:excl: But it EFI so "supersimple" that we can write an EFI application that acts like a CSM?

 

For legacy boot the Framework initializes the platform's silicon and executes EFI drivers. Then control is transferred to the CSM, which supports the legacy OS boot.

http://www.intel.com/technology/framework/overview4.htm

So this implies the a fork after stage two in the above diagram.

Edited by bofors
Link to comment
Share on other sites

 Share

×
×
  • Create New...