aboutsummaryrefslogtreecommitdiff
path: root/build
blob: 1726b2d536135ba83aec0781db2d50fc462f3dcb (plain)
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
#!/bin/sh
#
# Kernel building helper script (C)2008 Openmoko, Inc
# Andy Green <andy@openmoko.org>
#
# Licensed under GPLv3 or later
#

# set -x

export CROSS_COMPILE=/usr/local/openmoko/arm/bin/arm-angstrom-linux-gnueabi-
make ARCH=arm silentoldconfig

#
# figure out what we are building
#

PRODUCT=

if [ ! -z "`grep CONFIG_MACH_NEO1973_GTA01=y .config`" ] ; then
	START=30008000
	PRODUCT=GTA01
fi

if [ ! -z "`grep CONFIG_MACH_NEO1973_GTA02=y .config`" ] ; then
	START=30008000
	PRODUCT=GTA02
fi

if [ ! -z "`grep CONFIG_MACH_OPENMOKO_GTA03=y .config`" ] ; then
        START=50008000
        PRODUCT=GTA03
fi

if [ ! -z "`grep CONFIG_MACH_M800=y .config`" ] ; then
	START=30008000
	PRODUCT=M800
fi

if [ -z "$PRODUCT" ] ; then
	echo "Unable to figure out what we are building from the config"
	exit 1
fi

#
# get the branch and head hash for the version we are building to
# allow source tracability
#

VERSION=
if [ -d .git ] ; then
 HEAD=`git show --pretty=oneline | head -n1 | cut -d' ' -f1 | cut -b1-16`
 BRANCH=`git branch | grep ^\* | cut -d' ' -f2`
 VERSION=-$PRODUCT\_$BRANCH\_$HEAD
fi


echo $MKIMAGECMD

#
# actually make it
#

if make -j5 ARCH=arm CONFIG_DEBUG_SECTION_MISMATCH=y EXTRAVERSION=$VERSION; then

	#
	# if the build is happy, postprocess it by strip and with U-Boot header wrapper
	# you can get mkimage from U-Boot or Qi build
	#

	${CROSS_COMPILE}objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux linux.bin
	mkimage -A arm -O linux -T kernel -C none -a $START -e $START -n "OM $PRODUCT $BRANCH""_$HEAD" -d linux.bin uImage-$PRODUCT.bin

	# we can see if it is an "moredrivers" build by looking for USB Eth gadget
	# if it is then keep a stamped copy of last build

	if [ ! -z "`grep CONFIG_USB_USBNET=y .config`" ] ; then
		rm -f uImage-moredrivers-$PRODUCT*.bin modules-$PRODUCT*.tar.gz
		cp uImage-$PRODUCT.bin uImage-moredrivers$VERSION.bin
		rm -rf staging
		mkdir -p staging
		if [ ! -z "$1" ] ; then
			make ARCH=arm modules_install INSTALL_MOD_PATH=staging
			cd staging
			tar czf ../modules$VERSION.tar.gz .
			cd ..
		fi
	fi
	exit 0
else
	exit 1
fi