mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 09:02:06 +00:00
bzip2/lzma: fix built-in initramfs vs CONFIG_RD_GZIP
Impact: Resolves build failures in some configurations Makes it possible to disable CONFIG_RD_GZIP . In that case, the built-in initramfs will be compressed by whatever compressor is available (bzip2 or lzma) or left uncompressed if none is available. It also removes a couple of warnings which occur when no ramdisk compression at all is chosen. It also restores the select ZLIB_INFLATE in drivers/block/Kconfig which somehow came missing. This is needed to activate compilation of the stuff in zlib_deflate. Signed-off-by: Alain Knaff <alain@knaff.lu> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
fb9a4ca982
commit
a26ee60f90
7 changed files with 135 additions and 20 deletions
|
@ -5,7 +5,7 @@
|
|||
# Released under the terms of the GNU GPL
|
||||
#
|
||||
# Generate a cpio packed initramfs. It uses gen_init_cpio to generate
|
||||
# the cpio archive, and gzip to pack it.
|
||||
# the cpio archive, and then compresses it.
|
||||
# The script may also be used to generate the inputfile used for gen_init_cpio
|
||||
# This script assumes that gen_init_cpio is located in usr/ directory
|
||||
|
||||
|
@ -16,8 +16,8 @@ usage() {
|
|||
cat << EOF
|
||||
Usage:
|
||||
$0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...
|
||||
-o <file> Create gzipped initramfs file named <file> using
|
||||
gen_init_cpio and gzip
|
||||
-o <file> Create compressed initramfs file named <file> using
|
||||
gen_init_cpio and compressor depending on the extension
|
||||
-u <uid> User ID to map to user ID 0 (root).
|
||||
<uid> is only meaningful if <cpio_source> is a
|
||||
directory. "squash" forces all files to uid 0.
|
||||
|
@ -225,6 +225,7 @@ cpio_list=
|
|||
output="/dev/stdout"
|
||||
output_file=""
|
||||
is_cpio_compressed=
|
||||
compr="gzip -9 -f"
|
||||
|
||||
arg="$1"
|
||||
case "$arg" in
|
||||
|
@ -233,11 +234,15 @@ case "$arg" in
|
|||
echo "deps_initramfs := \\"
|
||||
shift
|
||||
;;
|
||||
"-o") # generate gzipped cpio image named $1
|
||||
"-o") # generate compressed cpio image named $1
|
||||
shift
|
||||
output_file="$1"
|
||||
cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)"
|
||||
output=${cpio_list}
|
||||
echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f"
|
||||
echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f"
|
||||
echo "$output_file" | grep -q "\.lzma$" && compr="lzma -9 -f"
|
||||
echo "$output_file" | grep -q "\.cpio$" && compr="cat"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
|
@ -274,7 +279,7 @@ while [ $# -gt 0 ]; do
|
|||
esac
|
||||
done
|
||||
|
||||
# If output_file is set we will generate cpio archive and gzip it
|
||||
# If output_file is set we will generate cpio archive and compress it
|
||||
# we are carefull to delete tmp files
|
||||
if [ ! -z ${output_file} ]; then
|
||||
if [ -z ${cpio_file} ]; then
|
||||
|
@ -287,7 +292,7 @@ if [ ! -z ${output_file} ]; then
|
|||
if [ "${is_cpio_compressed}" = "compressed" ]; then
|
||||
cat ${cpio_tfile} > ${output_file}
|
||||
else
|
||||
cat ${cpio_tfile} | gzip -f -9 - > ${output_file}
|
||||
cat ${cpio_tfile} | ${compr} - > ${output_file}
|
||||
fi
|
||||
[ -z ${cpio_file} ] && rm ${cpio_tfile}
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue