ubifs: Add UBI image generation support.

UBI images are generated from UBIFS one (with ubinize tool) and are used by
bootloaders (eg U-Boot) to write UBIFS images directly on bare NAND FLASH
(see http://www.linux-mtd.infradead.org/faq/ubi.html).

[Peter: tweak help text]
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Nicolas Colombain <nicolas.colombain@armadeus.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Julien Boibessot 2010-12-21 18:38:07 +01:00 committed by Peter Korsgaard
parent 8497c46a57
commit f2bf06fd78
3 changed files with 51 additions and 0 deletions

View File

@ -77,3 +77,24 @@ config BR2_TARGET_ROOTFS_UBIFS_LZMA
endchoice
config BR2_TARGET_ROOTFS_UBI
depends on BR2_TARGET_ROOTFS_UBIFS
bool "Embed into an UBI image"
help
Build an ubi image from the ubifs one (with ubinize).
config BR2_TARGET_ROOTFS_UBI_PEBSIZE
hex "UBI physical erase block size"
depends on BR2_TARGET_ROOTFS_UBI
default 0x20000
help
Tells ubinize the physical eraseblock size of the flash chip
the ubi image is created for.
config BR2_TARGET_ROOTFS_UBI_SUBSIZE
int "UBI sub-page size"
depends on BR2_TARGET_ROOTFS_UBI
default 512
help
Tells ubinize that the flash supports sub-pages and the sub-page
size. Use 0 if subpages are not supported on flash chip.

23
fs/ubifs/ubi.mk Normal file
View File

@ -0,0 +1,23 @@
#############################################################
#
# Embed the ubifs image into an ubi one
#
#############################################################
UBI_UBINIZE_OPTS := -m $(BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE)
UBI_UBINIZE_OPTS += -p $(BR2_TARGET_ROOTFS_UBI_PEBSIZE)
ifneq ($(BR2_TARGET_ROOTFS_UBI_SUBSIZE),0)
UBI_UBINIZE_OPTS += -s $(BR2_TARGET_ROOTFS_UBI_SUBSIZE)
endif
ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs
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
endef
$(eval $(call ROOTFS_TARGET,ubi))

7
fs/ubifs/ubinize.cfg Normal file
View File

@ -0,0 +1,7 @@
[ubifs]
mode=ubi
vol_id=0
vol_type=dynamic
vol_name=rootfs
vol_alignment=1
vol_flags=autoresize