On Wed, Apr 8, 2009 at 2:42 PM, Shankar Ganesh <shankargane...@gmail.com> wrote: > > > On Tue, Apr 7, 2009 at 11:02 AM, os user <gnuse...@gmail.com> wrote: >> >> Hi, >> >> The data in NAND chip(linux kernel and RootFS) is the same when >> booting linux from U-Boot and from the simple loader. :-( >> >> On Sat, Apr 4, 2009 at 12:53 AM, Scott Wood <scottw...@freescale.com> >> wrote: >> > On Fri, Apr 03, 2009 at 02:44:03PM +0800, os user wrote: >> >> I want to boot linux by a simplified bootloader. I use Atmel's ARM >> >> chip (AT91SAM9RL64EK board). Now, I can boot linux with my small >> >> program. The small program will parse the image generaed by "mkimage" >> >> and copy the kernel bianry from NAND flash to SDRAM, construct the tag >> >> list, disable I/D cache, disable interrupt and then jump to kernel >> >> entry point. The system can startup, but when accessing rootfile >> >> system(the rootfile system was also in the NAND chip), a lot of CRC >> >> errors were found. See below, >> >> mtd->read(0x1fb2c bytes from 0x1804d4) returned ECC error >> >> mtd->read(0x1fa38 bytes from 0x3e05c8) returned ECC error >> >> mtd->read(0x1f7dc bytes from 0x7c0824) returned ECC error >> >> jffs2_scan_inode_node(): CRC failed on node at 0x007c37a4: Read >> >> 0xd9b2bc33, calculated 0xda4805c1 >> >> >> >> and sometimes the sytem even crashed when R/W filesystem. >> >> >> >> But with the same linux kernel and rootfile system, if I use U-Boot to >> >> boot linux, everything seems OK. >> >> >> >> Can anyone tell is there any trick that's related with linux NAND >> >> driver in U-Boot? Or any suggestion to help me moving on? > > How about ECC calculation ? is it h/w (GPMC) or s/w ECC ? >
I used software ECC. I don't think this problem is related to ECC calculation. As metioned before, I used the same OS kernel image and root filesystem image(JFFS2). Both are stored in NAND flash. For the good case, Atmel's bootstrap code will launch U-Boot, and U-Boot will copy kernel image from NAND chip to SDRAM, build tag list, do some clean job(diable interrupt, flush/disable cache), and then jump to kernel entry point. If I follow this path, everything is OK. This means my linux kernel(2.6.27) and root filesystem are OK. But In my small loader(based on Atmel's bootstrap), I also copy kernel image from NAND chip to SDRAM, build tag list, do some clean job(diable interrupt, flush/disable cache), and then jump to kernel entry point. The kernel image can be decompressed without any error and can startup sometimes. But I can see a lot of errors complained by MTD layer. And sometimes, the system even crashed. Hope to receive your suggestions, Thanks! _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot