Skip to content
  • Jonathan Nieder's avatar
    kbuild: really fix bzImage build with non-bash sh · 1373411a
    Jonathan Nieder authored
    
    
    In an x86 build with CONFIG_KERNEL_LZMA enabled and dash as sh,
    arch/x86/boot/compressed/vmlinux.bin.lzma ends with
    '\xf0\x7d\x39\x00' (16 bytes) instead of the 4 bytes intended and
    the resulting vmlinuz fails to boot.  This improves on the
    previous behavior, in which the file contained the characters
    '-ne ' as well, but not by much.
    
    Previous commits replaced "echo -ne" first with "/bin/echo -ne",
    then "printf" in the hope of improving portability, but none of
    these commands is guaranteed to support hexadecimal escapes on
    POSIX systems.  So use the shell to convert from hexadecimal to
    octal.
    
    With this change, an LZMA-compressed kernel built with dash as sh
    boots correctly again.
    
    Reported-by: default avatarSebastian Dalfuß <sd@sedf.de>
    Reported-by: default avatarOliver Hartkopp <oliver@hartkopp.net>
    Reported-by: default avatarMichael Guntsche <mike@it-loops.com>
    Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
    Cc: Michael Tokarev <mjt@tls.msk.ru>
    Cc: Alek Du <alek.du@intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
    1373411a