Hello,

I have an issue with u-boot-1.2.0 using NAND FLASH when booting a standalone system w/o the environment block programmed. If the environment block has been updated with a "saveenv" command, the standalone booting process succeeds.

The default behavior within env_nand.c, env_relocate_spec(), when the reading of the environment block fails should be to continue using the values specified within the default environment. What occurs when booting a stand alone system is a failure when reading the ramdisk. If I modify env_relocate_spec() so the logic performs a read of a good block subsequent to the failure of the reading of the environmental block, the reading of the RAMDISK works.

I tested this behavior both by modifying the function and by performing read/writes at the command line in u-boot and the behavior appears consistent.

My bootargs were:"nand read.e 0x82000000 0x1860000 0x400000; nboot 0x80700000 0 0xa60000; bootm".

If the environment has been saved with a 'saveenv" command, the standalone boot works. If the environment has not been saved, the part of the command reading RAMDISK fails due to "too many erros"  (mispelling part of the message). The subsequent "nboot ..." works, eventually panicing when trying to mount the RAMDISK that failed to be read earlier.

Simply put, with version 1.2.0 u-boot, the environment block has to be programmed for the stand alone boot process to work.
 
Thanks,
Bob

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to