Instructions for flashing an EMAC SoM-9260M from u-boot. EMAC, Inc. 5/09/2008 The steps below can be used to flash a SoM-9260M module from a TFTP server using the u-boot bootloader on the module. These assume that the IP address of the TFTP server is 10.0.2.60, the kernel to flash is uImage-SoM-9260M_e1.6.2, and the root filesystem to flash is emac-image-SOM9260M_1.2.1.jffs2. Both the kernel and the root filesystem must be located on the TFTP server. Note that this entire process can be scripted. Add all commands into a text file and use the commands in the script_mkimage.sh script to create a u-boot image. Load the script into u-boot via TFTP and execute it using the autoscr command. For example: U-Boot> load 0x20000000 load_som9260_1.2.2.img U-Boot> autoscr 0x20000000 WARNING: These steps will completely erase the contents of the flash on the SoM-9260M. Entering these instructions incorrectly can cause damage to your flash that may not be repairable. Any such damage will not be covered by warranty, use at your own risk! To access u-boot, connect to the board using the serial terminal. After resetting the board, press the enter key quickly after the message "Hit any key to stop autoboot:" is printed. Once you have the "U-boot>" prompt, follow the steps below. (Note that you don't have to load both the kernel and the filesystem, you can do them independently as long as you make sure to use the protect off all command.) U-Boot> protect off all U-Boot> setenv serverip 10.0.2.60 U-Boot> setenv kernel_name uImage-SoM-9260M_e1.6.2 U-Boot> setenv rootfs_name emac-image-SOM9260M_1.2.1.jffs2 U-Boot> saveenv # load the kernel U-Boot> tftpboot 0x20000000 ${kernel_name} U-Boot> erase 0x10100000 0x103fffff U-Boot> cp.b 0x20000000 0x10100000 ${filesize} U-Boot> setenv kernelsize ${filesize} # load the rootfs U-Boot> tftpboot 0x20000000 ${rootfs_name} U-Boot> erase 0x10400000 0x11ffffff U-Boot> cp.b 0x20000000 0x10400000 ${filesize} # set the new boot command to the proper kernelsize U-Boot> setenv bootcmd 'protect off all;cp.b 0x10100000 0x20000000 ${kernelsize};bootm 0x20000000' U-Boot> saveenv