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.

Flashing AM335x NAND with initramfs zImage with uniflash

Other Parts Discussed in Thread: UNIFLASH, FLASHTOOL

Hi,

I need some help on the AM335x with UniFlash.

I have managed to boot from SD card with all the required files I've customised and it has successfully run as initramfs as expected; that is

'MLO' and 'u-boot.img' in boot partition

'rootfs/boot/zImage' and 'rootfs/boot/am335x-evm.dtb' in rootfs partition

The customised zImage is around 50 Mbytes.

I was trying to see if I can flash all these files to NAND and then be able to boot from it.

I have had a look at this link

processors.wiki.ti.com/.../Sitara_Uniflash_Quick_Start_Guide

which says I will need to prepare

(1). MLO or SPL

(2). A U-boot image

(3). A kernel image (if using a Linux kernel for flashing) and associated Device Tree file

(4). debrick.scr or flasher.sh

(5). Flash Image files (contains the images to be flashed on the target board)

My question is: does (3)  mean my initramfs 'zImage' file and 'am335x-evm.dtb'?  and what is (5)?

 

Also I had a look at this link

processors.wiki.ti.com/.../Sitara_Uniflash_Flash_Programming_with_U-Boot

In the 'Prepare Image to be flashed' section, it says to bundle files below into 'flash-image.out'

(a) SPL (Secondary Program Loader) that can be named MLO, u-boot-spl.bin, etc.

(b) U-Boot image which is usually name u-boot.img.

(c) Kernal image named uImage.

(d) Root Filesystem that is usually packaged into a filesytem lik UBIFS and named rootfs.ubi or simply zipped up into a tar.gz file.

Again my question is in (c) I assume it is OK to have zImage instead as I don't have uImage? but my zImage is like 50 Mbytes and looked at the default size of 'NAND.kernel' partition is only 8 Mbytes, should I partition 'NAND.kernel' myself to make it larger? I don't have to provide in SD card though as the zImage is under the 'rootfs/boot' directory;

And for (d) I assume it's OK to provide my rootfs partition in .tar.gz compression?

Sorry I am new to all those and if my question not making sense please forgive me as it would mean I do desperately need some help...

Thanks again

George

  • Hi George,
    Both guides you are referring to were sourced from the device team. Since you questions are very device specific, I'll move this thread to the device forum where the experts there can help you best.

    Thanks
    ki
  • Hi George,

    Please follow these two guides:

    1. processors.wiki.ti.com/.../Sitara_Uniflash_Flash_Programming_with_Linux. This should answer your questions.

    It explains how to build your MLO/u-boot & kernel. It also explains how to prepare the initramfs & the minimal filesystem images, so that you can flash your device.

    2. Additional info, which may be useful to you: 
    http://processors.wiki.ti.com/index.php/Sitara_Linux_AM335x_Flash_Programming_Linux_Development 

    Best Regards,
    Yordan

  • Hi,

    I have problem flashing images to NAND via ethernet using uniflash. I have followed up the given two links to have these in place under

    c://AM335x_Flashtool/images

    -debrick.scr
    -flash-image.out
    -u-boot-restore.img
    -u-boot-spl-restore.bin

    When I launched the uniflash and then 'start flashing' button I could see the target device appeared. But the progress was always 0% and the Status stayed as 'FlashInProgress'; and then after perhaps 10 minutes it changed to 'FlashUnknownError' and I don't know what to do next.

    Could the problem be the 'u-boot-restore.img' and 'u-boot-spl-restore.bin'? As I wasn't able to 100% follow up the provided link as it refers to SDK 6 when generating the flasher images and in my case i.e. SDK7 where 'am335x_evm_restore_flash' option has been removed from boards.c hence I use am335x-evm instead. How do I debug?

    Thanks

    George
  • Hi,

    I am guessing I just need to find a patch for 'am335x_evm_restore_flash' in my SDK (I am using TI Linux Processor SDK 1.0)?

    Build Targets Boot Source Memory Type Build Target
    -------------------------------------------------------------------------
    Ethernet NAND, SPI am335x_evm_restore_flash

    Where can I find it?  Many thanks

    George