# git rev-parse -q --verify 580856e843f091a91f133b311d3e19e3d4374a21^{commit} 580856e843f091a91f133b311d3e19e3d4374a21 already have revision, skipping fetch # git checkout -q -f -B kisskb 580856e843f091a91f133b311d3e19e3d4374a21 # git clean -qxdf # < git log -1 # commit 580856e843f091a91f133b311d3e19e3d4374a21 # Author: Parth Pancholi # Date: Thu Nov 14 15:56:44 2024 +0100 # # kbuild: switch from lz4c to lz4 for compression # # Replace lz4c with lz4 for kernel image compression. # Although lz4 and lz4c are functionally similar, lz4c has been deprecated # upstream since 2018. Since as early as Ubuntu 16.04 and Fedora 25, lz4 # and lz4c have been packaged together, making it safe to update the # requirement from lz4c to lz4. # # Consequently, some distributions and build systems, such as OpenEmbedded, # have fully transitioned to using lz4. OpenEmbedded core adopted this # change in commit fe167e082cbd ("bitbake.conf: require lz4 instead of # lz4c"), causing compatibility issues when building the mainline kernel # in the latest OpenEmbedded environment, as seen in the errors below. # # This change also updates the LZ4 compression commands to make it backward # compatible by replacing stdin and stdout with the '-' option, due to some # unclear reason, the stdout keyword does not work for lz4 and '-' works for # both. In addition, this modifies the legacy '-c1' with '-9' which is also # compatible with both. This fixes the mainline kernel build failures with # the latest master OpenEmbedded builds associated with the mentioned # compatibility issues. # # LZ4 arch/arm/boot/compressed/piggy_data # /bin/sh: 1: lz4c: not found # ... # ... # ERROR: oe_runmake failed # # Link: https://github.com/lz4/lz4/pull/553 # Suggested-by: Francesco Dolcini # Signed-off-by: Parth Pancholi # Signed-off-by: Masahiro Yamada # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 580856e843f091a91f133b311d3e19e3d4374a21 # make -s -j 160 ARCH=x86_64 O=/kisskb/build/kbuild_allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 160 ARCH=x86_64 O=/kisskb/build/kbuild_allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 160 ARCH=x86_64 O=/kisskb/build/kbuild_allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 160 ARCH=x86_64 O=/kisskb/build/kbuild_allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/kbuild_allmodconfig_x86_64-gcc8 # Build took: 0:16:35.848790