Crash kernel x86-32: BzImage is not relocatable. Can't be used as capture kernel.

Josh Boyer jwboyer at gmail.com
Tue Sep 4 13:59:13 UTC 2012


On Tue, Sep 4, 2012 at 9:18 AM, Pedro Francisco
<pedrogfrancisco at gmail.com> wrote:
> I'm trying to debug a spurious condition from which I can trigger a
> kernel crash from which no recovery is possible in most cases
> (context: http://comments.gmane.org/gmane.linux.kernel.wireless.general/95588
> ).
>
> Since I can't reliably trigger it, I've decided to use a crash kernel
> for when it does happen again, I'm able to get some useful info.
>
> However, on x86-32 I get:
> -snip
> + /sbin/kexec --elf32-core-headers -p
> '--command-line=BOOT_IMAGE=/vmlinuz-3.5.3-1.fc17.i686
> root=UUID=6823afd3-2e77-47d5-bdcd-d93f766b0033 ro quiet rhgb
> SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=pt-latin1  irqpoll
> nr_cpus=1 reset_devices'
> --initrd=/boot/initramfs-3.5.3-1.fc17.i686kdump.img
> /boot/vmlinuz-3.5.3-1.fc17.i686
> BzImage is not relocatable. Can't be used as capture kernel.
> Cannot load /boot/vmlinuz-3.5.3-1.fc17.i686
> + '[' 255 == 0 ']'
> + /usr/bin/logger -p info -t kdump 'kexec: failed to load kdump kernel'
> + return 1
> -snip
>
> Any idea if this is possible to workaround?
> http://forums.fedoraforum.org/showthread.php?t=282406 says "And bad
> news: x86-32 couldn't be recompiled as relocatable. This option
> automatically disabled at compilations" but I'm hoping there is some
> way to workaround this...

It was disabled for 32-bit kernels in the 3.3 timeframe.  There was a
binutils bug that caused silent kernel corruption on 32-bit relocatable
kernels and the best option at the time was to disable it.

You can probably enable it by removing the CONFIG_RELOCATABLE line in
config-x86-32-generic and rebuilding the kernel.

josh


More information about the test mailing list