| 483 | [=#fastmap] |
| 484 | == UBI Fastmap |
| 485 | UBI Fastmap is on optional feature which stores the physical to logical eraseblock relations in a checkpoint (called fastmap) to reduce the initialization time of UBI. Without UBI Fastmap, the init time of UBI is proportional to the number of physical erase blocks on the FLASH device and with Fastmap enabled the scan time is limited to a fixed number of blocks. |
| 486 | |
| 487 | While enabling UBI Fastmap could save several seconds in Linux init as well as several seconds in U-Boot ubi attach (depending on number of logical flash blocks) the downside is that you wear out the first 64blocks of your NAND faster. Therefore the Gateworks kernels and bootscripts do not enable this by default. |
| 488 | |
| 489 | If you wish to enable this feature because boot time is more critical than NAND lifetime you can do so by: |
| 490 | - enable MTD_UBI_FASTMAP in U-Boot (to use the UBI Fastmap if it was created by the kernel) |
| 491 | - enable MTD_UBI_FASTMAP in Linux kernel |
| 492 | - pass 'ubi.fm_autoconvert=1' via kernel params to instruct the kernel to create a UBI Fastmap if it does not yet exist and use it if it does exist |
| 493 | - Note that enabling MTD_UBI_FASTMAP in the kernel/uboot won't enable it unless 'ubi.fm_autoconvert=1' was used on the kenrel |