-
Notifications
You must be signed in to change notification settings - Fork 54
/
Copy pathbuild.sh
executable file
·110 lines (92 loc) · 2.73 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/bash
export LC_ALL=C
export LANG=en_US
export TOPDIR=${PWD}
export QSDKDIR=${TOPDIR}/qsdk
export QSDKCONFIG=${QSDKDIR}/.config
init_time_info()
{
export YE="`date '+%G'`"
export MO="`date '+%m'`"
export DY="`date '+%d'`"
export HR="`date '+%H'`"
export MI="`date '+%M'`"
export SE="`date '+%S'`"
export IMAGE_TIMEINFO="${YE}${MO}${DY}${HR}${MI}"
}
restore_configuration()
{
local model=$1
local newconfig=$2
cp -rvf ${newconfig} ${QSDKCONFIG} || exit 1
make -C ${QSDKDIR} defconfig || exit 1
echo "${model}" > ${TOPDIR}/.model
}
prepare_environment()
{
local oldmodel
local curmodel=$1
local defconfig=$2
[ -z ${curmodel} ] && {
echo "Unknow model: ${curmodel}"
exit 1
}
[ ! -f ${defconfig} ] && {
echo "Invalid default config: ${defconfig}"
exit 1
}
[ ! -e ${QSDKCONFIG} ] && {
restore_configuration ${curmodel} ${defconfig}
} || {
oldmodel=`cat ${TOPDIR}/.model 2>/dev/null`
[ "x${oldmodel}" != "x${curmodel}" ] && {
restore_configuration ${curmodel} ${defconfig}
} || {
echo "=============== nochanged ==============="
}
}
}
build_ipq807x()
{
local MODEL="ipq807x"
local TGTDIR=${TOPDIR}/target_images/${MODEL}
local TMPBINDIR=${TOPDIR}/package_tools/common/build/bin
################## BUILD ##################
prepare_environment ${MODEL} ${TOPDIR}/defconfig/ipq807x_premium_32bit.config
make -C ${QSDKDIR} V=s || exit 1
################### START PACKAGING ##################
#rm -rf ${TOPDIR}/package_tools/common/build/ipq/openwrt*
#cp -rf ${QSDKDIR}/bin/ipq806x/openwrt* ${TOPDIR}/package_tools/common/build/ipq/
#cd ${TOPDIR}/package_tools/common/build || exit 1
#python update_common_info.py || exit 1
#rm -rf ${TOPDIR}/package_tools/common/build/ipq/openwrt*
#################### PREPARE THE FIRMWARE ##################
#TMPBINLIST=`find ${TMPBINDIR} -type f 2>/dev/null`
#[ ! -z "${TMPBINLIST}" ] && {
# IMAGEFILES="ipq40xx-nor-apps.img"
# IMAGEFILES+=" ipq40xx-nornand-apps.img"
# IMAGEFILES+=" nor-ipq40xx-single.img"
# IMAGEFILES+=" nornand-ipq40xx-single.img"
#
# mkdir -p ${TGTDIR}
# cd ${TMPBINDIR} && tar -jcvf ${TGTDIR}/${MODEL}-${IMAGE_TIMEINFO}.tar.bz2 ${IMAGEFILES}
#}
}
init_time_info
echo "========================================================="
echo "= ="
echo "= Welcome to Project Maker Menu ="
echo "= ="
echo "========================================================="
echo " 1. Build ipq807x "
echo "========================================================="
echo -n "==> "
read action
case ${action} in
1)
build_ipq807x
;;
*)
echo " ERROR: Please enter the correct number."
;;
esac