gzip initramfs while only lz4/lzop selected
Stefan Agner
stefan at agner.ch
Mon Feb 2 13:31:25 PST 2015
Hi all,
Configuring the kernel without gzip support for initramfs but with
LZO/LZ4, while not having LZ4 on the build system, leads to a kernel
which is not bootable:
...
[ 0.488232] RPC: Registered udp transport module.
[ 0.493437] RPC: Registered tcp transport module.
[ 0.498693] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.505922] Kernel panic - not syncing: compression method gzip not
configured
[ 0.513855] ---[ end Kernel panic - not syncing: compression method
gzip not configured
I wondered, what format my initramfs might be, looking at the build
output suggested LZ4...
...
CC arch/arm/common/firmware.o
CC arch/arm/mm/dma-mapping.o
CC arch/arm/kernel/elf.o
GEN usr/initramfs_data.cpio.lz4
AS usr/initramfs_data.o
...
However...
$ file usr/initramfs_data.cpio.lz4
usr/initramfs_data.cpio.lz4: gzip compressed data, max compression, from
Unix
I actually use LZO and enabled LZ4 just to test some initramfs. But the
build system seem to have chosen it as its preferred compression method
for the built-in initramfs.
I would have expected a build error or at least a warning on such a
situation.
The relevant .config part looks like this:
...
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
...
I hit this because my build machine produced binaries which did not boot
anymore (unfortunately, the tty is not initialized at that point, so I
was completely left in the dark at first).
There was a similar problem some time ago:
https://lkml.org/lkml/2009/2/17/477
--
Stefan
More information about the linux-arm-kernel
mailing list