kbuild: make sorting initramfs contents independent of locale
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Fri, 17 Aug 2018 12:03:19 +0000 (14:03 +0200)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 22 Aug 2018 14:21:43 +0000 (23:21 +0900)
Some LANG values (e.g. pl_PL.UTF-8) cause the sort command to output
files before their parent directories, which makes them inaccessible for
the kernel. In other words, when the kernel populates the rootfs, it is
unable to create files whose parent directories have not been yet created.

This patch makes sorting use the default (LANG=C) locale, which results in
correctly laid out initramfs images (parent directories before files).

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/gen_initramfs_list.sh

index 10e528b..0aad760 100755 (executable)
@@ -174,7 +174,7 @@ dir_filelist() {
        ${dep_list}header "$1"
 
        srcdir=$(echo "$1" | sed -e 's://*:/:g')
-       dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" | sort)
+       dirlist=$(find "${srcdir}" -printf "%p %m %U %G\n" | LANG=C sort)
 
        # If $dirlist is only one line, then the directory is empty
        if [  "$(echo "${dirlist}" | wc -l)" -gt 1 ]; then