From: Vivek Goyal <vgoyal@in.ibm.com>
To: Alexander van Heukelum <heukelum@fastmail.fm>,
Jean Delvare <khali@linux-fr.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
Andi Kleen <ak@suse.de>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: Patch "i386: Relocatable kernel support" causes instant reboot
Date: Fri, 22 Dec 2006 02:14:08 +0530 [thread overview]
Message-ID: <20061221204408.GA7009@in.ibm.com> (raw)
In-Reply-To: <1166723157.29546.281560884@webmail.messagingengine.com>
On Thu, Dec 21, 2006 at 06:45:57PM +0100, Alexander van Heukelum wrote:
> Hi,
>
> Hmm. taking a peek at the bzImage there...
>
> 00001d80 41 00 56 45 53 41 00 56 69 64 65 6f 20 61 64 61
> |A.VESA.Video ada|
> 00001d90 70 74 65 72 3a 20 00 00 00 b8 00 00 55 aa 5a 5a |pter:
> ......U.ZZ|
> 00001da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> |................|
> *
> 00001e00 4e 35 13 00 1f 8b 08 00 23 a4 89 45 02 03 b4 fd
> |N5......#..E....|
> -- -- -- -- ^^ ^^ ^^
>
> This is the end of the realmode kernel, and it should be followed by the
> 32-bit code that is to be executed at (normally) 0x100000, right? This
> is however not the case here. Where did arch/i386/boot/compressed/head.S
> go then? What is the significance of this value 0x0013354e? It is in
> fact
> exactly the size of the compressed kernel image.
>
> I have no idea what went wrong, but it went wrong in the build process
> of the bzImage.
>
Hi Alexander,
Excellent observation. I did an "od -Ax -tx1" on bzImage built by me and
I can see the right startup_32() code bytes at the end of real mode code.
001d20 74 65 72 3a 20 00 00 00 b8 00 00 55 aa 5a 5a 00
001d30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
001e00 fc fa b8 18 00 00 00 8e d8 8e c0 8e e0 8e e8 8e
^^^^^^^^^^^
Following is the disassembly of startup_32() in
arch/386/boot/compressed/head.S
00000000 <startup_32>:
0: fc cld
1: fa cli
2: b8 18 00 00 00 mov $0x18,%eax
So I can see 0x18b8fafc being rightly placed immediately after real
mode code (setup.S). But that does not seem to be the case with Jean's
bzImage.
The only place where size of compressed kernel (vmlinux.bin.gz) is placed
is piggy.o. Look at arch/i386/boot/compressed/vmlinux.scr. Here we put
the size of vmlinux.bin.gz in .data.compressed section before we put
actual vmlinux.bin.gz in this section.
Does that mean that somehow .data.compressed section was placed before
.text.head section? But that would be contarary to what
arch/i386/boot/compressed/vmlinux.lds instructs to linker.
At the same time I tried to find the pattern 0x18b8fafc in Jean's bzImage
but I can't find that. Does that mean that arch/i386/boot/compressed/head.S
was never compiled and linked?
Jean, can you please upload some more files. Should give some more idea
about what happened in your environment.
arch/i386/boot/vmlinux.bin
arch/i386/boot/compressed/piggy.o
arch/i386/boot/compressed/head.o
Thanks
Vivek
next prev parent reply other threads:[~2006-12-22 7:14 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20061220141808.e4b8c0ea.khali@linux-fr.org>
2006-12-20 14:00 ` Patch "i386: Relocatable kernel support" causes instant reboot Eric W. Biederman
[not found] ` <20061220214340.f6b037b1.khali@linux-fr.org>
2006-12-20 22:22 ` Eric W. Biederman
[not found] ` <20061221101240.f7e8f107.khali@linux-fr.org>
[not found] ` <20061221102232.5a10bece.khali@linux-fr.org>
2006-12-21 10:32 ` Eric W. Biederman
2006-12-21 1:08 ` Vivek Goyal
2006-12-21 12:32 ` Eric W. Biederman
2006-12-21 2:26 ` Vivek Goyal
2006-12-21 3:54 ` Vivek Goyal
2006-12-21 13:13 ` Jean Delvare
2006-12-21 3:13 ` Vivek Goyal
2006-12-21 13:59 ` Jean Delvare
2006-12-21 17:45 ` Alexander van Heukelum
2006-12-21 20:44 ` Vivek Goyal [this message]
2006-12-22 8:08 ` Jean Delvare
2006-12-22 10:40 ` Vivek Goyal
2006-12-22 22:22 ` Jean Delvare
2006-12-22 22:37 ` Eric W. Biederman
2006-12-26 12:43 ` Segher Boessenkool
2006-12-26 14:03 ` Jean Delvare
2006-12-27 4:00 ` Vivek Goyal
2006-12-27 4:25 ` Segher Boessenkool
2007-01-01 21:39 ` Jean Delvare
2007-01-02 6:11 ` Vivek Goyal
2007-01-02 9:29 ` Jean Delvare
2007-01-02 13:44 ` Segher Boessenkool
[not found] ` <20061221145401.07bfe408.khali@linux-fr.org>
2006-12-21 3:40 ` Vivek Goyal
2006-12-21 14:22 ` Jean Delvare
2006-12-21 4:41 ` Vivek Goyal
2006-12-21 8:55 ` Jean Delvare
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=20061221204408.GA7009@in.ibm.com \
--to=vgoyal@in.ibm.com \
--cc=ak@suse.de \
--cc=ebiederm@xmission.com \
--cc=heukelum@fastmail.fm \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox