#!/bin/sh echo update start... > /dev/ttyS0 SD_ROOTDIR=/mnt/sd echo none > /sys/class/leds/heartbeat/trigger check_return() { if [ $@ -ne 0 ];then echo build failed exit $@ fi } starttime=`date +'%Y-%m-%d %H:%M:%S'` if [ ! -d ${SD_ROOTDIR} ] then mkdir -p ${SD_ROOTDIR} fi echo "wait for mount" > /dev/ttyS0 echo "wait for mount" sleep 3 if [ -b /dev/mmcblk1p1 ] then mount /dev/mmcblk1p1 ${SD_ROOTDIR} elif [ -b /dev/sda1 ] then mount /dev/sda1 ${SD_ROOTDIR} else echo "-------------------------------------------------" echo "The first partition of the sd card was not found." > /dev/ttyS0 echo "-------------------------------------------------" exit fi echo "cd ${SD_ROOTDIR}..." > /dev/ttyS0 cd ${SD_ROOTDIR} echo 1 > /sys/class/leds/heartbeat/brightness dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=1024 check_return $? # clear uboot env dd if=/dev/zero of=/dev/mmcblk0 bs=1 count=131072 seek=65536 conv=fsync check_return $? echo "flash emmc boot..." > /dev/ttyS0 echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/dev/zero of=/dev/mmcblk0boot0 bs=1M count=4 conv=fsync > /dev/ttyS0 dd if=${SD_ROOTDIR}/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512 > /dev/ttyS0 dd if=${SD_ROOTDIR}/tispl.bin of=/dev/mmcblk0boot0 seek=1024 bs=512 > /dev/ttyS0 dd if=${SD_ROOTDIR}/u-boot.img of=/dev/mmcblk0boot0 seek=5120 bs=512 > /dev/ttyS0 mmc bootpart enable 1 1 /dev/mmcblk0 mmc bootbus set single_backward x1 x8 /dev/mmcblk0 mmc hwreset enable /dev/mmcblk0 mmc extcsd read /dev/mmcblk0 | grep BOOT_BUS_CONDITIONS > /dev/ttyS0 mmc extcsd read /dev/mmcblk0 | grep PARTITION_CONFIG > /dev/ttyS0 mmc extcsd read /dev/mmcblk0 | grep RST_N_FUNCTION > /dev/ttyS0 echo 1 > /sys/block/mmcblk0boot0/force_ro #mmc bootpart enable 0 0 /dev/mmcblk0 systems=`ls ${SD_ROOTDIR}/ok62lxx-linux-fs.sdcard.a*` check_return $? offsets=0 echo "flashing kernel and rootfs wait..." > /dev/ttyS0 echo "flashing kernel and rootfs wait..." for img in $systems do echo "$img $offsets" > /dev/ttyS0 echo "$img $offsets" dd if=$img of=/dev/mmcblk0 bs=256M seek=$offsets if [ "$?" == "1" ] ; then echo "sd/emmc flash error" > /dev/ttyS0 exit fi echo "flash $img, done" > /dev/ttyS0 echo "flash $img, done" offsets=$(($offsets+8)) done sync echo ">>>>>>>>>>>>>> Flashing successfully completed <<<<<<<<<<<<<<" > /dev/ttyS0 echo ">>>>>>>>>>>>>> Flashing successfully completed <<<<<<<<<<<<<<" /sbin/fdisk /dev/mmcblk0 << EOF t 1 c a 1 w EOF /sbin/fdisk /dev/mmcblk0 << EOF d 2 n p 2 172416 w EOF