[U-Boot] Using u-boot to update the kernel and root-file system on NAND chip on imx28evk from USB memory stick

All,
I'm needing the ability to upgrade the kernel and root-filesystem on the NAND chip on the imx28evk from new files that reside on a USB memory stick. That is I want to partition the NAND (mtd) into 3 sections that contain u-boot, kernel, rootfs. Then whenever the system is booted, u-boot will probe the USB memory stick (using fatls and looking for a kernel file and rootfs file) If the files exist on the USB memory stick, uboot will automatically (first it will verify a CRC/Checksum) erase the kernel and rootfs sections on the NAND chip, and then copy the new kernel and rootfs from the USB stick to their respective sections in the flash chip (I think using fatload)?. It will never write a new u-boot.
I've also seen where u-boot can define the NAND flash partitions using the mtdparts command and pass these along to the kernel via command line args?
Can u-boot write/erase to a nand partition (i.e. /dev/mtd0) instead of using absolute memory addresses?
Thanks, Bill

On 08/08/2012 04:33 PM, Bill wrote:
All,
I'm needing the ability to upgrade the kernel and root-filesystem on
the NAND chip on the imx28evk from new files that reside on a USB memory stick. That is I want to partition the NAND (mtd) into 3 sections that contain u-boot, kernel, rootfs. Then whenever the system is booted, u-boot will probe the USB memory stick (using fatls and looking for a kernel file and rootfs file) If the files exist on the USB memory stick, uboot will automatically (first it will verify a CRC/Checksum) erase the kernel and rootfs sections on the NAND chip, and then copy the new kernel and rootfs from the USB stick to their respective sections in the flash chip (I think using fatload)?. It will never write a new u-boot.
I've also seen where u-boot can define the NAND flash partitions using the mtdparts command and pass these along to the kernel via command line args?
Can u-boot write/erase to a nand partition (i.e. /dev/mtd0) instead of using absolute memory addresses?
If you use U-Boot's mtdparts support, you can reference partitions by name (mtdparts name, not Linux device node name) in NAND commands.
-Scott

On Fri, Aug 10, 2012 at 8:26 PM, Scott Wood scottwood@freescale.com wrote:
On 08/08/2012 04:33 PM, Bill wrote:
All,
I'm needing the ability to upgrade the kernel and root-filesystem on
the NAND chip on the imx28evk from new files that reside on a USB memory stick. That is I want to partition the NAND (mtd) into 3 sections that contain u-boot, kernel, rootfs. Then whenever the system is booted, u-boot will probe the USB memory stick (using fatls and looking for a kernel file and rootfs file) If the files exist on the USB memory stick, uboot will automatically (first it will verify a CRC/Checksum) erase the kernel and rootfs sections on the NAND chip, and then copy the new kernel and rootfs from the USB stick to their respective sections in the flash chip (I think using fatload)?. It will never write a new u-boot.
I've also seen where u-boot can define the NAND flash partitions using the mtdparts command and pass these along to the kernel via command line args?
Can u-boot write/erase to a nand partition (i.e. /dev/mtd0) instead of using absolute memory addresses?
If you use U-Boot's mtdparts support, you can reference partitions by name (mtdparts name, not Linux device node name) in NAND commands.
Maybe https://github.com/otavio/u-boot/commit/7ccde26310719a9caef4cbe23bdf080d49d4... might help?
participants (3)
-
Bill
-
Otavio Salvador
-
Scott Wood