History

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.

Alain Knaff committed 17 years ago

Commit a26ee601 parent fb9a4ca7 files · +135 −20Browse files

Showing the changes to scripts (1 of 7 files). Show all

Unified · Split

scripts/gen_initramfs_list.sh+11−6
@@ -5,7 +5,7 @@ · 4 unmodified lines
55 # Released under the terms of the GNU GPL
66 #
77 # Generate a cpio packed initramfs. It uses gen_init_cpio to generate
8−# the cpio archive, and gzip to pack it.
8+# the cpio archive, and then compresses it.
99 # The script may also be used to generate the inputfile used for gen_init_cpio
1010 # This script assumes that gen_init_cpio is located in usr/ directory
1111
@@ -16,8 +16,8 @@ usage() { · 4 unmodified lines
1616 cat << EOF
1717 Usage:
1818 $0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...
19− -o <file> Create gzipped initramfs file named <file> using
20− gen_init_cpio and gzip
19+ -o <file> Create compressed initramfs file named <file> using
20+ gen_init_cpio and compressor depending on the extension
2121 -u <uid> User ID to map to user ID 0 (root).
2222 <uid> is only meaningful if <cpio_source> is a
2323 directory. "squash" forces all files to uid 0.
@@ -225,6 +225,7 @@ cpio_list= · 201 unmodified lines
225225 output="/dev/stdout"
226226 output_file=""
227227 is_cpio_compressed=
228+compr="gzip -9 -f"
228229
229230 arg="$1"
230231 case "$arg" in
@@ -233,11 +234,15 @@ case "$arg" in · 2 unmodified lines
233234 echo "deps_initramfs := \\"
234235 shift
235236 ;;
236− "-o") # generate gzipped cpio image named $1
237+ "-o") # generate compressed cpio image named $1
237238 shift
238239 output_file="$1"
239240 cpio_list="$(mktemp ${TMPDIR:-/tmp}/cpiolist.XXXXXX)"
240241 output=${cpio_list}
242+ echo "$output_file" | grep -q "\.gz$" && compr="gzip -9 -f"
243+ echo "$output_file" | grep -q "\.bz2$" && compr="bzip2 -9 -f"
244+ echo "$output_file" | grep -q "\.lzma$" && compr="lzma -9 -f"
245+ echo "$output_file" | grep -q "\.cpio$" && compr="cat"
241246 shift
242247 ;;
243248 esac
@@ -274,7 +279,7 @@ while [ $# -gt 0 ]; do · 30 unmodified lines
274279 esac
275280 done
276281
277−# If output_file is set we will generate cpio archive and gzip it
282+# If output_file is set we will generate cpio archive and compress it
278283 # we are carefull to delete tmp files
279284 if [ ! -z ${output_file} ]; then
280285 if [ -z ${cpio_file} ]; then
@@ -287,7 +292,7 @@ if [ ! -z ${output_file} ]; then · 6 unmodified lines
287292 if [ "${is_cpio_compressed}" = "compressed" ]; then
288293 cat ${cpio_tfile} > ${output_file}
289294 else
290− cat ${cpio_tfile} | gzip -f -9 - > ${output_file}
295+ cat ${cpio_tfile} | ${compr} - > ${output_file}
291296 fi
292297 [ -z ${cpio_file} ] && rm ${cpio_tfile}
293298 fi