The value provided here is passed to the -s/--sub-page-size
option of ubinize.
+config BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG
+ bool "Use custom config file"
+ help
+ Select this option to use a custom ubinize configuration file,
+ rather than the default configuration used by Buildroot (which
+ defines a single dynamic volume marked as auto-resize). Passing
+ a custom ubinize configuration file allows you to create several
+ volumes, specify volume types, etc.
+
+ As a convenience, buildroot replaces the string
+ "BR2_ROOTFS_UBIFS_PATH" with the path to the built ubifs file.
+ So the volume defined for the root filesystem can specify the
+ image path as: image=BR2_ROOTFS_UBIFS_PATH
+
+config BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE
+ string "Configuration file path"
+ depends on BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG
+ help
+ Path to the ubinize configuration file.
+
config BR2_TARGET_ROOTFS_UBI_OPTS
string "Additional ubinize options"
help
################################################################################
#
-# Embed the ubifs image into an ubi one
+# Embed the ubifs image into an ubi image
#
################################################################################
ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs
+ifeq ($(BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG),y)
+UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE))
+else
+UBINIZE_CONFIG_FILE_PATH = fs/ubifs/ubinize.cfg
+endif
+
define ROOTFS_UBI_CMD
- cp fs/ubifs/ubinize.cfg . ;\
- echo "image=$@fs" \
- >> ./ubinize.cfg ;\
- $(HOST_DIR)/usr/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) ubinize.cfg ;\
- rm ubinize.cfg
+ $(INSTALL) -m 0644 $(UBINIZE_CONFIG_FILE_PATH) $(BUILD_DIR)/ubinize.cfg ;\
+ $(SED) 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' $(BUILD_DIR)/ubinize.cfg ;\
+ $(HOST_DIR)/usr/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg ;\
+ rm $(BUILD_DIR)/ubinize.cfg
endef
$(eval $(call ROOTFS_TARGET,ubi))