This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352 - Flashing NAND from Linux fails

Other Parts Discussed in Thread: AM3352

Tool/software: Linux

Hello,


I'm attempting to flash NAND from Linux on my custom hardware with a AM3352. From the Linux userspace I'm flashing NAND, and everything appears to be good, but when I reboot, I boot back into the original kernel. What do I need to do to flash NAND from Linux userspace?

RIM# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00020000 "SPL"
mtd1: 00020000 00020000 "SPL.backup1"
mtd2: 00020000 00020000 "SPL.backup2"
mtd3: 00020000 00020000 "SPL.backup3"
mtd4: 001e0000 00020000 "U-Boot"
mtd5: 00020000 00020000 "U-Boot Env"
mtd6: 00500000 00020000 "Kernel"
mtd7: 07880000 00020000 "File System"
mtd8: 00008000 00000001 "FRAM"
RIM# uname -a
Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux
RIM# flash_erase /dev/mtd6 0 0
Erasing 128 Kibyte @ 4e0000 -- 100 % complete
RIM# nandwrite -p /dev/mtd6 /tmp/uImage
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
Writing data to block 5 at offset 0xa0000
Writing data to block 6 at offset 0xc0000
Writing data to block 7 at offset 0xe0000
Writing data to block 8 at offset 0x100000
Writing data to block 9 at offset 0x120000
Writing data to block 10 at offset 0x140000
Writing data to block 11 at offset 0x160000
Writing data to block 12 at offset 0x180000
Writing data to block 13 at offset 0x1a0000
Writing data to block 14 at offset 0x1c0000
Writing data to block 15 at offset 0x1e0000
Writing data to block 16 at offset 0x200000
Writing data to block 17 at offset 0x220000
Writing data to block 18 at offset 0x240000
Writing data to block 19 at offset 0x260000
Writing data to block 20 at offset 0x280000
Writing data to block 21 at offset 0x2a0000
Writing data to block 22 at offset 0x2c0000
Writing data to block 23 at offset 0x2e0000
Writing data to block 24 at offset 0x300000
Writing data to block 25 at offset 0x320000
Writing data to block 26 at offset 0x340000
Writing data to block 27 at offset 0x360000

Then after the reboot I check the kernel. The build date and revision should have been updated, but it still shows the old kernel.

RIM# uname -a
Linux RIM 3.2.0-ts-armv7l #46 Mon Jun 12 16:06:45 EDT 2017 armv7l GNU/Linux

I know the kernel build date and revision will change because I can flash NAND from U-Boot and it works. I'm not able to get the process to work from Linux. Any Ideas?

Thanks,

-Michael