Jump to content
kinkadius

EFI booting thread

148 posts in this topic

Recommended Posts

Advertisement
I started a contest to boot Windows XP on the Intel Mac. I donated $100 of my own money and encourage anyone interested in this feature to donate as much as they are willing to pay for it. The first person in with the instructions wins the whole pot! :dev:

I do suppose it's better to offer those bucks directly to experienced programmer/developer who shall be able to compile GRUB2 for OSx86! http://grub.enbug.org/

It does have EVERYTHING we need to dual-boot the new Intel Macs:

http://grub.enbug.org/CurrentStatus

 

P.S. Maybe create a sepatate topic for this?..

Share this post


Link to post
Share on other sites
cloudscout: dont be a fool man, if you want a 20'', hold out for a 20'' !! there will always be time for tinkering :dev:

 

Probably but adding an external 17" Samsung 740 DVI panel for about $225 would be a good choice for more pixels than the 20" iMac at a lower price.

 

 

- did that, thought it ought to be descriptive.

 

Great now what about "I DID IT"? I mean, Vista has not been booted yet, correct? I just looked at the update thread title and it clearly appears otherwise. I do not know what "- Not OSX yet" is supposed to mean either.

Edited by bofors

Share this post


Link to post
Share on other sites

I don't have access to an Intel/Mac setup right now, but I was wondering since OS X is based on (Free?)BSD couldn't you figure out what changes to the BSD Apple made, and try to make some wrapper to impliment those changes to a bootloader program before it actually launchs the XP or Vista? Sorta pull like what DOSEMU did to get DOS/Windows9X running on a linux box, but use a BIOS Image somehow to control the section that windows XP/Vista would be accessing to implement the BIOS type features?

 

Maybe I'm way off base here...

Share this post


Link to post
Share on other sites

Look here

 

http://www.neowin.net/forum/index.php?show...#entry587109288

 

Well after talking to some MS developers on the windows team, it turns out vista build 5270 does NOT have EFI enabled on it... to quote one of them "That is a known bug. EFI is not enabled yet. It doesn't look like it will be fixed for Beta 2" so this is why we can not boot it on a mac yet, it's not because mac wont support it, it is just because Microsoft hasn't enabled it yet!

Share this post


Link to post
Share on other sites

Been watching the thread and lurking for the most part. I do have a MacBook Pro on order. But I just downloaded the EFI toolkit up on Intel's website. The only readme.txt I found shows that you can load EFI drivers? One is Partition.EFI which shows support for MBR/GPT/EL Torito? I will just copy/paste the readme.txt here.

 

Intel PRO/1000 EFI Device Driver

 

 

XYY in the filenames below indicates the version number of the driver.

 

eXYYb2.efi: This is the EBC (EFI Byte Code) executable, which is capable of

running on both IA32, and IA64 processor based systems.

 

eXYYe2.efi: This version of the EFI driver is intended solely for IA32

processor based systems. The e207e2.efi driver is identical to what OEM

customers will include in their EFI32 bios.

 

eXYYi2.efi: This version of the EFI driver is intended solely for IA64

processor based systems. The e207i2.efi driver is identical to what OEM

customers will include in their EFI64 bios.

 

Prerequisites

Before you can use any of the EFI drivers you must have a system with an EFI based

BIOS, or an EFI boot floppy. For more information, please see the Intel EFI web page.

 

Once you have an EFI enabled system you need to make sure the EFI Simple Network

Protocol (referred to as SNP in the rest of this document) driver is loaded. This is

done by typing the EFI "drivers" command. "SNP3264.efi" will be listed if the SNP

driver is loaded. The job of the SNP driver is to manage connections to all of the

hardware specific network drivers to the OS.

 

Loading the EFI Network Driver

Once you have an EFI enabled system with the SNP driver loaded you are ready to load

the EFI Network driver. The EFI "load" command is used to load the network driver:

load E206B2.efi

 

After the load command completes a message will appear indicating whether the driver

load was successful. If the load was successful, execute the "drivers" command to see

whether the network driver loaded. The screen below shows a sample output from the

EFI "drivers" command. Driver handle A1 in the "DRV" column shows that the E206B2.efi

driver loaded successfully.

 

T D

D Y C I

R P F A

V VERSION E G G #D #C DRIVER NAME IMAGE NAME

== ======== = = = == == =================================== ===================

18 00000010 B - - 5 38 PCI Bus Driver PciBus

19 00000010 D - - 1 - PC-AT ISA Device Enumeration Driver PcatIsaAcpi

1A 00000010 B - - 1 3 ISA Bus Driver IsaBus

1B 00000010 B - - 2 2 ISA Serial Driver IsaSerial

1C 00000000 ? - - - - BIOS[iNT10] VGA Mini Port Driver BiosVgaMiniPort

1D 00000010 ? - - - - VGA Class Driver VgaClass

1E 00000010 D - - 1 - UGA Console Driver GraphicsConsole

1F 00000010 D - - 2 - Serial Terminal Driver Terminal

20 00000010 D - - 1 - Platform Console Management Driver ConPlatform

25 00000010 B - - 1 1 Console Splitter Driver ConSplitter

2C 00000010 D - - 2 - Usb Uhci Driver UsbUhci

2D 00000010 B - - 2 3 USB Bus Driver UsbBus

2E 00000010 ? - - - - Usb Bot Mass Storage Driver UsbBot

2F 00000010 ? - - - - <UNKNOWN> UsbCbi1

30 00000010 D - - 1 - Usb Keyboard Driver UsbKeyboard

31 00000114 D - - 1 - ATI Rage XL UGA Driver PciRom Seg=00000000

60 00000010 D - - 2 - Generic Disk I/O Driver DiskIo

61 00000010 ? - - - - Partition Driver(MBR/GPT/El Torito) Partition

62 00000010 D - - 1 - FAT File System Driver Fat

64 00000030 B - - 1 1 Intel® PRO/1000 v1.20 EFI-64 GigUndi

65 00000010 D - - 1 - Simple Network Protocol Driver Snp3264

66 00000010 D - - 1 - PXE Base Code Driver PxeBc

67 00000010 D - - 1 - PXE DHCPv4 Driver PxeDhcp4

68 00000010 D - - 1 - Usb Mouse Driver UsbMouse

78 01020300 D X X 2 - LSI Logic Ultra320 SCSI Driver VenHw(6D9FEEB1-E585

A1 00002100 ? - - - - Intel® PRO/1000 v2.10 EFI-64 \/E210B2.efi

 

The #D and #C fields indicate whether the driver successfully bound to a device and

created a child handle respectively. In the screen above these field are blank

indicating the E206B2.efi network driver has not bound to a device. In the above

screen the driver did not bind because a previous version of the network driver was

already bound to the device (handle 64 above). Remedying this problem is described in

the next section.

 

Connecting the EFI Network Driver

Once the driver is loaded it needs to bind to the network adapter. If an earlier

version of the driver was already loaded then the EFI "reconnect" command must be used

to reconnect all drivers in the system so that the network adapter will bind to the

newer version of the driver loaded in the system. The "reconnect" command is used:

reconnect -r

 

The "-r" parameter indicates that a recursive reconnect be performed. When the

reconnect command completes it will report whether the reconnection was successful.

The EFI "drivers" command should be used to verify whether the network adapter

successfully rebound to the new driver.

 

Unloading the EFI Network Driver

To unload a network driver from memory the EFI "unload" command is used. The syntax

for using the unload command is as follows: "unload [driver handle]", where driver

handle is the number assigned to the driver in the far left column of the "drivers"

output screen.

 

Intel EFI Network Driver naming convention

The Intel EFI drivers all follow a naming convention allowing the driver version,

driver type, and the hardware supported by the driver to be determined by looking at

the filename. Below is the decoder for the driver filenames:

 

Exyytn.efi

 

where: x is the major version number of the EFI driver in decimal

yy is the minor version number of the EFI driver in decimal

 

t is the type of driver

B - EFI EBC UNDI driver only

E - EFI32 specific UNDI only

I - EFI64 specific UNDI only

 

n is the general type of adapter the driver is for

1 - Fast Ethernet

2 - Gigabit

4 - 10 Gigabit

6 - TCP Offload Engine (TOE)

 

Examples:

E206B2.efi - Version 2.06 of EBC EFI driver for PRO/1000

E103I4.efi - Version 1.03 of EBC EFI driver for PRO/10GBE

E001E6.efi - Version 0.01 of EFI32 driver for TOE

 

First you have to load the Simple Network driver, then the ethernet driver, then it looks like it doesn't matter. I would try, but I don't have a EFI system and MacBook Pro's aren't shipping till February.

 

All those drivers look to be in the Binary\IA32Drivers\BIN directory when the file is extracted.

 

Corey

Edited by koltz

Share this post


Link to post
Share on other sites
Been watching the thread and lurking for the most part. I do have a MacBook Pro on order. But I just downloaded the EFI toolkit up on Intel's website. The only readme.txt I found shows that you can load EFI drivers? One is Partition.EFI which shows support for MBR/GPT/EL Torito? I will just copy/paste the readme.txt here.

First you have to load the Simple Network driver, then the ethernet driver, then it looks like it doesn't matter. I would try, but I don't have a EFI system and MacBook Pro's aren't shipping till February.

 

All those drivers look to be in the Binary\IA32Drivers\BIN directory when the file is extracted.

 

Corey

 

Woah, this certainly sounds very interesting. However, I don't think we can get to the Shell prompt on Intel iMacs yet where those commands would need to be typed in. We can get to that Intel test implementation but I don't think we can get to the shell where the commands could be typed in because as far as I know Apple never put the shell in there. :graduated: I may be wrong though since I don't have an Intel mac to play around with yet.

Share this post


Link to post
Share on other sites

Well, this topic name really should be changed as we're definitely not any closer to booting Vista.

 

Anyway, aren't there any Linux distributions that can be installed directly? I mean, there's got to be some GPT Linux distros. Those would be the most interesting thing to look into first.

Share this post


Link to post
Share on other sites

When I was checking out ELILO, they have an older version compiled for IA32. I am guessing they only have Itanium box. But from what it sounds like on the sourceforge, is that should work. But I don't know how to integrate it (or what distros have it integrated) outside of Itanium. I know SUSE has a distra that uses it, but again Itanium build.

 

As for the EFI's, isn't the shell an EFI also? Plus what I read was there should be a efi.conf file. This might be used for an autoloading of modules. So if Apple has a conf file, it might be missing besides those files/those commands to load when the EFI is loaded.

 

Corey

Share this post


Link to post
Share on other sites
Well, this topic name really should be changed as we're definitely not any closer to booting Vista.

 

Anyway, aren't there any Linux distributions that can be installed directly? I mean, there's got to be some GPT Linux distros. Those would be the most interesting thing to look into first.

 

Red Hat has announced that they are working to get their linux distro to boot on the new intel macs.

 

Red Hat needs to write this from the ground up consider their kernel does not include EFI support

 

I found this information here.

Share this post


Link to post
Share on other sites

Yeah, I read that. I would expect that Red Hat should have something ready for when my MacBook Pro is shipped. And with that, GRUB2/ELILO and possibly booting XP with it. But I will be patiently watching until it ships on progress.

 

Corey

Share this post


Link to post
Share on other sites
Well, this topic name really should be changed as we're definitely not any closer to booting Vista.

 

Anyway, aren't there any Linux distributions that can be installed directly? I mean, there's got to be some GPT Linux distros. Those would be the most interesting thing to look into first.

 

My thoughts exactly.

Share this post


Link to post
Share on other sites

Why doesn't anybody try building a version of grub 2 and use it on the mac? It can't be that hard. I have compiled and installed stuff on my laptop. I would do it but I don't have a mac :( I sure want a macbook though!

Isaac.S ;)

Share this post


Link to post
Share on other sites

What about Windows Server 2003?

 

Some weeks ago I was browsing some server preferences and found in the disk management an option to convert a harddrive to gpt. Then I clicked on help to see what it is (I never heard before of GPT), and microsoft tells that this is a new "generation" of partitioning tables and is used with 64bit systems and so on.

 

But in the moment i don't have any Windows 2003. I have to go to work and look, but i can't try to much things on this machine cause it's a "production server".

Share this post


Link to post
Share on other sites

Ok, no excuses now. Here is the url to build grub 2 for x86 using gpt. Scroll down a bit. I would work on doing it myself but don't have a machine to do it on. Anybody want to team up with me? :) If you do let me know... I am in Spokane WA. Let's get a move on it!

Isaac.S

 

http://grub.enbug.org/TestingOnX86

 

 

Boot GRUB 2 via floppy on a GPT partitioned system

 

You can boot GRUB 2 via floppy on a GPT partitioned system using following script to create a bootable floppy disk:

 

#!/bin/bash

#This will create a GRUB2 boot floppy that supports GPT system:

 

grub-mkimage -d /boot/grub -v -o /boot/grub/core.img ls ext2 gpt pc linux _linux boot chain configfile default fshelp help

mke2fs /dev/fd0

mount -o loop -t ext2 /dev/fd0 /mnt/floppy/

mkdir -p /mnt/floppy/boot/grub

cp /boot/grub/boot.img /boot/grub/core.img /boot/grub/*.mod /mnt/floppy/boot/grub

cp -f /boot/grub/grub.cfg /mnt/floppy/boot/grub

grub-mkdevicemap -m /boot/grub/device.map

grub-setup -d /mnt/floppy/boot/grub -v -r '(fd0)' -m /boot/grub/device.map '(fd0)'

umount /mnt/floppy

Share this post


Link to post
Share on other sites
Unrelated, I too find the topic very confusing... "I DID IT!!! (EFI Vista Boot), - Not OSX yet" is very misleading and the latter makes no sense... Perhaps rename it to something similar to what's being discussed: EFI booting? Is there a focus on just Windows or are we covering anything that can boot on the new Macs?

 

I agree.

Admins, can you please rename the thread to stop confusing people ?

Share this post


Link to post
Share on other sites

if Win xp loads onto these new Macs. I am curious if I will be able to use my firewire Audio interface that is made to be used with Win XP. (Could I use it with a Macbook Pro running Win XP?) Should there be any issues?

 

If there will be issues, what will some of them be? Drivers?

Share this post


Link to post
Share on other sites

i was wondering, how hard would it be to physically remove the hard drive from an intel imac? if it were possible, couldn't you plug it into a pc (with osx i guess) and repartition it, add grub etc. from there, then install windows on it. I read somewhere that apple's EFI reads FAT partitions, so you could use that in XP. After all that, could you put it back into the imac and (i'm certainly no expert on this stuff, infact i know next to nothing) configure it to boot the grub loader?

Share this post


Link to post
Share on other sites

As for the firewire thing. All it will need is driver support.

 

As for FAT/NTFS, it is the partition info, not the file format. That is why everybody is looking into GRUB/LILO for boot management.

Share this post


Link to post
Share on other sites

Just wondering if any one has considered a slightly different approach to this situation. The main concerns with loading windows are EFI, and GPT. We know that windows does not natively support GPT, but my question is this, even though macos uses GPT by default, can it be made to work with a normally partitioned hard drive that windows would understand? If it is possible to do so, then we could stop looking in so many directions and focus on getting an EFI boot loader, and worrying about what bios compatibility options windows needs. Just my 2 cents.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×