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.

update u-boot and uImage in SPI flash from linux

Hi, all!

Please tell me how I can update u-boot and uImage stored in SPI flash from running linux system?

At this moment I can write in SPI from linux only as /dev/mtdblk3 partition. I created minix-filesystem on /dev/mtdblk3, mount this block device and use it in linux.

For example I need update kernel image from linux (At the first time I put uImage in SPI via u-boot)?

Thank you.

  • Update:

    I can rewrite u-boot.noxip.bin.spi image via dd utility and u-boot was successfully started. But if I rewrite kernel image arch/arm/boot/uImage the same manner it is not started. May be I need some manipulations with uImage file?

    Update:

    1) SPI was not erased before writing.

    2) After rewrite uImage kernel started, but hangs at this point:

    #sf probe 0

    16384 KiB M25P128 at 0:0 is now current device
    FM403C#sf read 0xc1000000 0x80000 0x280000
    FM403C#bootm 0xc1000000
    ## Booting kernel from Legacy Image at c1000000 ...
    Image Name: Linux-2.6.37
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2510364 Bytes = 2.4 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.

    3) If I load this kernel via tftp it is successfully boot.

    Update 2: bootargs was incorrect in environment stored on SPI flash. Now kernel and u-boot is working.

    Thank you for all.