Annotation of elwix/install2ub.sh, revision 1.1.2.3
1.1.2.1 misho 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: #
1.1.2.3 ! misho 8: # $Id: install2ub.sh,v 1.1.2.2 2013/05/14 09:32:42 misho Exp $
1.1.2.1 misho 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: UB_K=""
27:
28: cleanUB()
29: {
30: echo "+++ Clean ELWIX U-boot images ..."
31:
32: rm -rf ${UB_OBJS}
33: install -d ${UB_OBJS}
34: }
35:
36: prepareUB()
37: {
38: echo "+++ Prepare ELWIX U-boot kernel ..."
39:
40: cp ${KERNEL} ${UB_OBJS}
1.1.2.3 ! misho 41: STARTADDR=$(${DEST}/cross_exec.sh nm ${UB_KERNEL} | grep ' _start$' | cut -f1 -d ' ')
1.1.2.1 misho 42: ${DEST}/cross_exec.sh objcopy -O binary ${UB_KERNEL} ${UB_KERNEL}.bin
1.1.2.3 ! misho 43: UB_LOADADDR=${UB_LOADADDR:=$STARTADDR}
! 44: UB_ENTRYADDR=${UB_ENTRYADDR:=$UB_LOADADDR}
1.1.2.1 misho 45: }
46:
47: compUB()
48: {
49: echo "+++ Compress ELWIX U-boot kernel ..."
50:
51: case ${UB_COMPRESS} in
52: gzip)
53: gzip --force --best ${UB_KERNEL}.bin
54: UB_K="${UB_KERNEL}.bin.gz"
55: ;;
1.1.2.2 misho 56: lzma)
1.1.2.3 ! misho 57: oldlzma e ${UB_KERNEL}.bin ${UB_KERNEL}.bin.lzma
1.1.2.2 misho 58: UB_K="${UB_KERNEL}.bin.lzma"
59: ;;
1.1.2.3 ! misho 60: none)
! 61: UB_K="${UB_KERNEL}.bin"
! 62: ;;
1.1.2.1 misho 63: *)
64: echo "Error:: not supported compress method ..."
65: exit 1
66: ;;
67: esac
68: }
69:
70: mkimgUB()
71: {
72: echo "+++ Make ELWIX U-boot kernel image ..."
73:
1.1.2.3 ! misho 74: uboot_mkimage -A ${TARGET} -O linux -T kernel -C ${UB_COMPRESS} \
1.1.2.1 misho 75: -a ${UB_LOADADDR} -e ${UB_ENTRYADDR} -n "ELWIX version ${VERSION} kernel" \
76: -d ${UB_K} ${UB_K}.ub
77: }
78:
79: instUB()
80: {
81: echo "+++ Install ELWIX U-boot kernel image into release directory ..."
82:
83: install ${UB_K}.ub ${REL}
84: }
85:
86: ### main()
87:
88: if [ ! -x ${DEST}/cross_exec.sh ]; then
89: echo
90: echo "Error:: ELWIX cross-toolchain not ready ... First execute ./build_world.sh"
91: echo
92: exit 1
93: fi
94:
95: cleanUB
96: prepareUB
97: compUB
98: mkimgUB
99: instUB
100:
101: echo "ELWIX U-boot images install complete."
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>