View Issue Details

IDProjectCategoryView StatusLast Update
0002161UBootNAND-FMDpublic2014-04-09 07:51
ReporterKeller Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Versionfsvybrid-V1.2 
Target Versionfsvybrid-V2.0Fixed in Versionfsvybrid-V2.0 
Summary0002161: Flash based Bad Block Table conflicts with UBI on TargetFS
DescriptionThe Vybrid implementation currently uses a flash based Bad Block Table (BBT) that is located in the last two blocks of the NAND flash. However this is neither supported in NBoot, nor in UBI in U-Boot or Linux. Therefore this BBT is not updated at all if a new bad block is encountered.

And even more, UBI does not recognize this BBT location. Therefore when creating an UBI on the TargetFS (which includes these two blocks by default), the BBT is always overwritten.
Steps To ReproduceStart a fresh U-Boot. U-Boot tells that it did not find a BBT and writes a new one. Restart U-Boot, U-Boot does not complain about a missing BBT anymore. Now call

ubi part TargetFS
ubi create rootfs

Then restart U-Boot. U-Boot again complains about a missing BBT and creates a new one. This is a conflicting usage of these two blocks: they are used as BBT by the NAND code on one hand and as regular blocks by UBI on the other hand. This can not work in the long term.
Additional InformationWe can switch to a dynamic BBT that is built by reading the spare areas of the NAND flash each time when starting U-Boot.
Forum Link

Relationships

related to 0002171 resolvedKeller fsvybrid_Linux Do not use flash based Bad Block Table (BBT) 

Activities

There are no notes attached to this issue.