diff options
author | Xiaofeng Yan <xiaofeng.yan@windriver.com> | 2010-12-10 15:46:49 +0800 |
---|---|---|
committer | Saul Wold <Saul.Wold@intel.com> | 2010-12-10 22:01:40 -0800 |
commit | f39dae9f155b2f73c54fa5fc1bedd69f2ff87386 (patch) | |
tree | dbf5bac336c8f0ab39692a069a0a888178dd1662 /scripts/creat-lsb-image | |
parent | bc61818ac096fff071540c174b6660ca31b9ba30 (diff) | |
download | poky-f39dae9f155b2f73c54fa5fc1bedd69f2ff87386.tar.gz |
creat-lsb-image: download lsb test suite and creat a image with lsb test suite
If we make a test with lsb test suite, then we must creat a large image with lsb test suite.
three function in this script:
1 download lsb test suite
2 creat a block file with 3G
3 install file system of poky-image-lsb, modules of driver and lsb test suite
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Diffstat (limited to 'scripts/creat-lsb-image')
-rwxr-xr-x | scripts/creat-lsb-image | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/scripts/creat-lsb-image b/scripts/creat-lsb-image new file mode 100755 index 0000000000..71d9215d41 --- /dev/null +++ b/scripts/creat-lsb-image | |||
@@ -0,0 +1,170 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # Copyright (c) 2005-2010 Wind River Systems, Inc. | ||
4 | # | ||
5 | # This program is free software; you can redistribute it and/or modify | ||
6 | # it under the terms of the GNU General Public License version 2 as | ||
7 | # published by the Free Software Foundation. | ||
8 | # | ||
9 | # This program is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
12 | # See the GNU General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU General Public License | ||
15 | # along with this program; if not, write to the Free Software | ||
16 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
17 | |||
18 | |||
19 | red='\E[31;40m' | ||
20 | green='\E[32;40m' | ||
21 | USER=`whoami` | ||
22 | MACHINE=$1 | ||
23 | IMAGE_PATH=../build/tmp/deploy/images/ | ||
24 | |||
25 | |||
26 | ECHO() | ||
27 | { | ||
28 | echo -e "${green}$@" | ||
29 | tput sgr0 | ||
30 | } | ||
31 | |||
32 | exit_check() | ||
33 | { | ||
34 | if [ ! $? -eq 0 ]; then | ||
35 | exit $? | ||
36 | fi | ||
37 | } | ||
38 | |||
39 | usage() | ||
40 | { | ||
41 | ECHO "${red}usage:you should input one of the next commmands according to detailed target platform:" | ||
42 | ECHO "creat-lsb-image qemux86" | ||
43 | ECHO "creat-lsb-image qemux86-64" | ||
44 | ECHO "creat-lsb-image qemuppc" | ||
45 | } | ||
46 | |||
47 | #There should be a patameter to get machine type | ||
48 | if [ $# -ne 1 ]; then | ||
49 | usage | ||
50 | exit 1 | ||
51 | fi | ||
52 | |||
53 | #check lsb image | ||
54 | if [ ! -d $IMAGE_PATH ];then | ||
55 | ECHO "${red}There isn't image directory" | ||
56 | exit 1 | ||
57 | fi | ||
58 | ECHO "Enter directory $IMAGE_PATH" | ||
59 | cd $IMAGE_PATH | ||
60 | |||
61 | #get architecture | ||
62 | case $MACHINE in | ||
63 | qemux86) | ||
64 | ARCH=ia32 | ||
65 | PN=`find . -name poky-image-lsb-${MACHINE}\*.rootfs.tar.bz2 -type f | awk -F- 'BEGIN{ max=0;} {if( NR!=0 && $5>max ) max=$5 }END{ printf "%d" ,max ;}'` | ||
66 | if [ "XPN" == "X" ];then | ||
67 | ECHO "${red}Don't find lsb image on platform, Please run \"poky-image-lsb\" to generate lsb image" | ||
68 | exit 1 | ||
69 | fi | ||
70 | ;; | ||
71 | qemux86-64) | ||
72 | ARCH=x86_64 | ||
73 | PN=`find . -nam! e poky-image-lsb-${MACHINE}\*.rootfs.tar.bz2 -type f | awk -F- 'BEGIN{ max=0; } {if( NR!=0 && $6>max ) max=$6 }END{ printf "%d" ,max ;}'` | ||
74 | if [ "X${PN}" == "X" ];then | ||
75 | ECHO "${red}Don't find lsb image on platform, Please run \"poky-image-lsb\" to generate lsb image" | ||
76 | exit 1 | ||
77 | fi | ||
78 | ;; | ||
79 | qemuppc) | ||
80 | ARCH=ppc32 | ||
81 | PN=`find . -name poky-image-lsb-${MACHINE}\*.rootfs.tar.bz2 -type f | awk -F- 'BEGIN{ max=0;} {if( NR!=0 && $5>max ) max=$5 }END{ printf "%d" ,max ;}'` | ||
82 | if [ "XPN" == "X" ];then | ||
83 | ECHO "${red}Don't find lsb image on platform, Please run \"poky-image-lsb\" to generate lsb image" | ||
84 | fi | ||
85 | ;; | ||
86 | *) | ||
87 | ECHO "${red}Don't support lsb test for platform ${MACHINE}" | ||
88 | exit 1 | ||
89 | esac | ||
90 | |||
91 | if [ $PN -eq 0 ];then | ||
92 | ECHO "${red}Can't ${MACHINE} rootfs.tar.gz,Please run poky-image-lsb to get lsb image" | ||
93 | exit 1 | ||
94 | fi | ||
95 | |||
96 | #download lsb test suite | ||
97 | if [ ! -f lsb-dist-testkit-4.0.2-1.${ARCH}.tar.gz ];then | ||
98 | ECHO "Download lsb test suite, it could take some time..." | ||
99 | wget -c -t 5 http://ftp.linuxfoundation.org/pub/lsb/bundles/released-4.0.0/dist-testkit/lsb-dist-testkit-4.0.2-1.${ARCH}.tar.gz | ||
100 | exit_check | ||
101 | else | ||
102 | ECHO "Find lsb test suite for ${MACHINE}" | ||
103 | fi | ||
104 | |||
105 | #if [ -L poky-image-lsb-${MACHINE}.ext3 ];then | ||
106 | # /bin/rm poky-image-lsb-${MACHINE}.ext3 | ||
107 | # exit_check | ||
108 | #fi | ||
109 | |||
110 | #creat lsb image | ||
111 | if [ -f poky-image-lsb-${MACHINE}-test.ext3 ];then | ||
112 | if [ -d lsbtmp ];then | ||
113 | sudo umount lsbtmp | ||
114 | fi | ||
115 | ECHO "Remove old lsb image..." | ||
116 | /bin/rm poky-image-lsb-${MACHINE}-test.ext3 | ||
117 | fi | ||
118 | ECHO "creat a big ext3 file for lsb image with 3G..." | ||
119 | dd if=/dev/zero of=poky-image-lsb-${MACHINE}-test.ext3 bs=1M count=3000 | ||
120 | exit_check | ||
121 | ECHO "Format ext3 image,please input \"y\"" | ||
122 | mkfs.ext3 poky-image-lsb-${MACHINE}-test.ext3 | ||
123 | tune2fs -j poky-image-lsb-${MACHINE}-test.ext3 | ||
124 | |||
125 | |||
126 | ECHO "get a lsb image with lsb test suite" | ||
127 | if [ ! -d lsbtmp ];then | ||
128 | mkdir lsbtmp | ||
129 | fi | ||
130 | |||
131 | |||
132 | #install file system and lsb test suite to lsb image | ||
133 | sudo mount -o loop poky-image-lsb-${MACHINE}-test.ext3 lsbtmp | ||
134 | exit_check | ||
135 | |||
136 | ECHO " ->Install file system..." | ||
137 | sudo tar jxf poky-image-lsb-${MACHINE}-${PN}.rootfs.tar.bz2 -C lsbtmp | ||
138 | exit_check | ||
139 | |||
140 | ECHO " ->Install lsb test suite..." | ||
141 | sudo tar zxf lsb-dist-testkit-4.0.2-1.${ARCH}.tar.gz -C lsbtmp | ||
142 | exit_check | ||
143 | |||
144 | if [ -f modules-*-${MACHINE}.tgz ];then | ||
145 | ECHO " ->Install moules of driver..." | ||
146 | sudo tar zxf modules-*-${MACHINE}.tgz -C lsbtmp/ | ||
147 | fi | ||
148 | |||
149 | |||
150 | #mount lsbtmp | ||
151 | sudo umount lsbtmp | ||
152 | exit_check | ||
153 | sudo rm -rf lsbtmp | ||
154 | |||
155 | #change file attribute | ||
156 | sudo chown ${USER}:${USER} poky-image-lsb-${MACHINE}-test.ext3 | ||
157 | exit_check | ||
158 | sudo chmod 755 poky-image-lsb-${MACHINE}-test.ext3 | ||
159 | exit_check | ||
160 | |||
161 | #set up link | ||
162 | if [ -L poky-image-lsb-${MACHINE}.ext3 ];then | ||
163 | ECHO "Set up link" | ||
164 | /bin/rm poky-image-lsb-${MACHINE}.ext3 | ||
165 | exit_check | ||
166 | fi | ||
167 | ln -s poky-image-lsb-${MACHINE}-test.ext3 poky-image-lsb-${MACHINE}.ext3 | ||
168 | |||
169 | ECHO "LSB test environment is set successfully, Please run \"poky-qemu ${MACHINE}\" to start up lsb-image" | ||
170 | |||