报错:
LZ4 arch/arm/boot/compressed/piggy_data
Incorrect parameters
Usage :
lz4 [arg] [input] [output]
排查报错信息:
vi arch/arm/boot/compressed/Makefile +188:
compress-$(CONFIG_KERNEL_GZIP) = gzip
compress-$(CONFIG_KERNEL_LZO) = lzo
compress-$(CONFIG_KERNEL_LZMA) = lzma
compress-$(CONFIG_KERNEL_XZ) = xzkern
compress-$(CONFIG_KERNEL_LZ4) = lz4 //看起来CONFIG_KERNEL_LZ4被使能了
...
$(obj)/piggy_data: $(obj)/../Image FORCE
$(call if_changed,$(compress-y))
以上可以看出,lz4工具有异常。
执行编译脚本中,编译环境变量的配置后,查看lz4。
which lz4
/usr/bin/lz4
lz4 --help
lz4: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by lz4)
lz4: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by lz4)
解决:sudo apt-get remove lz4
之后编译linux-5.10 ok。
which lz4
/snap/bin/lz4
lz4 --help
*** LZ4 command line interface 64-bits v1.9.4, by Yann Collet ***
Usage :
lz4 [arg] [input] [output]
/snap/bin/lz4 --help
*** LZ4 command line interface 64-bits v1.9.4, by Yann Collet ***
Usage :
lz4 [arg] [input] [output]
交叉编译环境下lz4:
gcc-6.4.0_arm-rockchip-linux-gnueabihf$ find ./ -name lz4
./bin/lz4
原因分析:当前编译环境下,系统/usr/bin/lz4,优先于交叉编译环境下的lz4,然而系统/usr/bin/lz4工具异常,所以导致编译失败了。删除了系统/usr/bin/lz4后,实际调用到了系统/snap/bin/lz4,编译ok。