mkvmlinuz broken on CHRP with recent kernels

Bug #355223 reported by Christian Neumair
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-ports-meta (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: linux-image-powerpc

The whole mkvmlinuz machinery for recent linux kernels seems to be somehow broken on CHRP (Pegasos II) PowerPC architectures

I upgraded to jaunty and installed linux-image-2.6.28-6-powerpc. CHRPs need a custom vmlinuz kernel, which is generated at configure stage using the mkvmlinuz tool from the mkvmlinuz package. However, mkvmlinuz failed:

a) running mkvmlinuz on CHRP requires $objdir/wrapper where $objdir is /usr/lib/mkvmlinuz, which does not exist.

b) copying over wrapper and some other required helpers it depends upon (empty.o, of.o, wrapper.a) from a manually compiled 2.6.28-6 kernel's arch/powerpc directory to /usr/lib/mkvmlinuz makes mkvmlinuz bail as well:

run-parts: executing /etc/kernel/postinst.d/mkvmlinuz
ld: warning: cannot find entry symbol _zimage_start; defaulting to 0000000000400
000
Output file /boot/vmlinuz-2.6.28-6-powerpc exists, attempting to back it up...

For me, a workaround was to force
$objdir=/usr/src/linux-source-2.6.28/arch/powerpc
in the /usr/sbin/mkvmlinuz shell script and dpkg-reconfigure the kernel. However, this required a compiled kernel source to generate a kernel image. Somehow the kernel's entry points semantics probably changed in recent kernels, so the mkvmlinuz package cannot be used for all kernel versions any more.

Alternative proposed solutions:
a) Ship multiple kernel images, one for each subarchitecture (CHRP etc.) instead of running mkvmlinuz manually for creating them
b) Fix vmlinuz to be usable for recent kernels by replacing its helpers with recent ones from arch/powerpc/boot, probably rendering it useless for older ones.
c) Ship multiple mkvmlinuz flavors: One for recent and one for older kernels
d) recent linux-kernel packages could dump the required contents for running vmlinuz from their arch/powerpc/boot subdirectory in /usr/lib/linux-image-foo. mkvmlinuz could pick them up automatically.

Andy Whitcroft (apw)
Changed in linux-ports-meta (Ubuntu):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.