Recently we developed a sample project to demonstrate how to boot Linux from flash on an embedded system. Booting NAND with a single (root) file system can be a challenge, even when using a NOR chip to initialize as this project did. So how did we do it? In order to simplify the process, we loaded our Datalight bootloader into the NOR flash and programmed the monitor that comes with the board to jump directly to it. So if you use the sample project with a Freescale i.MX31, a single command starts the loader and allows it to load the kernel and the initial RAM disk from flash managed by FlashFX Tera with Reliance Nitro. It will then read them into memory, jump to the kernel, and the kernel will start running code from the initial RAM disk which loads the FlashFX Tera and Reliance Nitro drivers into the kernel. Next, it mounts the flash as the root file system and the system is powered up and running. Within about ten seconds your i.MX31 is up and running with FlashFX Tera running the flash and Reliance Nitro running as the root file system. If you'd like to try it for yourself, we've included sample code for this project with our latest product release. In addition, our sample loader could just as easily be loaded into memory other ways.
Posted by: Thom Denholm