Jump to content

Possible EFI Implementation booting trought EFI Intel toolkit


133 posts in this topic

Recommended Posts

This is only a theory.

 

Learning about EFI bootloaders, i found an hint on elilo docs for a pos-bios loading an EFI implementation, as follows:

 

Until PC comes with the EFI firmware built in, you need to boot from a

floppy that has the EFI firmware on it. Such floppy can be

constructed from the EFI sample implementation and toolkit that is

available from the Intel Developer Web site at:

 

http://developer.intel.com/technology/efi/

I think if it is possible to rip the ROM out of the new macs we can make a pre-boot EFI implementation that is exactly a copy of iMac new EFI.

Loading a EFI implementation can be done writing them to a floopy or cd-rom, and then, from the EFI implementation, loading entire Os X 10.4.4.

 

I'm downloading the Intel EFI Sample Implementation (that seens to be the pos-bios EFI) and the toolkit to see what i can do.

toolkit download: http://developer.intel.com/technology/efi/agreetoolkit.htm

EFI Implementation: http://developer.intel.com/technology/efi/agreesource.htm

Link to comment
Share on other sites

Im not having acess to a PC(only mac), then I only can test boot on Virtual PC, I tried a test file called IA-32EMB.IMG that cames on toolkit, it looks like a EFI shell and Os Loader. I THINK THAT IS POSSIBLE LOADING A EFI FIRMWIRE ON A BIOS PC before booting mac os X...

 

 

here screen...

i will post more soon...

imagem22nb.th.jpg

Link to comment
Share on other sites

Hi moondark,

 

Where did you find this image?

I have been download the toolkit but I don't see IA-32EMB.IMG.

Can you upload it?

 

Thanks.

 

 

Hello, i made a mistake it is in example implementation.

QEmu do the job better than Virtual PC(Better bios?)

Now i'm learning how to make a BIOS disc using a Floppy..

The only problem I dont have a Real PC here with me to test. I can only use emulators. I'm on a mac mini...

Link to comment
Share on other sites

interesting stuff moondark. i would test this myself, but my PC doesnt have a floppy drive! perhaps i could burn it to an El Torito CD and boot that way (FYI El Torito uses a floppy disk image to boot). if i have time tonight i will try it.

 

cheers

 

EDIT: can someone point me in the direction of an EFI-bootable or EFI-only linux dist to test? ideally if I can get my hands on something that shouldnt boot from BIOS, but will boot from EFI, then get it to boot this way, we should be set :blink:

Edited by munky
Link to comment
Share on other sites

New photos... I will work with qemu now... so I want to boot the BIOS32 efi... this is the same that is in use of the people that are trying to boot Vista on iMac intel. If it boots the mac efi file, i think that will be easy to patch(MAXXUUUSSS we need ya) the 10.4.4 and then using this EFI Example Implemementation for booting...

 

 

imagem33mu.th.jpg

 

imagem40cl.th.jpg

 

imagem68ax.th.jpg

 

imagem70mq.th.jpg

 

imagem118hg.th.jpg

Link to comment
Share on other sites

This is only a theory.

 

Learning about EFI bootloaders, i found an hint on elilo docs for a pos-bios loading an EFI implementation, as follows:

I think if it is possible to rip the ROM out of the new macs we can make a pre-boot EFI implementation that is exactly a copy of iMac new EFI.

Loading a EFI implementation can be done writing them to a floopy or cd-rom, and then, from the EFI implementation, loading entire Os X 10.4.4.

 

I'm downloading the Intel EFI Sample Implementation (that seens to be the pos-bios EFI) and the toolkit to see what i can do.

toolkit download: http://developer.intel.com/technology/efi/agreetoolkit.htm

EFI Implementation: http://developer.intel.com/technology/efi/agreesource.htm

 

But i don't see how that would work even if you rip the imac rom and you succesfully boot it, it can only work on a mobo 100% equal to the imac one. It's not like you can use a bios on a motherboard that doesn't belong to

 

We can use 10.4.3 boot files and bootx to bootstrap the kernel. Once the kernel is initialized i dunno what happens next, it has efi references and we dunno if it will fall back to the old bios calls.

 

Someone with an intel cpu with sse3 where 10.4.3 used to work without any maxxuss kernel patch should try to swap the kernel and see what happens. 10.4.4 extensions still work on 10.4.3 so looks like they ignore efi/bios. The only one that seems to not work is the atidriver because ati cards are supposed to have a special firmware

Link to comment
Share on other sites

But i don't see how that would work even if you rip the imac rom and you succesfully boot it, it can only work on a mobo 100% equal to the imac one. It's not like you can use a bios on a motherboard that doesn't belong to

 

We can use 10.4.3 boot files and bootx to bootstrap the kernel. Once the kernel is initialized i dunno what happens next, it has efi references and we dunno if it will fall back to the old bios calls.

 

Someone with an intel cpu with sse3 where 10.4.3 used to work without any maxxuss kernel patch should try to swap the kernel and see what happens. 10.4.4 extensions still work on 10.4.3 so looks like they ignore efi/bios. The only one that seems to not work is the atidriver because ati cards are supposed to have a special firmware

 

 

I dont understand why it is necessary to the mobo be 100% equal to the imac one. Now, that i'm reading the efi implementation reference, the rom is unecessary in fact, we only need the .efi file of mac that follows the EFI 1.10 especifications and may run fine on EFI.

This Sample Implementation works at 32 bios, so in protective mode the bios only work at beginning loading the bootspace of floppy and then going protected and on EFI. This implementation IS completed and can be very useful for directly installing the 10.4.4(And Future mac os X versions). Apple not yet released the source code of Darwin 8.4 for intel. We need alternatives. If it has EFI references on drivers and something this may be necessary, it may be possible to create special drivers in EFI on future(if apple uses all of its potential)...

 

 

we need that feline dvd seeded soon... please hehehehe...

Edited by moondark
Link to comment
Share on other sites

I posted a thread about a theory that the 'black screen with mouse pointer' is a deliberate effect (ie a protection), but otherwise the GMA900 and the ATI X1000 series cards will work on 10.4.3 with the 10.4.4 drivers.

 

http://forum.osx86project.org/index.php?sh...t=0entry44797

 

just a theory of course, but discussion welcome, even if its "dont be so stupid" ;)

 

EDIT: i agree with moondark. EFI is a very different beast from BIOS, and I dont think an exact hardware match is necessary.

Edited by munky
Link to comment
Share on other sites

This is only a theory.

 

Learning about EFI bootloaders, i found an hint on elilo docs for a pos-bios loading an EFI implementation, as follows:

I think if it is possible to rip the ROM out of the new macs we can make a pre-boot EFI implementation that is exactly a copy of iMac new EFI.

Loading a EFI implementation can be done writing them to a floopy or cd-rom, and then, from the EFI implementation, loading entire Os X 10.4.4.

 

I'm downloading the Intel EFI Sample Implementation (that seens to be the pos-bios EFI) and the toolkit to see what i can do.

toolkit download: http://developer.intel.com/technology/efi/agreetoolkit.htm

EFI Implementation: http://developer.intel.com/technology/efi/agreesource.htm

 

What exactly are you trying to do? From what I gather, you are implementing a BIOS, and making it an "OS" that the EFI boots to, and from there you plan on booting Windows.

 

Is my presumption correct? If so, that does sound promising.

 

If not, please explain.

Link to comment
Share on other sites

What exactly are you trying to do? From what I gather, you are implementing a BIOS, and making it an "OS" that the EFI boots to, and from there you plan on booting Windows.

 

Is my presumption correct? If so, that does sound promising.

 

If not, please explain.

 

from what i understand his goal is to boot osx 10.4.4 on a mobo without efi support

Link to comment
Share on other sites

What exactly are you trying to do? From what I gather, you are implementing a BIOS, and making it an "OS" that the EFI boots to, and from there you plan on booting Windows.

 

Is my presumption correct? If so, that does sound promising.

 

If not, please explain.

 

 

I think that is possible to have a EFI Firmwire implementation loaded after the bios, like a operational system and in this environment it is like the EFI was loaded without BIOS. That is because after loading EFI the processor goes in protective mode(32 bits) and dont see any bios. After EFI loaded an patched(or maybe no patched) fresh DVD can be loaded without using parts of pre 10.4.4.

 

That is:

*Start the computer in bios.(DONE)

*The bios loads the bootprogram(DONE)

*This bootprogram goes Protective. (At this moment it is like the bios never existed) (DONE)

*The bootprogram loads EFI Implementation from intel toolkit (DONE)

*Now we have a fully funcional EFI machine at this point. (DONE, tested some little efi programs)

*What we need to do is try to boot a EFI Operational System, like Mac Os X 10.4.4. (We dont have the DVD yet)

*Maybe if EFI is fully supported(i mean using all of its potential) in Mac Os X, then we can have some drivers writen in EFI, like network and video cards(OUR PROBLEMS here hehehe). (FUTUREEE)

 

So the objective is: Boot a EFI operational system like Mac Os X 10.4.4 without the EFI hardware.

 

Understanding the EFI will be useful too for people that want to install Windows on theirs new imacs...

Link to comment
Share on other sites

Hi,

 

here are some interesting links:

 

Command Line Reference for EFI Commands (by Dell)

 

http://support.dell.com/support/topics/glo...dhs&~mode=popup

 

Even more Commands for the Shell (by Hewlett Packard)

 

http://docs.hp.com/en/5991-1247/ch04s13.ht...Prev=%AB%A0prev

 

Backing up Boot Options in EFI (by Microsoft)

 

http://msdn.microsoft.com/library/default....a9d5560.xml.asp

 

 

Personally I like these:

 

loadpcirom romfile - Loads a PCI option ROM

connect - Bind a driver to a device.

devices - Display devices managed by EFI drivers.

drivers - Display list of drivers.

Edited by xtraa
Link to comment
Share on other sites

Some interesting reading from the intel toolkit:

 

NOTES/RELNOTE.pdf

 

IA-32EMB\bin

This directory contains all the .efi executables that would appear from the \Efi1.1\build\Bios32\IA-32EMB directory if you compiled and linked the Ia-32Emb build tip. These files are built to run on IA-32 using native EFI 1.10 drivers. This implementation uses all the native EFI 1.10 drivers to directly touch hardware (with C code). This build tip will not use any BIOS call such as INT 16 or INT 13 once the PC has given control to the boot mage on the floppy. The drivers in this build were designed for standard PC-AT hardware (such as ATAPI IDE, 8259, PS/2 keyboard and mouse, and VGA).Developers can use this boot floppy to develop native EFI 1.10 drivers with their add-in cards. The executables and EFI drivers in this directory are for testing and evaluation purposes.

 

IA-32EMB\IA-32EMBimage

This directory contains the files that are necessary to make an IA-32emb 1.44MB boot floppy image. Any standard PC system with a floppy should be able to boot off this floppy and come up to the EFI boot manager. The purpose of this floppy is for evaluating, testing, and developing EFI applications, the EFI Shell, and EFI drivers and for customizing the boot manager. This floppy should be the most compatible boot floppy and should operate on any standard PC system. The nonvolatile storage for this version of EFI is stored in a file called Bootstr.efi, which is hidden and can only be seen with the EFI Shell command attrib -r, because there is no flash access for the boot manager. It will be stored on the first hard drive that has a formatted FAT partition. All of the executable images from the IA-32emb\bin directory should run on the system if it is booted from the IA-32emb boot floppy or an IA-32 system that supports EFI 1.10 from flash. This version of EFI will support the full device path notation for all media and boot devices.

A utility dskimage.exe is provided that will put the Ia-32Emb boot image onto a floppy. Type dskimage –w EFIboot.img. (Note: This utility assumes that a: is your 1.44 MB floppy drive.). Dskimage.exe is located in the

\Efi1.1\build\tools\bin directory. When you are at the \Efi1.1\build\Ia-32Emb build tip, you can also transfer the EFI boot image to floppy by typing nmake createfloppy and then nmake floppy

Link to comment
Share on other sites

This is only a theory.

 

Learning about EFI bootloaders, i found an hint on elilo docs for a pos-bios loading an EFI implementation, as follows:

Until PC comes with the EFI firmware built in, you need to boot from a

floppy that has the EFI firmware on it.

 

Nice theory, now I have a question about what this "EFI firmware" is.

 

Is this "EFI firmware" (or rather the ability to handle it) essentially the difference in raw hardware between a generic BIOS board and one that also supports EFI? (This is I what I think but want to know for sure)

 

Or does "EFI firmware" mean the "System firmware" (aka "Boot ROM", "System BIOS", "EFI BIOS") that is flashed and updated like a normal BIOS (or OpenFirmware) version and otherwise not exactly "built in"?

 

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

Edited by bofors
Link to comment
Share on other sites

Nice theory, now I have a question about what this "EFI firmware" is.

 

Is this "EFI firmware" (or rather the ability to handle it) essentially the difference in raw hardware between a generic BIOS board and one that also supports EFI? (This I what I think but want to know for sure)

 

Or does "EFI firmware" mean the "Boot ROM" (aka "System BIOS", aka "EFI BIOS") that is flashed and updated like a normal BIOS (or OpenFirmware) version?

 

*AS FAR AS I UNDERSTOOD IT* :D So i might be wrong, lets discuss.

 

EFI Mainboards have some kind of supersimple-firmware bios, called framework.

 

Nobody has one so stop here :D Doesn't even matter!

 

Non EFI Mainboards don't need to have that hardwaare firmware, because EFI is

 

1. down-compatible with the old BIOS.

2. Instead of that hardware supersimple firmware, that Firmware can be loaded from a floppy or such, too.

 

No matter what mainboard you have, and no matter if the firmware is real hardware or will be like in our

case, software emulated,

 

EFI sits between that (hard or software) firmware and the OS.

 

 

So, in any case, EFI is software, communicating with

 

1. either the supersimple hardware-firmware, or

2. if you dont have that, with a floppy, containing that supersimple-firmware :)

 

supersimple :D

 

but no article writes it that way. :)

 

 

Again, check this:

 

B0D0322DB93CA1A240B0856C857B61A7_1000x700.jpg

Edited by xtraa
Link to comment
Share on other sites

 Share

×
×
  • Create New...