grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] New x86_64 EFI patch


From: Bean
Subject: Re: [PATCH] New x86_64 EFI patch
Date: Mon, 23 Jun 2008 20:53:43 +0800

On Mon, Jun 23, 2008 at 7:58 PM, Isaac Dupree
<address@hidden> wrote:
> Bean wrote:
>>
>> On Sat, Jun 21, 2008 at 1:04 AM, Bean <address@hidden> wrote:
>>>
>>> Hi,
>>>
>>> This new patch add the following function to the original x86_64 EFI
>>> patch:
>>>
>>> 1, Fix menu drawing problem
>>> It maps the unicode char to EFI char so that the rectangle box is
>>> showed properly
>>>
>>> 2, Handle command line option for chainloader command
>>>
>>> 3, Add new command appleloader
>>> The command is used to enable bios boot in apple's bootcamp, for example
>>>
>>> boot from legacy mbr:
>>> appleloader HD
>>> boot
>>>
>>> boot from legacy cd:
>>> appleloader CD
>>> boot
>>>
>>> boot from usb:
>>> appleloader USB
>>> boot
>>>
>>> The usb booting may not work in some machine.
>
> I'm not so sure about that syntax.  Is there really only one way to boot
> from HD or USB? (for example I've been storing pc-GRUB2 in fat16 header on
> third partition, not mbr, and rEFIt finds it there).  How does Windows do it
> (can we boot Windows using this)? (even though Apple made BootCamp for
> windows, I don't want to find out personally.)  I guess you're stuck with
> some limitations of the apple bios software?  Also , "appleloader CD" makes
> me think it should be used even for Mac OS X boot-CD's, which I doubt it
> should?

Yes, this is the only way to boot from legacy HD/CD. Refit is using
the same method, but it also writes an embedded syslinux mbr to the
disk, and mark the partition as active, this is how it boots from
different partition.

>> Hi,
>>
>> I also fix a few problem in the linux loader, now it can load both 686
>> and x86_64 kernel from 64-bit EFI firmware.
>
> do you mean linux successfully booting, or hanging as before?

It can boot both x86_64 and 686 kernel from 64-bit EFI firmware, while
previously it can only boot x86_64.

>
>> Would someone test it in 32-bit EFI ?
>
> I get an error during `make`, after (from a clean tree)
> cvs up; patch -p1 -l < ~/../downloads/efi_5.diff;
> ./configure --with-platform=efi; make
>
> cat kernel_syms.lst def-normal.lst def-_chain.lst def-chain.lst
> def-_linux.lst def-linux.lst def-cpuid.lst def-halt.lst def-reboot.lst
> def-fshelp.lst def-fat.lst def-ufs.lst def-ext2.lst def-ntfs.lst
> def-ntfscomp.lst def-minix.lst def-hfs.lst def-jfs.lst def-iso9660.lst
> def-xfs.lst def-affs.lst def-sfs.lst def-hfsplus.lst def-reiserfs.lst
> def-cpio.lst def-udf.lst def-afs.lst def-amiga.lst def-apple.lst def-pc.lst
> def-sun.lst def-acorn.lst def-gpt.lst def-raid.lst def-lvm.lst def-hello.lst
> def-boot.lst def-terminal.lst def-ls.lst def-cmp.lst def-cat.lst
> def-echo.lst def-help.lst def-font.lst def-search.lst def-test.lst
> def-loopback.lst def-configfile.lst def-terminfo.lst def-blocklist.lst
> def-hexdump.lst def-elf.lst def-gzio.lst def-read.lst def-sleep.lst
> /dev/null \
>          | mawk -f ./genmoddep.awk und-kernel.lst und-normal.lst
> und-_chain.lst und-chain.lst und-_linux.lst und-linux.lst und-cpuid.lst
> und-halt.lst und-reboot.lst und-fshelp.lst und-fat.lst und-ufs.lst
> und-ext2.lst und-ntfs.lst und-ntfscomp.lst und-minix.lst und-hfs.lst
> und-jfs.lst und-iso9660.lst und-xfs.lst und-affs.lst und-sfs.lst
> und-hfsplus.lst und-reiserfs.lst und-cpio.lst und-udf.lst und-afs.lst
> und-amiga.lst und-apple.lst und-pc.lst und-sun.lst und-acorn.lst und-gpt.lst
> und-raid.lst und-lvm.lst und-hello.lst und-boot.lst und-terminal.lst
> und-ls.lst und-cmp.lst und-cat.lst und-echo.lst und-help.lst und-font.lst
> und-search.lst und-test.lst und-loopback.lst und-configfile.lst
> und-terminfo.lst und-blocklist.lst und-hexdump.lst und-elf.lst und-gzio.lst
> und-read.lst und-sleep.lst > moddep.lst \
>          || (rm -f moddep.lst; exit 1)
> grub_pci_make_address in _linux is not defined
> make: *** [moddep.lst] Error 1

You should also run ./autogen.sh to update the mk files. Also, I have
uploaded an binary version at:

http://grub4dos.sourceforge.net/grub2/grub.efi.1

You can use it if you still can't compile it successfully.

-- 
Bean




reply via email to

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