Public bug reported:
Binary package hint: mkvmlinuz
mkvmlinuz in edgy fails to create the kernel vmlinuz, here follows the
output:
[EMAIL PROTECTED]:0 > mkvmlinuz -v
=== Building for sub-architecture chrp.
=== Using kernel image file /boot/vmlinux-2.6.17-5-powerpc.
=== Using initrd image file /boot/initrd.img-2.6.17-5-powerpc.
=== Release version seems to be 2.6.17-5-powerpc.
=== Using object files from /usr/lib/mkvmlinuz.
=== Building a bootable compressed kernel image in
/boot/vmlinuz-2.6.17-5-powerpc.
=== Doing build in /tmp/tmp.xcLEcF5628.
=== Creating compressed initrd image initrd.gz...
cp -p /boot/initrd.img-2.6.17-5-powerpc /tmp/tmp.xcLEcF5628/initrd.gz
=== Creating compressed kernel image vmlinux.gz...
strip -s -R .comment /boot/vmlinux-2.6.17-5-powerpc -o
/tmp/tmp.xcLEcF5628/vmlinux
gzip --force --best /tmp/tmp.xcLEcF5628/vmlinux
=== Putting everything into ELF image file image.o...
objcopy /usr/lib/mkvmlinuz/mkvmlinuz-kernel-vmlinux.strip.o
/tmp/tmp.xcLEcF5628/dummy_kernel.o
--add-section=.kernel:vmlinux.strip=/tmp/tmp.xcLEcF5628/vmlinux.gz
--set-section-flags=.kernel:vmlinux.strip=contents,alloc,load,readonly,data
objcopy /usr/lib/mkvmlinuz/mkvmlinuz-kernel-initrd.o
/tmp/tmp.xcLEcF5628/dummy_initrd.o
--add-section=.kernel:initrd=/tmp/tmp.xcLEcF5628/initrd.gz
--set-section-flags=.kernel:initrd=contents,alloc,load,readonly,data
=== Creating bootable kernel image file vmlinuz.chrp...
ld -m elf32ppc -T /usr/lib/mkvmlinuz/zImage.lds -o
/tmp/tmp.xcLEcF5628/vmlinuz.chrp /usr/lib/mkvmlinuz/crt0.o
/usr/lib/mkvmlinuz/string.o /usr/lib/mkvmlinuz/prom.o
/usr/lib/mkvmlinuz/stdio.o /usr/lib/mkvmlinuz/main.o /usr/lib/mkvmlinuz/div64.o
/usr/lib/mkvmlinuz/infblock.o /usr/lib/mkvmlinuz/infcodes.o
/usr/lib/mkvmlinuz/inffast.o /usr/lib/mkvmlinuz/inflate.o
/usr/lib/mkvmlinuz/inftrees.o /usr/lib/mkvmlinuz/infutil.o
/tmp/tmp.xcLEcF5628/dummy_kernel.o /tmp/tmp.xcLEcF5628/dummy_initrd.o
/usr/lib/mkvmlinuz/prom.o: In function `claim':
prom.c:(.text+0x764): undefined reference to `__stack_chk_fail'
/usr/lib/mkvmlinuz/stdio.o: In function `number':
stdio.c:(.text+0x480): undefined reference to `__stack_chk_fail'
/usr/lib/mkvmlinuz/addnote /tmp/tmp.xcLEcF5628/vmlinuz.chrp
/tmp/tmp.xcLEcF5628/vmlinuz.chrp: No such file or directory
=== Cleaning up...
We either have to compile mkvmlinuz with -fno-stack-protector or define
that function somewhere. I assume a patch for the kernel is required for
that.
I tried to recompile mkvmlinuz with the flag -fno-stack-protector. Added
to mkvmlinuz-23ubuntu1/boot/Makefile in the mkvmlinuz package and then
tried to create the kernel with the new object files and it worked just
fine. The kernel even booted without problem afterwards.
I don't know which solution is the way to go, patch the kernel or add
the flag -fno-stack-protector to mkvmlinuz.
** Affects: mkvmlinuz (Ubuntu)
Importance: Untriaged
Status: Unconfirmed
--
mkvmlinuz fails to create kernel
https://launchpad.net/bugs/53460
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs