Commit 74a0f963 authored by Danomi Manchego's avatar Danomi Manchego Committed by Peter Korsgaard
Browse files

fs/ubi: add option to use custom ubinize config file



By default, the UBI FS target creates a ubinize configuration
file on-the-fly, for a single volume.  Add an option to specify
a custom config file.

E.g., one might want to deploy a system with a volume for the
built ubifs image, a volume for a future upgrade image, and a
volume for user data.

Signed-off-by: default avatarDanomi Manchego <danomimanchego123@gmail.com>
Reviewed-by: default avatarThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent d517415b
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -119,6 +119,26 @@ config BR2_TARGET_ROOTFS_UBI_SUBSIZE
	  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
+11 −6
Original line number Diff line number Diff line
################################################################################
#
# Embed the ubifs image into an ubi one
# Embed the ubifs image into an ubi image
#
################################################################################

@@ -14,12 +14,17 @@ UBI_UBINIZE_OPTS += $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_OPTS))

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))
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@ vol_type=dynamic
vol_name=rootfs
vol_alignment=1
vol_flags=autoresize
image=BR2_ROOTFS_UBIFS_PATH