From: walt <wa1ter@myrealbox.com>
To: grub-devel@gnu.org
Subject: Re: aout support almost working now
Date: Wed, 06 Feb 2008 16:26:15 -0800 [thread overview]
Message-ID: <fodj69$fvi$1@ger.gmane.org> (raw)
In-Reply-To: <ca0f59980802061148y666800a4ob1dd5b3dc1698cb7@mail.gmail.com>
Bean wrote:
> On Feb 7, 2008 3:23 AM, walt<wa1ter@myrealbox.com> wrote:
>> With Bean's last two commits I can almost replace legacy with grub2
>> at least on x86. I have still one problem with the aout support that
>> Bean posted as a patch on Jan 27.
>>
>> Using legacy, which loads the FreeBSD /boot/loader as the 'kernel',
>> loader then reads its config files from the /boot directory so it
>> knows what parameters to pass to the real kernel and also what menu
>> items to show the user.
>>
>> Using grub2 with Bean's aout patch, I can load /boot/loader and
>> then boot it successfully, but it seems that 'loader' can't find
>> its config files in the /boot directory. This is what it prints:
>>
>> Can't work out which disk we are booting from.
>> Guessed BIOS device 0xffffffff not found by probes,
>> defaulting to disk0: can't load "kernel".
>>
>> At least on my machine, disk0 is the floppy drive and loader does
>> actually go to try to read it before printing the error messages
>> I listed, and then it drops to its interactive prompt.
>>
>> By examining the loader's variables it's clear that it never found
>> its usual config files in /boot.
>>
>> BTW, I did set 'root' and 'prefix' to point at the correct partition
>> before booting the loader.
>>
>> Any ideas what else to try?
>
> i think the %edx should be set before jumping to code, try this patch:
>
> diff --git a/kern/i386/loader.S b/kern/i386/loader.S
> index 266f4ef..88f3045 100644
> --- a/kern/i386/loader.S
> +++ b/kern/i386/loader.S
> @@ -137,6 +137,7 @@ FUNCTION(grub_multiboot_real_boot)
> cli
>
> /* Move the magic value into eax and jump to the kernel. */
> + movl $0x80, %edx
> movl $MULTIBOOT_MAGIC2,%eax
> popl %ecx
> jmp *%ecx
> @@ -159,6 +160,7 @@ FUNCTION(grub_multiboot2_real_boot)
> cli
>
> /* Move the magic value into eax and jump to the kernel. */
> + movl $0x80, %edx
> movl $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
> popl %ecx
> jmp *%ecx
>
> Please note that this is not a proper patch, it assume booting from
> the (hd0,0,a). you can adjust the value of %edx if you boot from other
> partition.
Sorry, I don't know what adjustment to make. I did find a macro for
MULTIBOOT_INFO_DISK_INFO but it's never actually used anywhere :o/
I'm trying to load (hd0,3,a) -- can you show me the right value for %edx ?
Thanks.
next prev parent reply other threads:[~2008-02-07 0:26 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-06 19:23 aout support almost working now walt
2008-02-06 19:48 ` Bean
2008-02-07 0:26 ` walt [this message]
2008-02-07 0:32 ` Robert Millan
2008-02-07 13:42 ` walt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='fodj69$fvi$1@ger.gmane.org' \
--to=wa1ter@myrealbox.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.