diff options
author | Julien Boibessot <julien.boibessot@armadeus.com> | 2010-12-21 18:38:07 +0100 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2011-01-11 22:39:05 +0100 |
commit | f2bf06fd785de154ab96545b98952fb079310f35 (patch) | |
tree | ddfb918157f4b4151255cb85c1b60ca8c6e4861b /fs | |
parent | 8497c46a57e740cb9d236cae2c2a4cc4d9962a23 (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ubifs/Config.in | 21 | ||||
-rw-r--r-- | fs/ubifs/ubi.mk | 23 | ||||
-rw-r--r-- | fs/ubifs/ubinize.cfg | 7 |
3 files changed, 51 insertions, 0 deletions
diff --git a/fs/ubifs/Config.in b/fs/ubifs/Config.in index bcf409cad..a5ef5f2b2 100644 --- a/fs/ubifs/Config.in +++ b/fs/ubifs/Config.in @@ -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. diff --git a/fs/ubifs/ubi.mk b/fs/ubifs/ubi.mk new file mode 100644 index 000000000..c88e33639 --- /dev/null +++ b/fs/ubifs/ubi.mk @@ -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)) diff --git a/fs/ubifs/ubinize.cfg b/fs/ubifs/ubinize.cfg new file mode 100644 index 000000000..65152714b --- /dev/null +++ b/fs/ubifs/ubinize.cfg @@ -0,0 +1,7 @@ +[ubifs] +mode=ubi +vol_id=0 +vol_type=dynamic +vol_name=rootfs +vol_alignment=1 +vol_flags=autoresize |