Jump to content

I GOT MY INTEL IMAC TODAY!!!


377 posts in this topic

Recommended Posts

Here, I am just concerned about the firmware, we know the iMac interface is EFI not BIOS.

 

So, what precisely is the difference between EFI-firmware and BIOS-firmware? Is there really any?

 

I wish I cold tell you, but my understanding of both is still fuzzy.

 

Let's say I have some BIOS-firmware and I want to covert it to EFI-firmware... what do I need to do?

 

I don't think you can, I think the hardware has to be built to support either BIOS, EFI, or EFI with legacy BIOS. You can't wipe your BIOS firmware and replace it with EFI. Is that what you meant?

 

As far as Apple's OS, they just dropped the BIOS bootloader and built a new one supporting EFI.

Link to comment
Share on other sites

According to Intel's EFI Guide: http://developer.intel.com/technology/efi/...OM_on_IA-32.htm

 

Making an EFI Bootable CD-ROM on IA-32 Processor-Based Systems

For IA-32 processor-based systems with EFI, put the file on the CD-ROM in \EFI\BOOT\BOOTIA32.EFI.

 

A CD-ROM can have both of the following files:

 

Bootia32.efi

 

Bootia64.efi

 

This CD-ROM would be bootable by both Itanium®-based systems and IA-32 processor-based systems with EFI.

 

However, Vista build 5270 doesn't have any files with those names. It does have an EFI folder but in it is only a folder entitled 'microsoft' which has a file called 'bcd' in it and a 'fonts' folder. The only efi file is located in the efi folder in the root of the cd and is called 'cdboot.efi'. How does EFI know where to start loading the Vista CD from.

Maybe someone with an Intel iMac could use Nero Enterprise Edition to create a custom disk of Vista with the cdboot.efi file renamed to "bootia32.efi" and placed into the \efi\boot folder. In fact try copying the whole boot folder into the efi directory and create a clone of the cdboot.efi file called bootia32.efi there.

 

Its something to try at least.

Link to comment
Share on other sites

thanks terry & bofors :weight_lift:

 

I will try to translate a german tech site about efi:

 

In common, EFI is like a little operation system, but as mentioned, without a GUI, multitasking and such. but

it loads drivers, like for the graphics device, the chipset and the hd-controller. these drivers are compressed

binary-files. The communication between the drivers and the hardware works via lots of achitecture-

protocols. this way they can work without being bound to a specific CPU, chipset or mainboard. also, every

driver has a digital signature.

 

One of the biggest advantage of EFI is the programming. While BIOS is written in assembler, EFIs language

is C. that makes it easy for debugging and developing, less errors, and programming.

 

The first X86-OS with native EFI will be Windows Vista (no, as we know now :) ).

 

Every EFI has a EFI-Firmware-Volume. The specification for that volume has been set as FAT32. A big

andvantage here is, that the old MBR will be replaced with the new GUID-partition-table format. GUID

partitions can theoretically contain a filesize up to 18 extrabyte. one harddisk can contain up to 128

partitions.

 

And here is how it works. Note the little BOOTLOADER in the harddisk:

 

taken from this very nice document:

 

http://www.csee.umbc.edu/help/architecture/idfefi.pdf

 

screenie1dy.jpg

 

And finally the Boot-Chain:

 

zwo7za.jpg

Edited by xtraa
Link to comment
Share on other sites

Is that what you meant?

 

No, I mean, let's say I am Apple, hypothetically.

 

I have written a BIOS-firmware (or even OpenFirmware).

 

I have the soure code (is firmware even complied?) for the firmware and want to port it for use in EFI hardware.

 

What do I have to do?

Link to comment
Share on other sites

Stuff like this:

So, Intel appears to have made some EFI-firmware (aka "BIOS").

 

Ok, we're confusing terms then, EFI is a form of BIOS (the abstract technology between the hardware and the software) , so the Novell document is correct.

 

I don't think there is a specific term for what we traditionally call "BIOS" on a PC, which is also a BIOS. We just called it BIOS until now.

 

It's like saying Kleenex when you mean "tissue"... not all tissue is Kleenex. Not all BIOS is "traditional BIOS"

 

No, I mean, let's say I am Apple, hypothetically.

 

I have written a BIOS-firmware (or even OpenFirmware).

 

I have the soure code (is firmware even complied?) for the firmware and want to port it for use in EFI hardware.

 

What do I have to do?

 

I don't think you "port" firmware. It think it has to be re-written for the hardware it needs to run on. I think you just start over when you go from Open Firmware to EFI. Maybe I'm wrong, but I presume there are too many differences for a conversion to be possible.

Link to comment
Share on other sites

In common, EFI is like a little operation system, but as mentioned, without a GUI, multitasking and such. but

it loads drivers, like for the graphics device...

 

Does anybody understand precisely why ATI had to use different firmware in the x1600 for Core Duo Macs?

 

When asked about using a PC ATI card in a Mac, however, it was pointed out that the Mac cards still feature different firmware sets as well as use different drivers.

http://www.insidemacgames.com/news/story.php?ID=12680

 

The presumption has been this is yet another EFI related issue, but I do not see exactly why it has to be.

 

We just called it BIOS until now.

Frankly, I am not sure what to call it but "BIOS" certainly leads to confusion. Perhaps, we should call it something like "Boot ROM" or "System Firmware".

 

I don't think you "port" firmware. It think it has to be re-written for the hardware it needs to run on.

 

So, that implies that firmware is not compiled?

 

Perhaps there are firmware editors?

 

There is Linux-EFI right? Will that boot on an iMac?

 

Otherwise, the only other OS we have to work with is some Beta version of Vista?

Edited by bofors
Link to comment
Share on other sites

Does anybody understand precisely why ATI had to use different firmware in the x1600 for Core Duo Macs?

The presumption has been this is yet another EFI related issue, but I do not see exactly why it has to be.

 

Because the "shelf" video cards are all built to communicate with a traditional "PC BIOS" and not EFI BIOS. The same has always been true for Open Firmware BIOS in PPC Macs, we always needed special video cards that were compatible with our hardware.

 

The BIOS (firmware) has to communicate to the video card long before drivers are introduced, so they have to be able to talk natively. That's how you can enter your PC BIOS before Windows loads, because the BIOS (firmware) knows how to talk to it without Windows video drivers.

 

Frankly, I am not sure what to call it but "BIOS" certainly leads to confusion. Perhaps, we should call it something like "Boot ROM" or "System Firmware".

 

Agreed. It's confusing as hell. It doesn't make it any easier that companies like Novell use the word BIOS to mean System Firmware. So if BIOS is what current PCs have, then we'll refer the the concept of BIOS as "System Firmware" and reserve the term "BIOS" for what Phoenix is shipping.

 

=)

Link to comment
Share on other sites

We need to get someone to boot Vista (Beta) on an iMac and try to copy the "Boot ROM" (aka BIOS here) with something like this "Award Flash Utility":

 

http://www.ecsusa.com/downloads/flashAward.html

 

(although this one appear to require booting from DOS).

 

Or whatever EFI-booting BIOS-copying alternative may exist on Linux.

Edited by bofors
Link to comment
Share on other sites

We need to get someone to boot Vista (Beta) on an iMac and try to copy the "Boot ROM" (aka BIOS here) with something like this "Award Flash Utility":

 

http://www.ecsusa.com/downloads/flashAward.html

 

(although this one appear to require booting from DOS).

 

Or whatever EFI-booting BIOS-copying alternative may exist on Linux.

 

Hold a sec... You want to read the Mac firmware (EFI)? Or write to it?

 

Cause writing to it would certainly void your warranty.

Link to comment
Share on other sites

We need to get someone to boot Vista (Beta) on an iMac and try to copy the "Boot ROM" (aka BIOS here) with something like this "Award Flash Utility":

 

http://www.ecsusa.com/downloads/flashAward.html

 

(although this one appear to require booting from DOS).

This utility is for standard PCs with conventional BIOS. I highly doubt that this would work out.

 

Or whatever EFI-booting BIOS-copying alternative may exist on Linux.

Why do you think you need the rom code? There doesn't seem to be anyone around here who has the capabilities to reverse-engineer such compiled code. And for what sake? What do you expect? What do you hope for? What should be done with this dump? Sorry, I don't get it.

 

Bofors, please don't get me wrong, you seem to be a really, really nice guy to talk to, but I am slowly getting bored of you cluttering this thread with such inconclusive half-baked suggestions.

Link to comment
Share on other sites

So I've been following this issue and learning about EFI for a week or so, and I've got a question.

 

wouldnt it be as simple as running the sample efi shell from Intel then pointing it to another .efi file to boot the windows partition?

 

I havent an intel mac yet, waiting for a macbook I have on order, but ti seems to me, we just need to basically replace or edit the .efi file on the os x partition to either boot to the shell or boot to another partition.

 

 

but maybe it isnt that simple.

Link to comment
Share on other sites

We need to get someone to boot Vista (Beta) on an iMac and try to copy the "Boot ROM" (aka BIOS here) with something like this "Award Flash Utility"

 

Errr... isn't the whole point of this discussion and thread to work out a way to boot Vista in the first place?? So booting Vista in order to extract a Boot ROM in order to work out how to boot Vista is kind of a nogo in the first place?!! Or are you talking about working out how to get a pirate version of 10.4.4 x86 running on standard PCs.

Link to comment
Share on other sites

Bofors, please don't get me wrong, you seem to be a really, really nice guy to talk to, but I am slowly getting bored of you cluttering this thread with such inconclusive half-baked suggestions.

 

Well then perhaps we can move some of this EFI stuff to another thread at this point.

 

Otherwise, what is it the purpose of this thread now?

 

Basically, I see a branch here:

 

(1) Booting Window on iMacs, which may not require anymore discussiong of "Boot-ROM" and firmware, but focus on constructing some kind of EFI-CSM.

 

(2) Dealing with EFI related issues on "unsupported" hardware, which is what I am primarily interested in. :weight_lift:

Edited by bofors
Link to comment
Share on other sites

@terry:

 

It seems that either the graphic is {censored}, or we indeed have a "must have partition" situation here :weight_lift:

 

if you take a closer look, you will see, that it wont boot without the loader:

 

bild28ql.jpg

 

now, what does that mean?

 

It means that we have to get the content of that partition. No matter if there is a rom, too. We have to get both.

 

Or are you talking about working out how to get a pirate version of 10.4.4 x86 running on standard PCs.

 

if i spoke for me, well yes, in my case this could be a possible point of this discussion. :)

Edited by xtraa
Link to comment
Share on other sites

Errr... isn't the whole point of this discussion and thread to work out a way to boot Vista in the first place?

 

At this point, that would be seem to be a mutual goal.

 

So what is the story with this guy who claims to have gotten some beta Vista booted? Has anyone reproduced his results? Which versions of Vista was it? Is that version of Vista floating around the Internet?

Link to comment
Share on other sites

Well then perhaps we can move some of this EFI stuff to another thread at this point.

Yes, I think this could turn out to be a good idea. Perhaps one new thread dealing with "EFI basic questions", so that this thread could stay clean and iMac owners can post their success or failure stories with getting other operating systems to boot.

 

Anyway, I gotta go now. See you tomorrow! :weight_lift:

Link to comment
Share on other sites

wouldnt it be as simple as running the sample efi shell from Intel then pointing it to another .efi file to boot the windows partition?

 

I think so, but Windows needs to have the right EFI extensions and such.

 

Some kind of EFI-modified XP might need to be created with pieces of Vista (beta) if possible.

 

Yes, I think this could turn out to be a good idea. Perhaps one new thread dealing with "EFI basic questions", so that this thread could stay clean and iMac owners can post their success or failure stories with getting other operating systems to boot.

 

Anyway, I gotta go now. See you tomorrow! :)

 

Yeah, okay see you later. I am spending (wasting) too much time here, so I should split now too!

 

I will try to refrain from further polluting this thread with more EFI fundementals. Otherwise, I think I am more interested in finding a way to boot DOS (or perhaps Linux), which should be a lot simpilier than dealing with Windows, to read the iMac Boot-Rom.

 

:weight_lift:

 

So, I guess I will think about starting some threads for those subjects, and of course, if we can figure out how to boot DOS or Linux on an iMac some of that information may helpful in getting XP to run as well.

Edited by bofors
Link to comment
Share on other sites

According to Intel's EFI Guide: http://developer.intel.com/technology/efi/...OM_on_IA-32.htm

However, Vista build 5270 doesn't have any files with those names. It does have an EFI folder but in it is only a folder entitled 'microsoft' which has a file called 'bcd' in it and a 'fonts' folder. The only efi file is located in the efi folder in the root of the cd and is called 'cdboot.efi'. How does EFI know where to start loading the Vista CD from.

Maybe someone with an Intel iMac could use Nero Enterprise Edition to create a custom disk of Vista with the cdboot.efi file renamed to "bootia32.efi" and placed into the \efi\boot folder. In fact try copying the whole boot folder into the efi directory and create a clone of the cdboot.efi file called bootia32.efi there.

 

Its something to try at least.

 

This sounds like a good idea. Another thing you could try is to look at the OS X install DVD that came with the iMac and see if the /efi/boot folder exists in there, or perhaps locate an efi file on the DVD that looks like it's what the iMac is looking for to boot from it. Then rename the cdboot.efi file on the Vista CD to whatever and wherever it is on the OSX DVD.

Link to comment
Share on other sites

This sounds like a good idea. Another thing you could try is to look at the OS X install DVD that came with the iMac and see if the /efi/boot folder exists in there, or perhaps locate an efi file on the DVD that looks like it's what the iMac is looking for to boot from it. Then rename the cdboot.efi file on the Vista CD to whatever and wherever it is on the OSX DVD.

 

That's a good plan. Damn I wish I had an Intel iMac here right now to play with!!

Link to comment
Share on other sites

This sounds like a good idea. Another thing you could try is to look at the OS X install DVD that came with the iMac and see if the /efi/boot folder exists in there, or perhaps locate an efi file on the DVD that looks like it's what the iMac is looking for to boot from it. Then rename the cdboot.efi file on the Vista CD to whatever and wherever it is on the OSX DVD.

 

 

yeah thats kinda what i was trying to say with my last post.

 

swap the .efi file on the vista cd to the name and perhaps even location is the same as the os x cd.

 

although this still leaves open the issue of installing to HD and dual booting, but it'd be a step forward.

 

again since i havent an intel mac, this is just guess work. What kind of format is the .efi anyway? human readble? like a lilo.conf file?

Link to comment
Share on other sites

yeah thats kinda what i was trying to say with my last post.

 

swap the .efi file on the vista cd to the name and perhaps even location is the same as the os x cd.

 

although this still leaves open the issue of installing to HD and dual booting, but it'd be a step forward.

 

again since i havent an intel mac, this is just guess work. What kind of format is the .efi anyway? human readble? like a lilo.conf file?

 

No, it's a binary... pretty much a compiled program, I would assume.

 

For the EFI menu, there is source (C code, some assembly as well it looks like... just looking at the file list) along with the binary Intel supplies.

 

This sounds like a good idea. Another thing you could try is to look at the OS X install DVD that came with the iMac and see if the /efi/boot folder exists in there, or perhaps locate an efi file on the DVD that looks like it's what the iMac is looking for to boot from it. Then rename the cdboot.efi file on the Vista CD to whatever and wherever it is on the OSX DVD.

 

Yarr! looks like this isn't going to work... a comment from the blog post that figured out how to get the EFI menu:

 

From Dave Schroeder

posted 01/18/06

1. No, cmd-opt-E-F or cmd-opt-E-F-I does not work to get into EFI. Apple does not provide an EFI shell with Intel-based Macs.

 

2. These menus do not represent something that is on the Mac; it's using a tool - the Intel EFI samples, in this case - to gain access to the EFI implementation on the system.

 

3. Vista (Build 5270 32-bit with EFI support) does not boot even from a FAT32 partition on a GPT partitioned volume. Selecting 'bootmgr.efi' hangs the machine, and 'cdboot.efi' simply dumps back to the EFI shell after a moment. I've been working with this all afternoon, and the iMac's EFI *can* see the volume, and the Vista EFI booters: it just can't do anything with them.

 

In other words, it's going to require some modification or special code to even boot Vista on these machines. And unless Apple has really included BIOS compatibility and it's just disabled - AND someone finds a way to enabled it - booting Windows XP directly is even less promising.

 

Oh well. I have no doubt that someone will write some code that will end up allowing some of this stuff to work, but it looks like it won't be simple (and will probably end up not being a simple, straightforward dual-boot configuration).

 

Most people will simply want to run Windows in a virtual machine environment under Mac OS X anyway, and that definitely WILL be possible. Too bad installing Windows directly wasn't an easier proposition - even without Apple's support, a lot of people would like to use that configuration to play Windows games, period. And that's a *huge* market.

Edited by Owiber
Link to comment
Share on other sites

No, it's a binary... pretty much a compiled program, I would assume.

 

For the EFI menu, there is source (C code, some assembly as well it looks like... just looking at the file list) along with the binary Intel supplies.

 

 

cool thanks.

 

and as far as gettign a dual boot its probably as simple as making a custom .efi to replace the one on the os x HD partition, or the one in the fat32 partiton if thats how its done. A custom one to either hand off to elilo as a bootloader or a custom boot loader with an option to pick which OS.

 

I doubt all that is easy to program though, but hopefully someone with enough EFI knowledge can hack something together.

 

what really gets my goat though, is i bet apple already has windows bootable on their machines, using the retail firmware, .efi stuff. but can't or wont relase any info cause of business, which is fine, but still frustrating.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...