grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Booting 64-bit Linux on a Macbook5,2


From: Patrick Doyle
Subject: Re: Booting 64-bit Linux on a Macbook5,2
Date: Thu, 23 Sep 2010 09:47:44 -0400

On Thu, Sep 23, 2010 at 6:54 AM, Colin Watson <address@hidden> wrote:
> On Wed, Sep 22, 2010 at 03:16:24PM -0400, Patrick Doyle wrote:
>> I don't know where to turn here.  It seems that every thread I've
>> found that describes this ends with "and now it works", but I can't
>> seem to get there.
>>
>> I have installed 64-bit Ubuntu 10.04 on a Macbook5,2.  I would like to
>> boot this without the acpi=off parameter that is currently required.
>> Once, in the past, I installed grub-efi in the /efi folder and was
>> able to boot a 32-bit Ubuntu installation on this hardware.  But I
>> have since installed the 64-bit version and can no longer get it to
>> boot.  It gets as far as displaying the message about loading initrd
>> and stops there.
>
> Unlike on BIOS systems, on EFI systems the bit length of the kernel must
> match the bit length of the firmware (at least on Linux; Vladimir tells
> me that the XNU kernel in Darwin does some horrible things to work
> around this restriction).  Thus there are two possibilities:
>
>  1) You have 32-bit EFI, and won't be able to boot a 64-bit kernel from
>     it.
>
>  2) You have 64-bit EFI, and your previous 32-bit kernel was actually
>     silently falling back to BIOS compatibility mode.
>
> In either case, I'd recommend trying an ordinary BIOS version of GRUB
> instead (i.e. the grub-pc package); you'll need to create a BIOS Boot
> Partition (http://grub.enbug.org/BIOS_Boot_Partition), install GRUB to
> that partition rather than to the MBR, and tell rEFIt to boot from that
> partition.
>
Hi Colin,
Thank you for the reply.  I am able to boot either the 32-bit or the
64-bit kernel via grub when it is installed in /dev/sda3 (my Linux
partition).  But I have to set acpi=off (or maxcpus=1) in order to
boot the kernel.  (This is a known issue, see
https://bugzilla.kernel.org/show_bug.cgi?id=13170 and
https://bugs.launchpad.net/acpi/+bug/341230).  However as I've been
reading around, it seems that some folks have been able to boot with
full capabilities (i.e. ACPI and both cores) when booting via EFI.  I
thought I had been able to do that once last week, but in the process
of trying to get both Ubuntu and XP (and MAC OS) to all boot
peacefully together, I reinstalled various different times and didn't
keep as careful notes as I wished I had.

Anyway, I'm at the point now where (I believe) I've tried compiling a
32-bit version of grub (1.98 straight from the tarball), installing it
in /efi/grub on my Mac partition, and seeing an error that 32-bit mode
wasn't supported.

I've compiled a 64-bit version of grub and can bring up boot menus
with that, but things hang when I attempt to launch the kernel.  I've
tried both 32 and 64 bit kernels (full installations, actually) as
well as ext2 and ext4 root file systems.  Nothing I try seems to be
able to reproduce what I thought I saw work once before.

So I'm looking for tips for things to try and ways to attempt to debug
this issue.  I suspect that folks who got this working in the past
were using older versions/releases of MacOS, grub, or the kernel, and
I wonder if I'm (re)breaking new ground just by trying this with Snow
Leopard, grub 1.98, and Ubuntu 10.04.

I've tried compiling grub trunk with platform=efi, fetched with bzr,
but the compile failed.  (I don't have my computer in front of me
right now, so I can't tell you exactly what failed -- I'll double
check that, unless that was to be expected).

The one other thing I can think of is to apt-get all of the updates
for my 32-bit install.  (In order to save time, I've been trying
different configurations just with the versions of code on the install
CD).  I'm certain that when I thought I saw this work once before, I
would have seen it do so after I'd installed updates.

Can you tell me if 1.98 supports ext4?  I've seen some (older) web
pages that claim that it doesn't.  It would be nice to eliminate one
variable from consideration.

This might not be the correct forum to ask this, but does anybody know
what installing the "grub-efi-amd64" package really does for Ubuntu?
Does it replace the grub-pc package that was presumably installed off
the CD?  Should I be using that instead of compiling my own version of
grub-1.98 (in a VMware box on my Mac) and placing my own version in
/efi/grub?  Should I expect to install grub-efi-amd64 in /dev/sda3 and
be able to boot directly from that?

Thanks again for any tips.

--wpd



reply via email to

[Prev in Thread] Current Thread [Next in Thread]