We've received a bit of feedback on our Bootstrapping Linux from NAND Flash with FlashFX Tera and Reliance Nitro whitepaper. Questions that have come up regarding this whitepaper include: "The sample project included in the whitepaper demonstrated booting from NOR rather than NAND, is it possible for the bootloader to reside in NAND?" and "Is booting from NAND reliable?" I talked with Datalight Software Architect Bill Roman, the author of the whitepaper, to answer these questions... Question: The sample project included in the whitepaper demonstrated booting from NOR rather than NAND, is it possible for the bootloader to reside in NAND? Bill: Yes, you can boot from NAND. The sample for the whitepaper was done on NOR partly so the example would be more simple and thus easier to understand, and because of the functionality of the board that we were working with. The main topic was how to read the Linux kernel from a Reliance Nitro root file system on flash managed by FlashFX Tera. How the bootloader initially gets loaded into RAM is an implementation detail. Some platforms make booting directly from NAND easy, while some can't do this at all, and thus require some NOR flash. To boot from NAND there are two stages required. The details of the first-stage loader are very platform-specific. Typically, the processor manufacturer would provide documentation and help to do this -this is why the focus for the whitepaper was on the second stage. Question: Is booting from NAND reliable? Bill: Loading the initial bootloader from NAND can be made quite reliable. Most NAND manufacturers guarantee the first erase block to be entirely error-free for some limited number of erase cycles. This allows an unchanging first-stage loader to be stored there, which then typically finds and loads the second stage loader (the main topic of the white paper).
Posted by: Thom Denholm