Hello, Alpha/Linux user Ian Las reported that since 2.6.22, the Kernel fails to load on his 164UX using MILO. (MILO is the only way to load Linux, as it only has ARCSBIOS.) It fails with ...Image loaded into memory, entry @ 0xfffffc0000310000 Setting up Milo reboot parameter block at 0xfffffc0000000140 Boot line is bootdevice=sdb2 bootfile=vmlinux.gz root=/dev/sdb6 Bootstrap complete, kernel @ 0xfffffc0000310000, sp @ 0xfffffc0000304000 ...turning on virtual addressing and jumping to the Linux Kernel -------------------------------------------------------------------------------- Kernel panic - not syncing: Attempted to kill init! Ian successfully bisected the failing commit, inline below. We tried reverting the commit, but it causes linker failures due to overlapping sections. How can we further debug and fix this? Thanks! Matt commit caf45dd92677b2001123cc06b5835052ccfee76f Author: Roland McGrath <roland@xxxxxxxxxx> Date: Thu Jul 19 01:48:37 2007 -0700 alpha: Put allocated ELF notes in read-only data segment This changes the alpha linker script to use the asm-generic NOTES macro so that ELF note sections with SHF_ALLOC set are linked into the kernel image along with other read-only data. The PT_NOTE also points to their location. This paves the way for putting useful build-time information into ELF notes that can be found easily later in a kernel memory dump. Signed-off-by: Roland McGrath <roland@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S index 6f4f037..fe13daa 100644 --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S @@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-alpha") OUTPUT_ARCH(alpha) ENTRY(__start) -PHDRS { kernel PT_LOAD ; } +PHDRS { kernel PT_LOAD; note PT_NOTE; } jiffies = jiffies_64; SECTIONS { @@ -28,6 +28,9 @@ SECTIONS __ex_table : { *(__ex_table) } __stop___ex_table = .; + NOTES :kernel :note + .dummy : { *(.dummy) } :kernel + RODATA /* Will be freed after init */
Attachment:
pgpLawEgIaMG9.pgp
Description: PGP signature