Bad Block Tables Woes
When switching from supervivi (or vivi) to uboot it is necessary to create a bad block table. I have found that it is also sometimes necessary to recreate the bad block table when switching back to supervivi. Here are the techinques I used to come to the conclusion that the bad block table was at fault and the solution that I arrived at.
- Boot supervivi from NOR flash and load uboot onto NAND flash.
- Reboot using NAND as the boot device.
- Using uboot to load a kernel and file system onto NAND flash.
- Reboot and execute the kernel.
- Verifying that the OS would load and that no bad block issues occured.
- Boot supervivi from the NOR flash and load supervivi onto NAND flash.
- Reboot using NAND as the boot device.
- Using supervivi to load a kernel and file system onto NAND flash.
- Reboot and execute the kernel.
- Verify that the OS would NOT load, and if the kernel progressed far enough, seeing bad block messages.
I have seen posts to the contrary, from individuals that seem to know what they are talking about. And it is quite possible that I mis-understand the underlying issues. However the following technique worked for me.
- Boot supervivi from the NOR flash
- Load uboot into RAM.
- Execute uboot (from RAM).
- scrub the NAND flash.
- Create the bad block table.
- Reboot supervivi from the NOR flash
- Load supervivi onto the NAND device.
- Reboot using NAND as the boot device.
- Using supervivi to load a kernel and file system onto NAND flash.
- Reboot and execute the kernel.
- Verify that the OS worked perfectly.
Last modified: Nov 20, 2011