Commit 78763566 authored by Bernhard Reutner-Fischer's avatar Bernhard Reutner-Fischer
Browse files

- update the ext2 rootfs compression mechanism to allow for gzip, bzip2, lzma or none

parent c07e327b
Loading
Loading
Loading
Loading
+31 −8
Original line number Diff line number Diff line
@@ -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"
choice
        prompt "Compression method"
        default BR2_TARGET_ROOTFS_EXT2_NONE
        depends on BR2_TARGET_ROOTFS_EXT2
	default n
        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..."
+23 −13
Original line number Diff line number Diff line
@@ -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)