TS-72xx Errata writing new kernel to flash

From Technologic Systems Manuals
Revision as of 16:27, 25 October 2018 by Kris (talk | contribs) (Fixed link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Synopsis Writing a new kernel to RedBoot can cause non-bootable scenario requiring factory re-imaging.
Severity Minor
Class RedBoot Bug
Affected TS-72xx with Cirrus Logic processor using RedBoot as bootloader.
Status Workarounds available

Description: Some production processes use the existing RedBoot software to write a new kernel into the Flash memory on the TS-72xx product. This software has a bug where if the write call is made without spelling out specific memory and size locations, it may choose the wrong starting address and erase part of RedBoot, causing the SBC to fail to boot on subsequent boot attempts. Relatedly, sometimes a factory bad block is within the allocated space for the kernel. This may render the allocated kernel space too small for the kernel to exist in one contiguous memory space.

Workaround: The wiki documentation has been updated with new instructions here. If there are bad blocks listed via 'fis list', then care must be taken to write the kernel into a space that does not contain a bad block, and the "vmlinux" file handle must be updated in RedBoot to point to the new starting location for the kernel on the media. If the allocated 1.5 MB space contains one or more bad blocks such that there is insufficient contiguous space for the kernel, the SBC must be sent back to Technologic Systems via RMA for a new flash chip.