mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
4.0 KiB
107 lines
4.0 KiB
menu "UBI support" |
|
|
|
config CONFIG_UBI_SILENCE_MSG |
|
bool "UBI silence verbose messages" |
|
default ENV_IS_IN_UBI |
|
help |
|
Make the verbose messages from UBI stop printing. This leaves |
|
warnings and errors enabled. |
|
|
|
config MTD_UBI |
|
bool "Enable UBI - Unsorted block images" |
|
select CRC32 |
|
select RBTREE |
|
select MTD_PARTITIONS |
|
help |
|
UBI is a software layer above MTD layer which admits of LVM-like |
|
logical volumes on top of MTD devices, hides some complexities of |
|
flash chips like wear and bad blocks and provides some other useful |
|
capabilities. Please, consult the MTD web site for more details |
|
(www.linux-mtd.infradead.org). |
|
|
|
if MTD_UBI |
|
|
|
config MTD_UBI_WL_THRESHOLD |
|
int "UBI wear-leveling threshold" |
|
default 4096 |
|
range 2 65536 |
|
help |
|
This parameter defines the maximum difference between the highest |
|
erase counter value and the lowest erase counter value of eraseblocks |
|
of UBI devices. When this threshold is exceeded, UBI starts performing |
|
wear leveling by means of moving data from eraseblock with low erase |
|
counter to eraseblocks with high erase counter. |
|
|
|
The default value should be OK for SLC NAND flashes, NOR flashes and |
|
other flashes which have eraseblock life-cycle 100000 or more. |
|
However, in case of MLC NAND flashes which typically have eraseblock |
|
life-cycle less than 10000, the threshold should be lessened (e.g., |
|
to 128 or 256, although it does not have to be power of 2). |
|
|
|
config MTD_UBI_BEB_LIMIT |
|
int "Maximum expected bad eraseblock count per 1024 eraseblocks" |
|
default 20 |
|
range 0 768 |
|
help |
|
This option specifies the maximum bad physical eraseblocks UBI |
|
expects on the MTD device (per 1024 eraseblocks). If the underlying |
|
flash does not admit of bad eraseblocks (e.g. NOR flash), this value |
|
is ignored. |
|
|
|
NAND datasheets often specify the minimum and maximum NVM (Number of |
|
Valid Blocks) for the flashes' endurance lifetime. The maximum |
|
expected bad eraseblocks per 1024 eraseblocks then can be calculated |
|
as "1024 * (1 - MinNVB / MaxNVB)", which gives 20 for most NANDs |
|
(MaxNVB is basically the total count of eraseblocks on the chip). |
|
|
|
To put it differently, if this value is 20, UBI will try to reserve |
|
about 1.9% of physical eraseblocks for bad blocks handling. And that |
|
will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD |
|
partition UBI attaches. This means that if you have, say, a NAND |
|
flash chip admits maximum 40 bad eraseblocks, and it is split on two |
|
MTD partitions of the same size, UBI will reserve 40 eraseblocks when |
|
attaching a partition. |
|
|
|
This option can be overridden by the "mtd=" UBI module parameter or |
|
by the "attach" ioctl. |
|
|
|
Leave the default value if unsure. |
|
|
|
config MTD_UBI_FASTMAP |
|
bool "UBI Fastmap (Experimental feature)" |
|
default n |
|
help |
|
Important: this feature is experimental so far and the on-flash |
|
format for fastmap may change in the next kernel versions |
|
|
|
Fastmap is a mechanism which allows attaching an UBI device |
|
in nearly constant time. Instead of scanning the whole MTD device it |
|
only has to locate a checkpoint (called fastmap) on the device. |
|
The on-flash fastmap contains all information needed to attach |
|
the device. Using fastmap makes only sense on large devices where |
|
attaching by scanning takes long. UBI will not automatically install |
|
a fastmap on old images, but you can set the UBI module parameter |
|
fm_autoconvert to 1 if you want so. Please note that fastmap-enabled |
|
images are still usable with UBI implementations without |
|
fastmap support. On typical flash devices the whole fastmap fits |
|
into one PEB. UBI will reserve PEBs to hold two fastmaps. |
|
|
|
If in doubt, say "N". |
|
|
|
config MTD_UBI_FASTMAP_AUTOCONVERT |
|
int "enable UBI Fastmap autoconvert" |
|
depends on MTD_UBI_FASTMAP |
|
default 0 |
|
help |
|
Set this parameter to enable fastmap automatically on images |
|
without a fastmap. |
|
|
|
config MTD_UBI_FM_DEBUG |
|
int "Enable UBI fastmap debug" |
|
depends on MTD_UBI_FASTMAP |
|
default 0 |
|
help |
|
Enable UBI fastmap debug |
|
|
|
endif # MTD_UBI |
|
endmenu # "Enable UBI - Unsorted block images"
|
|
|