What changed since v1.0
The Colibri VF61 now runs on hardware. v1.0 shipped VF61 support that was
build tested only, and it could not have worked: mainline cannot read the
112-byte OOB NAND on that module. Verified on an 0012 Colibri VF61 256MB IT V1.2B (serial 08449335, Macronix MX30LF4G28AC) on an Iris V2.0 - boots from
NAND, mounts its UBIFS root, login on ttyLP0. Full console output in
docs/boot-log-colibri-vf61-v1.2b-iris.txt.
Two kernel patches for the Vybrid NAND controller, both upstream bugs
found on this hardware:
- reads on chips with more than 64 bytes of OOB: the driver clamps
mtd->oobsizeto the 64 bytes its ECC layout uses, butnand_scan_tail()
restores the value from the memory organization right after
->attach_chip(), so every ECC-protected read fails and UBI cannot
attach. Broken upstream since v5.2. The VF50 is unaffected, its chip has
exactly 64 bytes. - false bitflips on reads of erased pages: the ECC engine leaves a bogus
correction in its buffer when it cannot decode a page, so every erased
page counted as one corrected bitflip - 18035 false counts over a 126 MiB
partition on the VF50 - which makes the MTD statistics useless for flash
health monitoring.
Both are on their way to linux-mtd. The credit for spotting them goes to
Edward Karpicz.
Unchanged from v1.0: U-Boot 2026.07, Linux 6.18.44, Toradex BSP 7.7.0.
Images
| File | Modules tested with it |
|---|---|
sdcard-colibri-vf50-6.18.44.tar.xz |
0010 Colibri VF50 128MB V1.2A (MX30LF1G08AA) and 0013 Colibri VF50 128MB IT V1.2B (MX30LF1G18AC) - rebuilt with the fixes above |
sdcard-colibri-vf61-6.18.44.tar.xz |
0012 Colibri VF61 256MB IT V1.2B (MX30LF4G28AC) |
Console logs for all three modules, U-Boot banner through tdx-info, are in
docs/.
Extract onto a FAT32 SD card (flash_blk.img and colibri_vf/ at the root),
then in U-Boot:
run setupdate
run update
reset