diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2011-11-12 18:19:07 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2011-11-12 18:20:49 +0100 |
commit | 72904cc3c68385a53d4ad57b4bdc47fdb005e90e (patch) | |
tree | 64a52d12b00370df5867d4846f1d5f3036099eee /mk | |
parent | 94636cc75e9e02e3809deac6cf175975ccc865bb (diff) | |
download | embtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.gz embtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.bz2 embtoolkit-72904cc3c68385a53d4ad57b4bdc47fdb005e90e.tar.xz |
Rootfs: squashfs: improve generation of squashfs rootfs
Give ability to build squashfs3.0 type of rootfs (for linux kernel prior to linux-2.6.29)
Give ability to build squashfs4.0 type of rootfs (for linux kernel linux-2.6.29 and later)
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'mk')
-rw-r--r-- | mk/fs.mk | 4 | ||||
-rw-r--r-- | mk/rootfs.mk | 2 | ||||
-rw-r--r-- | mk/squashfs.mk | 89 |
3 files changed, 37 insertions, 58 deletions
@@ -62,7 +62,9 @@ build_jffs2_rootfs: build_squashfs_rootfs: $(call embtk_pinfo,"Generating SQUASHFS rootfs...") $(FAKEROOT_BIN) -i $(FAKEROOT_ENV_FILE) -- \ - $(MKSQUASHFS_BIN) $(ROOTFS) $(SQUASHFS_ROOTFS) + $(MKSQUASHFS_BIN) $(ROOTFS) $(SQUASHFS_ROOTFS) \ + $(if $(CONFIG_EMBTK_TARGET_ARCH_LITTLE_ENDIAN),-le,-be) \ + -all-root build_initramfs_archive: $(call embtk_pinfo,"Generating cpio archive for INITRAMFS...") diff --git a/mk/rootfs.mk b/mk/rootfs.mk index e477481..56d0e47 100644 --- a/mk/rootfs.mk +++ b/mk/rootfs.mk @@ -45,7 +45,7 @@ ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_JFFS2) += mtdutils_host_install FILESYSTEMS-$(CONFIG_EMBTK_ROOTFS_HAVE_JFFS2) += build_jffs2_rootfs #Does squashfs filesystem selected? -ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += squashfs_host_install +ROOTFS_HOSTTOOLS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += squashfs_tools_install FILESYSTEMS-$(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS) += build_squashfs_rootfs ifeq ($(CONFIG_EMBTK_ROOTFS_HAVE_SQUASHFS),y) include $(EMBTK_ROOT)/mk/squashfs.mk diff --git a/mk/squashfs.mk b/mk/squashfs.mk index ea0a429..c0beffe 100644 --- a/mk/squashfs.mk +++ b/mk/squashfs.mk @@ -23,60 +23,37 @@ # \date August 2009 ################################################################################ -SQUASHFS_VERSION := 4.0 -SQUASHFS_SITE := http://downloads.sourceforge.net/project/squashfs/squashfs -SQUASHFS_PACKAGE := squashfs$(SQUASHFS_VERSION).tar.gz -SQUASHFS_HOST_BUILD_DIR := $(TOOLS_BUILD)/squashfs-build -SQUASHFS_TARGET_BUILD_DIR := $(PACKAGES_BUILD)/squashfs-build - -MKSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/mksquashfs -UNSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/unsquashfs - -squashfs_host_install: - @test -e $(SQUASHFS_HOST_BUILD_DIR)/.installed || \ - $(MAKE) $(SQUASHFS_HOST_BUILD_DIR)/.installed - -squashfs_target_install: $(SQUASHFS_TARGET_BUILD_DIR)/.installed - -#squashfs for host -$(SQUASHFS_HOST_BUILD_DIR)/.installed: download_squashfs \ - $(SQUASHFS_HOST_BUILD_DIR)/.decompressed - @CC=$(HOSTCC_CACHED) \ - $(MAKE) -C $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools - test -z $(HOSTTOOLS)/usr/bin || mkdir -p $(HOSTTOOLS)/usr/bin - @install $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools/\ - mksquashfs $(HOSTTOOLS)/usr/bin/ - @install $(TOOLS_BUILD)/squashfs$(SQUASHFS_VERSION)/squashfs-tools/\ - unsquashfs $(HOSTTOOLS)/usr/bin/ - @touch $@ - -$(SQUASHFS_HOST_BUILD_DIR)/.decompressed: - $(call embtk_pinfo,"Decompressing $(SQUASHFS_PACKAGE)...") - @tar -C $(TOOLS_BUILD) -xzvf $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) - @mkdir -p $(SQUASHFS_HOST_BUILD_DIR) - @touch $@ - -squashfs_host_clean: +SQUASHFS_TOOLS_NAME := squashfs +SQUASHFS_TOOLS_VERSION := $(call embtk_get_pkgversion,squashfs_tools) +SQUASHFS_TOOLS_SITE := http://sourceforge.net/projects/squashfs/files/squashfs/squashfs$(SQUASHFS_TOOLS_VERSION) +SQUASHFS_TOOLS_PACKAGE := squashfs$(SQUASHFS_TOOLS_VERSION).tar.gz +SQUASHFS_TOOLS_SRC_DIR := $(TOOLS_BUILD)/squashfs$(SQUASHFS_TOOLS_VERSION) +SQUASHFS_TOOLS_BUILD_DIR := $(SQUASHFS_TOOLS_SRC_DIR)/squashfs-tools + +MKSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/mksquashfs +UNSQUASHFS_BIN := $(HOSTTOOLS)/usr/bin/unsquashfs + +SQUASHFS_TOOLS_DEPS := zlib_host_install + +squashfs_tools_install: $(SQUASHFS_TOOLS_DEPS) + $(Q)test -e $(SQUASHFS_TOOLS_BUILD_DIR)/.installed || \ + $(MAKE) $(SQUASHFS_TOOLS_BUILD_DIR)/.installed + +$(SQUASHFS_TOOLS_BUILD_DIR)/.installed: download_squashfs_tools \ + $(SQUASHFS_TOOLS_BUILD_DIR)/.decompressed + $(Q)$(MAKE) -C $(SQUASHFS_TOOLS_BUILD_DIR) \ + CC=$(HOSTCC_CACHED) \ + CPPFLAGS="-I$(HOSTTOOLS)/usr/include" \ + LDFLAGS="-L$(HOSTTOOLS)/usr/lib" + $(Q)mkdir -p $(HOSTTOOLS) + $(Q)mkdir -p $(HOSTTOOLS)/usr + $(Q)mkdir -p $(HOSTTOOLS)/usr/bin + $(Q)install $(SQUASHFS_TOOLS_BUILD_DIR)/mksquashfs $(HOSTTOOLS)/usr/bin + $(Q)install $(SQUASHFS_TOOLS_BUILD_DIR)/unsquashfs $(HOSTTOOLS)/usr/bin + $(Q)touch $@ + +$(SQUASHFS_TOOLS_BUILD_DIR)/.decompressed: + $(call embtk_decompress_pkg,squashfs_tools) + +squashfs_tools_clean: $(call embtk_pinfo,"Cleaning squashfs in host ...") - -#squashfs for target -$(SQUASHFS_TARGET_BUILD_DIR)/.installed: download_squashfs \ - $(SQUASHFS_TARGET_BUILD_DIR)/.decompressed - @touch $@ - -$(SQUASHFS_TARGET_BUILD_DIR)/.decompressed: - $(call embtk_pinfo,"Decompressing $(SQUASHFS_PACKAGE)...") - @tar -C $(PACKAGES_BUILD) -xzvf $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) - @mkdir -p $(SQUASHFS_TARGET_BUILD_DIR) - @touch $@ - -squashfs_target_clean: - $(call embtk_pinfo,"Cleaning squashfs in target ...") - -download_squashfs: - $(call embtk_pinfo,"Downloading $(SQUASHFS_PACKAGE) \ - if necessary...") - @test -e $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) || \ - wget -O $(DOWNLOAD_DIR)/$(SQUASHFS_PACKAGE) \ - $(SQUASHFS_SITE)/squashfs$(SQUASHFS_VERSION)/$(SQUASHFS_PACKAGE) - |