1: #!/bin/sh
2: #
3: # ELWIX install script for u-boot image
4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
8: # $Id: install2uboot.sh,v 1.2 2014/09/15 19:06:42 misho Exp $
9: #
10:
11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
13: echo
14: echo "ELWIX project is not configured !?!"
15: echo
16: exit 1
17: fi
18:
19: if [ "${USER}" != "root" ]; then
20: echo
21: echo "ELWIX project is not configured - install must build under root !?!"
22: echo
23: exit 1
24: fi
25:
26: if [ -z "${UB_LOADADDR}" ]; then
27: echo
28: echo "ELWIX project is not configured for u-boot use !?!"
29: echo
30: exit 1
31: fi
32:
33:
34: ### main()
35:
36: if [ -z "$1" ]; then
37: echo
38: echo "Error:: ELWIX u-boot option not found ..."
39: echo
40: exit 2
41: fi
42:
43: case $1 in
44: kernel)
45: oldlzma e ${KERNEL} ${REL}/kernel.${UB_COMPRESS}
46: uboot_mkimage -A ${TARGET} -O linux -T kernel -C ${UB_COMPRESS} -n ELWIX \
47: -a ${UB_LOADADDR} -e ${UB_ENTRYADDR} -d ${REL}/kernel.${UB_COMPRESS} \
48: ${REL}/kernel.${UB_COMPRESS}.uImage
49: ;;
50: kernel_rootfs)
51: oldlzma e ${KERNEL_ROOTFS} ${REL}/kernel_rootfs.${UB_COMPRESS}
52: uboot_mkimage -A ${TARGET} -O linux -T kernel -C ${UB_COMPRESS} -n ELWIX_ROOTFS \
53: -a ${UB_LOADADDR} -e ${UB_ENTRYADDR} -d ${REL}/kernel_rootfs.${UB_COMPRESS} \
54: ${REL}/kernel_rootfs.${UB_COMPRESS}.uImage
55: ;;
56: rootfs)
57: makefs -t ffs -B ${UB_ORDER} -f 1000 -s ${UB_ROOTFS_SIZE} \
58: -o "version=1,bsize=4096,fsize=512,minfree=0" \
59: ${REL}/rootfs.dsk ${UBOOT_FS}
60: mkulzma -v -s 131072 -o ${REL}/rootfs.${UB_COMPRESS_ROOTFS} ${REL}/rootfs.dsk
61: ;;
62: bin)
63: imgupd -ts ${UB_ROOTFS_NAND_SIZE} -f ${REL}/elwix_firmware.bin \
64: ${REL}/rootfs.${UB_COMPRESS_ROOTFS}
65: imgupd -s ${UB_KERNEL_NAND_SIZE} -f ${REL}/elwix_firmware.bin \
66: ${REL}/kernel.${UB_COMPRESS}.uImage
67:
68: # dd bs=65536 count=$((${UB_ROOTFS_NAND_SIZE} + ${UB_KERNEL_NAND_SIZE})) \
69: # if=/dev/zero of=${REL}/elwix_firmware.bin
70: # dd bs=65536 count=${UB_ROOTFS_NAND_SIZE} conv=sync,notrunc \
71: # if=${REL}/rootfs.${UB_COMPRESS_ROOTFS} \
72: # of=${REL}/elwix_firmware.bin
73: # dd bs=65536 count=${UB_KERNEL_NAND_SIZE} conv=sync,notrunc seek=${UB_ROOTFS_NAND_SIZE} \
74: # if=${REL}/kernel.${UB_COMPRESS}.uImage \
75: # of=${REL}/elwix_firmware.bin
76: ;;
77: vendor)
78: if [ ! -r "${3:-./elwix_cfg.bin}" ]; then
79: echo "elwix_cfg.bin not found!"
80: exit 1
81: fi
82:
83: imgupd -ts ${UB_ROOTFS_NAND_SIZE} -f ${REL}/elwix_firmware_${2:-vendor}.bin \
84: ${REL}/rootfs.${UB_COMPRESS_ROOTFS}
85: imgupd -s ${UB_KERNEL_NAND_SIZE} -f ${REL}/elwix_firmware_${2:-vendor}.bin \
86: ${REL}/kernel.${UB_COMPRESS}.uImage
87: imgupd -s ${UB_CFG_NAND_SIZE} -f ${REL}/elwix_firmware_${2:-vendor}.bin \
88: ${3:-./elwix_cfg.bin}
89: ;;
90: *)
91: echo "Option $1 not supported at this moment"
92: ;;
93: esac
94:
95: echo "ELWIX u-boot image $1 complete."
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>