How can I flash the uImage into Flash and boot from it?

Document created by Aaronwu Employee on Apr 24, 2013Last modified by Aaronwu Employee on Apr 24, 2013
Version 2Show Document
  • View in full screen mode

Q: I understand for production I usually need to fill things into Flash file system like UBIFS or jffs2, but now, I just want a quick stand alone boot up to show my customer my demo, how should I do this?

 

A: You may flash the u-boot into Parallel Flash, and store the uImage into SD card. Here I will give an example based on BF609 EZ-BOARD and 2012R2 release.

 

The basic idea is, Flash the u-boot into Parallel Flash, customize the u-boot environment variable, to make the u-boot read the uImage into a RAM location from SD card, and then jump to the RAM location to boot the uImage.

 

Step 1: Flash the u-boot.

          i) download the tarball from https://blackfin.uclinux.org/gf/download/frsrelease/568/10222/u-boot-bf609-ezkit-2012R2-RC3.tar.bz2, extract it, file u-boot-bf609-ezkit-para-2012R2-RC3.ldr is what we want.

          ii) Flash the downloaded u-boot-bf609-ezkit-para-2012R2-RC3.ldr into parallel following https://docs.blackfin.uclinux.org/doku.php?id=toolchain:ldr-utils

          iii) after the Flashing is done, reset the board, you should see the u-boot UART console with minicom or windows hyperterminal etc with 57600-8-N-1 (make sure the boot mode of the board is set to Parallel Flash boot, position 1)

 

Step 2: Store the uImage into SD card

          i) download the uImage from https://blackfin.uclinux.org/gf/download/frsrelease/593/10293/uImage-bf609-ezkit-2012R2-RC5 and rename it to uImage for simplicity.

          ii)format a SD card into FAT (you may do this with a windows PC)

          iii)copy the above file uImage into the SD card FAT partition (still on a windows)

 

Step 3: Customize the u-boot environment

          In the u-boot console, run the following command    

         i) set mmcboot 'fatload mmc 0:1 0x1000000 /uimage; bootm'

         ii)set bootm 'run mmcboot'

         iii)save

 

Step4: Reset the board

          Reset the board, in a few seconds you should see it's booting into Linux.

Attachments

    Outcomes