grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] bug fix for x86_64 efi


From: Peter Cros
Subject: Re: [PATCH] bug fix for x86_64 efi
Date: Sat, 21 Feb 2009 16:32:23 +1100

I am just  a  grub.efi user/tester/enthusiast.


I don't know the Xserve but some previous reports in this list of people getting grub.efi to boot on Xserve, and if so it will boot hd/usb linux on other Apple intel Macs with varying results .


There are some  grub.efi 64/32 bit test packages on ubuntuforums  that you might try (include the patch) . Xserve results would be interesting.


grub2 EFI boot loader internal/external booting



On Sat, Feb 21, 2009 at 3:16 AM, Drew Rosen <address@hidden> wrote:
Hi Peter / phcoder / all other grub gurus,

I've joined the grub-devel mail list while attempting to get MacIntel Xserves to boot linux. I work with a 3d Movie Effects company that has 25 MacIntel Xserves that are becoming close to as useful as paperweights because they can't run Maya at 64bit for rendering. (and we can't repurpose them as linux servers).

Any chance we can help test this patch in an xserve environment, and/or do you have any ideas that would help us? 

Here's the most discouraging info I've received in my research to date:

The Xserve does not have BIOS compatibility, and so you'll need to boot through EFI. The Apple EFI implementation will not boot directly off ISO9660 media, so you'll need to find a way to get to the EFI console. You'll need a kernel configured with EFI support. There's no especially sensible way to get a working framebuffer on this hardware, so you'll need to work out what arguments need to be passed to your distribution's installer in order to get it to run over the serial port. elilo or grub-efi should be able to boot the kernel and initramfs.

I've been catologing my research at:
http://drewsta.com/xserve.html

Thanks!

Drew



On Feb 20, 2009, at 6:28 AM, Peter Cros wrote:

Tested the patch applied to rev 1996 for grub.efi 64 bit and 32 bit, on Imac81 (4GB ram), MacBookPro41 (4GB and 2GB ram)  MacBook21 (i386)
with Macosx 10.4 10.5, ubuntu810.
All good.

64bit Macs have other ongoing EFI problems with linux kernel initializtion and keyboard.


On Fri, Feb 20, 2009 at 2:12 AM, Bean <address@hidden> wrote:
Hi,

This patch contains several important update for x86_64 efi:

1, Support memory larger than 2G.
2, Fix a bug in efi_call_6 that could cause chainloadering osx to fail.
3, Improve the method to detect frame buffer address and line length
in linux loader.

2009-02-19  Bean  <address@hidden>

       * configure.ac: Check for -mcmodel=large in x86_64 target.

       * include/grub/efi/api.h (efi_call_10): New macro.
       (efi_wrap_10): New function.

       * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
       (GRUB_PE32_REL_BASED_HIGH): Likewise.
       (GRUB_PE32_REL_BASED_LOW): Likewise.
       (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
       (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
       (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
       (GRUB_PE32_REL_BASED_SECTION): Likewise.
       (GRUB_PE32_REL_BASED_REL): Likewise.
       (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
       (GRUB_PE32_REL_BASED_DIR64): Likewise.
       (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.

       * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
       issue.

       * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
       (efi_wrap_10): New function.

       * kern/x86_64/efi/startup.S (codestart): Use relative addressing.

       * loader/efi/appleloader.c (devpath_5): Add support for late 2008
       MB/MBP model (NV chipset).
       (devdata_devs): Add devpath_5 to the list.

       * load/i386/efi/linux.c (video_base): Remove variable.
       (RGB_MASK): New macro.
       (RGB_MAGIC): Likewise.
       (LINE_MIN): Likewise.
       (LINE_MAX): Likewise.
       (FBTEST_STEP): Likewise.
       (FBTEST_COUNT): Likewise.
       (fb_list): New variable.
       (grub_find_video_card): Remove function.
       (find_framebuf): New function.
       (grub_linux_setup_video): Use find_framebuf to get frame buffer and
       line length.

       * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
       problem for x86_64.

--
Bean

_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel




--
Cros (pxw)


_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel


_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel




--
Cros (pxw)



reply via email to

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