Macintel Articles @ NeoSmart:
What started off as a simple post with my ponderings has kicked off quite a stir and now I am deeply motivated to find a fix.. Call it OCD, call it perfectionism, call it (uber)geekiness, I need to find out what can be done to make it work….
Hardware Background
What I am trying to do here is to find a way to do this short of adding another motherboard to the box. Obviously a cheap hardware solution is better than an extremely time consuming software fix, which is still better than buying another mobo just for Windows :) OK.. First let’s establish some facts on the mobo used in the MacBook Pro and the iMac Core Duo (sorry about the naming confusion earlier guys!).
- Intel makes the chips. 100% of them. Nothing on it is made by Mac. Maybe programmed by Mac, but not made by Mac. Why? The only reason they switched to Intel was because the cost of making anything compared to Apple’s share of the market nowhere near justified the price. So Apple uses boards made by Intel. Not even customized Intel boards, because that was their gripe with IBM. Apple just doesn’t have enough demand for them to give them customized chips. Also Intel stated that the boards for Apple were just like any other board.
- EFI. Currently the biggest obstacle. Intel stated it uses standard boards for Apple (see point 1). From what I have managed to gather the only Intel board with EFI support is the 945 chipset. Not even the 955 or 975 has EFI support. All 945 chipsets currently sold to the public (besides Apple obviously) use BIOS, not EFI. Now that is something interesting to take note of!
- The rest of the hardware is one hundred percent PC (ergo, Windows) compatible.
So VERY simply from what I have been able to determine… Mac programmed the EFI and flashed it to a EPROM/Chip on a mobo that supports EFI and/or BIOS. The solution to booting XP on a Macintel is one step:
- Grab the BIOS chip from a 945 motherboard and replace the EFI Chip on the 945 in the iMac with it…
But, there are obviously (immediately visible) issues.
- It’s an original Intel mobo, not a rebranded (like Chaintech or Abit) so it should technically work….
- But at the same time it is a desktop chip which means you lose the APM (advanced power management) features for a Mac.. Or do you?
- Well, even assuming it works and you get BIOS onto that mobo of yours (no mean task by itself); congratulations you now have a PC. Not a Macintel. A PC!!!!
Obviously that is not what we want…. But then there is more that can be done to make it work… Now I *presume* OS X won’t boot on a non-EFI platform.. But I highly doubt that Apple would be so naive as to use security via obscurity. After all, soon enough EFI is coming to the PC world too (hurry up Dell!). I believe the key to stopping people from using Macintosh on a PC is the TPM chips encrypted with Apple’s private key. But nevertheless, it boils down to one question: When they compiled the BSD kernel for Mac OS X for Macintel, did they just add EFI support or actually go back and strip out BIOS commands?
Logic would say that they only added EFI and not removed BIOS, simply for compatibility reasons; and should they ever want a BIOS Macintel, they have the compatible code already. What’s more, to actually remove BIOS support from the BSD kernel is like finding needle splinters in a haystack. So long as the code is in an IF bracket that is only activated if BIOS=true it doesn’t slow done the operating system any. So assuming the above is true, you should be able to boot Mac OS X on a BIOS’d version of an iMac or MacBook. Now what if it isn’t true? This is a “guaranteed to work & much work required solution.”
- Get a blank EPROM BIOS/EFI chip.. Or just wipe an existing 945 chip clear.
- Use asm to write a very simple menu where upon boot you are asked to select EFI or BIOS.
- Copy the original EFI code and the legacy BIOS code to the chip. They should fit, it’s a 4MB chip.
- Upon selecting EFI or BIOS you get forwarded to the respective code.
Now where to find someone that knows asm that well? Intel, AMD, Apple, Soyo, Award, or AMI would be my guess, but why should they make it anyway? Yeah, so the above was how to do a hardware base solution for XP on Macintel. Why a Hardware Solution is Best
- You don’t mess with HD images to get XP installed.. You just get the BIOS working then install from CD
- Minimal trouble for the final user… Just get a chip, replace, and boot.
- Most likely to work and “failproof”
Why NOT a Hardware Solution
- End users will have to buy a chip.. And as far as I know, they are hard to get.
- Takes the most time to get working, and most amount of “Hackers’ R&D”
- Immediate compatibility with any BIOS based programs.
Actually, so long as Mac OS X runs on BIOS as well as EFI it’s quite easy to implement… If it doesn’t.. Well I told you what needs to be done, the problem is implementing it.