From db06ca593b3d80ec514ecb2b20d49e3638cd3f0b Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Mon, 11 Jan 2010 01:10:45 +0000 Subject: [PATCH] Add support for building ubifs images. SVN-Revision: 19097 --- Config.in | 7 +++++++ include/image.mk | 10 ++++++++++ scripts/metadata.pl | 1 + target/Config.in | 5 ++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Config.in b/Config.in index e80d90c03e..1f689c0664 100644 --- a/Config.in +++ b/Config.in @@ -88,6 +88,13 @@ menu "Target Images" help Create some bootable ISO image + config TARGET_ROOTFS_UBIFS + bool "ubifs" + default y if USES_UBIFS + depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS + help + Build a ubifs root filesystem + comment "Image Options" source "target/linux/*/image/Config.in" diff --git a/include/image.mk b/include/image.mk index 7f2307919b..ac80937049 100644 --- a/include/image.mk +++ b/include/image.mk @@ -86,6 +86,14 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/openwrt-$(BOARD)-rootfs.cpio.gz ) endef endif + ifeq ($(CONFIG_TARGET_ROOTFS_UBIFS),y) + define Image/mkfs/ubifs + $(CP) ./ubinize.cfg $(KDIR) + $(STAGING_DIR_HOST)/bin/mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR) + (cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(BIN_DIR)/openwrt-$(BOARD)-rootfs.ubi ubinize.cfg) + endef + endif else define Image/BuildKernel cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf @@ -150,6 +158,7 @@ ifneq ($(IB),1) $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) + $(call Image/mkfs/ubifs) $(call Image/Checksum) else install: compile install-targets @@ -160,6 +169,7 @@ else $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) + $(call Image/mkfs/ubifs) $(call Image/Checksum) endif diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 54ac063902..aa66e53094 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -163,6 +163,7 @@ sub target_config_features(@) { /ext2/ and $ret .= "\tselect USES_EXT2\n"; /tgz/ and $ret .= "\tselect USES_TGZ\n"; /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n"; + /ubifs/ and $ret .= "\tselect USES_UBIFS\n"; /fpu/ and $ret .= "\tselect HAS_FPU\n"; /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n"; /powerpc64/ and $ret .= "\tselect powerpc64\n"; diff --git a/target/Config.in b/target/Config.in index 14cdfa577e..f5aa043053 100644 --- a/target/Config.in +++ b/target/Config.in @@ -50,7 +50,10 @@ config USES_TGZ config USES_CPIOGZ bool -config PROFILE_KCONFIG +config USES_UBIFS + bool + +config PROFILE_KCONFIG bool config NOMMU