From 787635669bc03bc3e4805dd8ebf676d9ba16564a Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 14 Dec 2006 15:47:50 +0000 Subject: [PATCH] - update the ext2 rootfs compression mechanism to allow for gzip, bzip2, lzma or none --- target/ext2/Config.in | 39 +++++++++++++++++++++++++++++++-------- target/ext2/ext2root.mk | 36 +++++++++++++++++++++++------------- 2 files changed, 54 insertions(+), 21 deletions(-) diff --git a/target/ext2/Config.in b/target/ext2/Config.in index 7f15884ffa..8d733e5ef4 100644 --- a/target/ext2/Config.in +++ b/target/ext2/Config.in @@ -29,17 +29,40 @@ config BR2_TARGET_ROOTFS_EXT2_OUTPUT depends on BR2_TARGET_ROOTFS_EXT2 default "$(IMAGE).ext2" -config BR2_TARGET_ROOTFS_EXT2_GZ - bool "gzip the output file" - depends on BR2_TARGET_ROOTFS_EXT2 - default n +choice + prompt "Compression method" + default BR2_TARGET_ROOTFS_EXT2_NONE + depends on BR2_TARGET_ROOTFS_EXT2 + help + Select compressor for ext2 filesystem of the root filesystem + +config BR2_TARGET_ROOTFS_EXT2_NONE + bool "no compression" + help + Do not compress the ext2 filesystem. + +config BR2_TARGET_ROOTFS_EXT2_GZIP + bool "gzip" + help + Do compress the ext2 filesystem with gzip. + Note that you either have to have gzip installed on your host + or select to build a gzip for your host. See the packages submenu. + +config BR2_TARGET_ROOTFS_EXT2_BZIP2 + bool "bzip2" + help + Do compress the ext2 filesystem with bzip2. + Note that you either have to have bzip2 installed on your host + or select to build a bzip2 for your host. See the packages submenu. config BR2_TARGET_ROOTFS_EXT2_LZMA - bool "lzma the output file" - depends on BR2_TARGET_ROOTFS_EXT2 - select BR2_PACKAGE_LZMA_HOST - default n + bool "lzma" + help + Do compress the ext2 filesystem with lzma. + Note that you either have to have lzma installed on your host + or select to build a lzma for your host. See the packages submenu. +endchoice config BR2_TARGET_ROOTFS_EXT2_COPYTO string "also copy the image to..." diff --git a/target/ext2/ext2root.mk b/target/ext2/ext2root.mk index 845773f8a1..6966413304 100644 --- a/target/ext2/ext2root.mk +++ b/target/ext2/ext2root.mk @@ -59,16 +59,27 @@ EXT2_OPTS += -r $(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)) endif EXT2_BASE := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_OUTPUT)) -# " stupid syntax highlighting does not like unmatched quote from above line +#") -ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_GZ)),y) -EXT2_TARGET := $(EXT2_BASE).gz -else EXT2_TARGET := $(EXT2_BASE) -endif -ifeq ($(strip $(BR2_TARGET_ROOTFS_EXT2_LZMA)),y) -EXT2_TARGET := $(EXT2_BASE).lzma +EXT2_ROOTFS_COMPRESSOR:= +EXT2_ROOTFS_COMPRESSOR_EXT:= +EXT2_ROOTFS_COMPRESSOR_PREREQ:= +ifeq ($(BR2_TARGET_ROOTFS_EXT2_GZIP),y) +EXT2_ROOTFS_COMPRESSOR:=gzip -9 -c +EXT2_ROOTFS_COMPRESSOR_EXT:=gz +#EXT2_ROOTFS_COMPRESSOR_PREREQ:= gzip-host +endif +ifeq ($(BR2_TARGET_ROOTFS_EXT2_BZIP2),y) +EXT2_ROOTFS_COMPRESSOR:=bzip2 -9 -c +EXT2_ROOTFS_COMPRESSOR_EXT:=bz2 +#EXT2_ROOTFS_COMPRESSOR_PREREQ:= bzip2-host +endif +ifeq ($(BR2_TARGET_ROOTFS_EXT2_LZMA),y) +EXT2_ROOTFS_COMPRESSOR:=lzma -9 -c +EXT2_ROOTFS_COMPRESSOR_EXT:=lzma +EXT2_ROOTFS_COMPRESSOR_PREREQ:= lzma-host endif $(EXT2_BASE): host-fakeroot makedevs genext2fs @@ -104,14 +115,13 @@ endif $(STAGING_DIR)/usr/bin/fakeroot -- $(STAGING_DIR)/_fakeroot.$(notdir $(EXT2_TARGET)) -@rm -f $(STAGING_DIR)/_fakeroot.$(notdir $(EXT2_TARGET)) -$(EXT2_BASE).gz: $(EXT2_BASE) - @gzip --best -fv $(EXT2_BASE) - -$(EXT2_BASE).lzma: lzma-host $(EXT2_BASE) - @$(STAGING_DIR)/bin/lzma -vc $(EXT2_BASE) > $(EXT2_BASE).lzma +ifneq ($(EXT2_ROOTFS_COMPRESSOR),) +$(EXT2_TARGET).(EXT2_ROOTFS_COMPRESSOR_EXT): $(EXT2_ROOTFS_COMPRESSOR_PREREQ) $(EXT2_BASE) + $(EXT2_ROOTFS_COMPRESSOR) $(EXT2_TARGET) > $(EXT2_TARGET).$(EXT2_ROOTFS_COMPRESSOR_EXT) +endif EXT2_COPYTO := $(strip $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_COPYTO))) -# " stupid syntax highlighting does not like unmatched quote from above line +# ")) ext2root: $(EXT2_TARGET) @ls -l $(EXT2_TARGET) -- 2.30.2