[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20061004214403.e7d9f23b.akpm@osdl.org>
Date: Wed, 4 Oct 2006 21:44:03 -0700
From: Andrew Morton <akpm@...l.org>
To: ebiederm@...ssion.com (Eric W. Biederman)
Cc: vgoyal@...ibm.com,
linux kernel mailing list <linux-kernel@...r.kernel.org>,
Reloc Kernel List <fastboot@...ts.osdl.org>, ak@...e.de,
horms@...ge.net.au, lace@...kratochvil.net, hpa@...or.com,
magnus.damm@...il.com, lwang@...hat.com, dzickus@...hat.com,
maneesh@...ibm.com
Subject: Re: [PATCH 12/12] i386 boot: Add an ELF header to bzImage
On Wed, 04 Oct 2006 22:06:27 -0600
ebiederm@...ssion.com (Eric W. Biederman) wrote:
> > Seems that the entire kernel effort is an ongoing plot to make my poor
> > little Vaio stop working. This patch turns it into a black-screened rock
> > as soon as it does grub -> linux. Stock-standard FC5 install, config at
> > http://userweb.kernel.org/~akpm/config-sony.txt.
>
> Ugh. I just tested this with a grub 0.97-5 from what I assume is a
> standard FC5 install (I haven't touched it) and the kernel boots.
> I only have a 64bit user space on that machine so init doesn't
> start but I get the rest of the kernel messages.
>
> There were several testers working at redhat so a pure redhat
> incompatibility would be a surprise.
>
> I don't think the formula is a simple grub+bzImage == death.
>
> There is something more subtle going on here.
>
> I'm not certain where to start looking. Andrew it might help if we
> could get the dying binary just in case some weird compile or
> processing problem caused insanely unlikely things like the multiboot
> binary to show up in your grub install. I don't think that is it,
> but it should allow us to rule out that possibility.
I tested it with Vivek's fix (below) and it still dies immediately.
The grub record is
title new (2.6.19-rc1)
root (hd0,5)
kernel /boot/bzImage-2.6.19-rc1 ro root=LABEL=/ rhgb vga=0x263
initrd /boot/initrd-2.6.19-rc1.img
various binares are at http://userweb.kernel.org/~akpm/reloc/
arch/i386/boot/bootsect.S | 42 +-----------------------------------
1 files changed, 2 insertions(+), 40 deletions(-)
diff -puN arch/i386/boot/bootsect.S~i386-boot-add-an-elf-header-to-bzimage-fix arch/i386/boot/bootsect.S
--- a/arch/i386/boot/bootsect.S~i386-boot-add-an-elf-header-to-bzimage-fix
+++ a/arch/i386/boot/bootsect.S
@@ -17,7 +17,6 @@
#include <linux/utsrelease.h>
#include <linux/compile.h>
#include <linux/elf.h>
-#include <linux/elf_boot.h>
#include <asm/page.h>
#include <asm/boot.h>
@@ -73,8 +72,8 @@ ehdr:
.int 0 # e_shoff
.int 0 # e_flags
.word e_ehdr - ehdr # e_ehsize
- .word e_phdr1 - phdr # e_phentsize
- .word (e_phdr - phdr)/(e_phdr1 - phdr) # e_phnum
+ .word e_phdr - phdr # e_phentsize
+ .word 1 # e_phnum
.word 40 # e_shentsize
.word 0 # e_shnum
.word 0 # e_shstrndx
@@ -95,45 +94,8 @@ phdr:
.int 0 # p_memsz
.int PF_R | PF_W | PF_X # p_flags
.int CONFIG_PHYSICAL_ALIGN # p_align
-e_phdr1:
-
- .int PT_NOTE # p_type
- .int b_note - _start # p_offset
- .int 0 # p_vaddr
- .int 0 # p_paddr
- .int e_note - b_note # p_filesz
- .int 0 # p_memsz
- .int 0 # p_flags
- .int 0 # p_align
e_phdr:
-.macro note name, type
- .balign 4
- .int 2f - 1f # n_namesz
- .int 4f - 3f # n_descsz
- .int \type # n_type
- .balign 4
-1: .asciz "\name"
-2: .balign 4
-3:
-.endm
-.macro enote
-4: .balign 4
-.endm
-
- .balign 4
-b_note:
- note ELF_NOTE_BOOT, EIN_PROGRAM_NAME
- .asciz "Linux"
- enote
- note ELF_NOTE_BOOT, EIN_PROGRAM_VERSION
- .asciz UTS_RELEASE
- enote
- note ELF_NOTE_BOOT, EIN_ARGUMENT_STYLE
- .asciz "Linux"
- enote
-e_note:
-
start2:
movw %cs, %ax
movw %ax, %ds
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists