Commit 7e1cd70e authored by Ryan Jackson's avatar Ryan Jackson

Add ability to choose compression type for initramfs

Add '-c' option to gen_initramfs.sh to choose the compression type.
Currently, it supports the following types: gzip (default), bzip2, lzma,
and none.

The toplevel Makefile now has a variable to specify the compression type
of the initramfs, and passes it to gen_initramfs.sh.  Currently it is
set to lzma by default.
parent 1b6f6b13
...@@ -9,7 +9,8 @@ BUILDROOT_PATH = $(PWD)/buildroot-$(BUILDROOT_VERSION) ...@@ -9,7 +9,8 @@ BUILDROOT_PATH = $(PWD)/buildroot-$(BUILDROOT_VERSION)
FAKEROOT_ENVIRONMENT = $(PWD)/fs_fakeroot.env FAKEROOT_ENVIRONMENT = $(PWD)/fs_fakeroot.env
STAGING_DIR = $(PWD)/buildroot/build_$(MFS_ARCH)/staging_dir STAGING_DIR = $(PWD)/buildroot/build_$(MFS_ARCH)/staging_dir
BOOT_PATH = $(PWD)/boot BOOT_PATH = $(PWD)/boot
INITRAMFS = $(BOOT_PATH)/initramfs.gz INITRAMFS_COMPRESSION = lzma
INITRAMFS = $(BOOT_PATH)/initramfs
#FAKEROOT_BIN = $(STAGING_DIR)/usr/bin/fakeroot #FAKEROOT_BIN = $(STAGING_DIR)/usr/bin/fakeroot
FAKEROOT_BIN = fakeroot FAKEROOT_BIN = fakeroot
...@@ -92,6 +93,6 @@ initramfs: install ...@@ -92,6 +93,6 @@ initramfs: install
-i $(FAKEROOT_ENVIRONMENT) \ -i $(FAKEROOT_ENVIRONMENT) \
$(SCRIPTS_PATH)/misc_fixup.sh $(TARGET_PATH) $(SCRIPTS_PATH)/misc_fixup.sh $(TARGET_PATH)
$(FAKEROOT_BIN) -i $(FAKEROOT_ENVIRONMENT) \ $(FAKEROOT_BIN) -i $(FAKEROOT_ENVIRONMENT) \
$(SCRIPTS_PATH)/gen_initramfs.sh $(INITRAMFS_PATH) $(INITRAMFS) $(SCRIPTS_PATH)/gen_initramfs.sh -c $(INITRAMFS_COMPRESSION) $(INITRAMFS_PATH) $(INITRAMFS)
rm -f $(FAKEROOT_ENVIRONMENT) rm -f $(FAKEROOT_ENVIRONMENT)
rm -rf $(INITRAMFS_PATH) rm -rf $(INITRAMFS_PATH)
#! /bin/sh #! /bin/sh
compression=gzip
usage() {
echo "USAGE: ${0##*/} [-c gzip|bzip2|lzma|none] root_dir image"
}
if [ "$1" = "-c" ]; then
case $2 in
gzip|bzip2|lzma|none)
compression=$2
;;
*) echo \
"${0##*/}: invalid compresion method \"$2\"" 1>&2
usage 1>&2
exit 1
;;
esac
shift
shift
fi
if [ $# -lt 2 ]; then
usage 1>&2
exit 1
fi
TARGET="$1" TARGET="$1"
INITRAMFS="$2" INITRAMFS="$2"
(
cd "$TARGET" cd "$TARGET"
find . -print | cpio --quiet -H newc -o | lzma -c -9 > "$INITRAMFS" if [ $compression = none ]; then
find . -print | cpio --quiet -H newc -o
else
find . -print | cpio --quiet -H newc -o | $compression -c -9
fi
) > "$INITRAMFS"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment