mkvmlinuz broken on CHRP with recent kernels
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-
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/
ld: warning: cannot find entry symbol _zimage_start; defaulting to 0000000000400
000
Output file /boot/vmlinuz-
For me, a workaround was to force
$objdir=
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/
Changed in linux-ports-meta (Ubuntu): | |
status: | New → Won't Fix |