build: make tar image for u-boot.bin
[kernel/u-boot.git] / build.sh
1 #!/bin/sh
2
3 # Set default cross compiler
4 CROSS_COMPILER=/opt/toolchains/arm-2008q3/bin/arm-none-linux-gnueabi-
5
6 # Check this system has ccache
7 check_ccache()
8 {
9         type ccache
10         if [ "$?" -eq "0" ]; then
11                 CCACHE=ccache
12         fi
13 }
14
15 check_users()
16 {
17         USER=`whoami`
18         if [ "$USER" = "kmpark" ]; then
19                 #CROSS_COMPILER=/pub/toolchains/gcc-4.4.1/bin/arm-none-linux-gnueabi-
20                 CROSS_COMPILER=/scratchbox/compilers/arm-linux-gnueabi-gcc4.4.1-glibc2.10.1-2009q3-93/bin/arm-none-linux-gnueabi-
21                 touch onenand_ipl/board/samsung/universal_c210/start.S
22                 JOBS="-j 4"
23         fi
24         if [ "$USER" = "dofmind" ]; then
25                 CROSS_COMPILER=arm-none-linux-gnueabi-
26                 JOBS="-j 5"
27         fi
28         if [ "$USER" = "prom" ]; then
29                 CROSS_COMPILER=/opt/toolchains/arm-2009q3/bin/arm-none-linux-gnueabi-
30                 JOBS="-j 5"
31         fi
32         if [ "$USER" = "jaehoon" ]; then
33                 CROSS_COMPILER=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-
34                 JOBS="-j 5"
35         fi
36         if [ "$USER" = "leedonghwa" ]; then
37                 CROSS_COMPILER=/opt/toolchains/scratchbox/compilers/arm-linux-gnueabi-gcc4.4.1-glibc2.10.1-2009q3-93/bin/arm-none-linux-gnueabi-
38                 JOBS="-j 5"
39         fi
40         if [ "$USER" = "riverful" ]; then
41                 CROSS_COMPILER=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-
42                 JOBS="-j 5"
43         fi
44         if [ "$USER" = "cwchoi00" ]; then
45                 CROSS_COMPILER=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-
46                 JOBS="-j 5"
47         fi
48         if [ "$USER" = "donggeun" ]; then
49                 CROSS_COMPILER=/scratchbox/compilers/arm-linux-gnueabi-gcc4.4.1-glibc2.10.1-2009q3-93/bin/arm-none-linux-gnueabi-
50                 JOBS="-j 5"
51         fi
52 }
53
54 check_ipl()
55 {
56         if [ "$1" = "mmc" ]; then
57                 IPL="mmc"
58         else
59                 IPL="onenand"
60         fi
61 }
62
63 build_uboot()
64 {
65         if [ "$1" != "mmc" ]; then
66                 OPT=$*
67         fi
68         make ARCH=arm CROSS_COMPILE="$CCACHE $CROSS_COMPILER" $JOBS $OPT
69 }
70
71 make_evt_image()
72 {
73         set -x
74         SOC=`grep BOARD include/config.mk | awk -F'_' '{print $2}'`
75         IPL_PREFIX=${IPL}_ipl/${IPL}-ipl
76
77         if [ "$SOC" = "c210" ]; then
78                 # Universal Rev0.0
79                 cat ${IPL_PREFIX}-32k-evt0.bin u-boot.bin > u-boot-"$IPL"-evt0.bin      
80                 # Universal Rev0.1 (Secure boot)
81                 cat ${IPL_PREFIX}-32k-evt0-fused.bin u-boot.bin > u-boot-"$IPL"-evt0-fused.bin
82         elif [ "$SOC" = "c110" ]; then
83                 # C110
84                 cat ${IPL_PREFIX}-16k-evt0.bin u-boot.bin > u-boot-"$IPL"-evt0.bin
85                 cat ${IPL_PREFIX}-16k-fused.bin u-boot.bin > u-boot-"$IPL"-evt1-fused.bin
86                 if [ "$IPL" = "mmc" ]; then
87                         cat ${IPL_PREFIX}-8k-fused.bin u-boot.bin > u-boot-"$IPL"-evt1-fused.bin
88                 fi
89                 # To distinguish previous u-boot-onenand.bin, it uses the evt1 suffix
90                 cp u-boot-"$IPL".bin u-boot-"$IPL"-evt1.bin
91         fi
92 }
93
94 check_ccache
95 check_users
96 check_ipl $1
97
98 build_uboot $*
99
100 make_evt_image
101
102 if [ "$IPL" != "mmc" ]; then
103         size=`ls -al u-boot-onenand.bin | awk -F' ' '{printf $5}'`
104         if [ "$size" -ge "262144" ]; then
105                 echo "u-boot-onenand.bin execced the 256KiB 262144 -> $size"
106                 exit
107         fi
108 fi
109
110 if [ "$USER" = "kmpark" ]; then
111         ls -al u-boot*.bin
112         cp -f u-boot.bin u-boot-onenand.bin /tftpboot
113         ls -al onenand_ipl
114         pushd ../images
115         ./system.sh
116         popd
117 elif [ "$USER" = "dofmind" ]; then
118         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
119         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
120         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
121         tar cvf system_uboot.tar u-boot-onenand.bin
122         mv -f system_uboot*.tar /home/release
123 elif [ "$USER" = "prom" ]; then
124         tar cvf system_uboot.tar u-boot.bin
125         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
126         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
127         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
128         mv -f system_uboot* /home/share/Work/bin
129 elif [ "$USER" = "jaehoon" ]; then
130         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
131         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
132         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
133         mv -f system_uboot* /home/jaehoon/shared/new/
134 elif [ "$USER" = "leedonghwa" ]; then
135         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
136         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
137         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
138         mv -f system_uboot* /home/leedonghwa/Build-Binaries/
139 elif [ "$USER" = "cwchoi00" ]; then
140         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
141         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
142         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
143 elif [ "$USER" = "donggeun" ]; then
144         tar cvf system_uboot_evt0.tar u-boot-onenand-evt0.bin
145         tar cvf system_uboot_evt1.tar u-boot-onenand-evt1.bin
146         tar cvf system_uboot_evt1-fused.tar u-boot-onenand-evt1-fused.bin
147         mv -f system_uboot*.tar /home/donggeun/workspace/images
148 fi