xref: /OK3568_Linux_fs/buildroot/fs/ubi/ubi.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# Embed the ubifs image into an ubi image
4#
5################################################################################
6
7UBI_UBINIZE_OPTS = -m $(BR2_TARGET_ROOTFS_UBI_MINIOSIZE)
8UBI_UBINIZE_OPTS += -p $(BR2_TARGET_ROOTFS_UBI_PEBSIZE)
9ifneq ($(BR2_TARGET_ROOTFS_UBI_SUBSIZE),0)
10UBI_UBINIZE_OPTS += -s $(BR2_TARGET_ROOTFS_UBI_SUBSIZE)
11endif
12
13UBI_UBINIZE_OPTS += $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_OPTS))
14
15ifeq ($(BR2_TARGET_ROOTFS_UBI_UBIFS),y)
16ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs
17UBI_ROOTFS_NAME=$(ROOTFS_UBIFS_FINAL_IMAGE_NAME)
18UBI_VOL_TYPE=dynamic
19else
20ROOTFS_UBI_DEPENDENCIES = rootfs-squashfs host-mtd
21UBI_ROOTFS_NAME=$(ROOTFS_SQUASHFS_FINAL_IMAGE_NAME)
22UBI_VOL_TYPE=static
23endif
24
25ifeq ($(BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG),y)
26UBI_UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE))
27else
28UBI_UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg
29endif
30
31# don't use sed -i as it misbehaves on systems with SELinux enabled when this is
32# executed through fakeroot (see #9386)
33define ROOTFS_UBI_CMD
34	sed -e 's;BR2_ROOTFS_UBI_PATH;$(BINARIES_DIR)/$(UBI_ROOTFS_NAME);' \
35		-e 's;BINARIES_DIR;$(BINARIES_DIR);' \
36		-e 's;UBI_VOL_TYPE;$(UBI_VOL_TYPE);' \
37		$(UBI_UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg
38	$(HOST_DIR)/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg
39	rm $(BUILD_DIR)/ubinize.cfg
40endef
41
42$(eval $(rootfs))
43