blob: 31d39dbeb7105a554fb4ed0b3d3397685d369f52 [file] [log] [blame]
# This file needs to be provided to the TFTP client when it requests the file
# "gfrg200-mfg/flash_image".
echo "+++++++++++++++++++++++++++++++++++++++++"
echo "Manufacturing bootstrap script -- Phase 2"
echo " - Flashing kernel image and rootfs image"
echo "+++++++++++++++++++++++++++++++++++++++++"
# Turn on red LED
mw 0x90470000 0x0800e000
# Load NOR and NAND partition layout
. /default/config
addpart /dev/nor0 $nor_parts
addpart /dev/nand0 $nand_parts
nand -a /dev/nand0.kernel0
partition=0
kernel_image=kernel.img
rootfs_image=rootfs.img
kernel_dev=/dev/nand0.kernel${partition}.bb
rootfs_dev=/dev/nand0.rootfs${partition}
[ -d /tmp ] || mkdir -p /tmp
echo "Downloading kernel image"
tftp gfrg200-mfg/${kernel_image} /tmp/kernel.img || /failure || exit 1
crc32 -f /tmp/kernel.img -v 0xc51d9129 || /failure || exit 1
echo "Erasing partition"
erase ${kernel_dev} || /failure || exit 1
echo "Copying kernel image into partition ${kernel_dev}"
cp /tmp/kernel.img ${kernel_dev} || /failure || exit 1
echo "Verifying"
crc32 -f /tmp/kernel.img -F ${kernel_dev} || /failure || exit 1
rm /tmp/kernel.img
echo "ubiattach"
ubiattach ${rootfs_dev} || /failure || exit 1
echo "Deleting UBI volume rootfs in case it already exists"
ubirmvol /dev/ubi0 rootfs
echo "Creating UBI volume rootfs"
ubimkvol /dev/ubi0 rootfs 0 || /failure || exit 1
echo "TFTPing rootfs into UBI volume"
tftp gfrg200-mfg/${rootfs_image} /dev/ubi0.rootfs || /failure || exit 1
# Wipe /env
erase /dev/nor0.env
#
# Turn red LED off and blue LED on
mw 0x90470000 0x0800d000
exit 1