|
7 | 7 |
|
8 | 8 | WORK_DIR=$PWD |
9 | 9 |
|
10 | | -[ $# -lt 1 ] && echo "Usage: $0 caas-flashfiles-eng-<user>.zip" && exit -1 |
| 10 | +[ $# -lt 1 ] && echo "Usage: $0 [caas-flashfiles-eng-<variant>.zip] [caas-usb-install-<variant>.img.zip] [caas-usb-install-<variant>.img]" && exit -1 |
11 | 11 |
|
12 | 12 | if [ -f android.qcow2 ] |
13 | 13 | then |
|
41 | 41 | qemu-img create -f qcow2 android.qcow2 32G |
42 | 42 | fi |
43 | 43 |
|
44 | | -[ -d "./flashfiles_decompress" ] && rm -rf "./flashfiles_decompress" |
45 | | -mkdir ./flashfiles_decompress |
46 | | -unzip $1 -d ./flashfiles_decompress |
| 44 | +decompress=flashfiles_decompress |
| 45 | +zip_file=$(file $1 | grep -i "Zip archive data") |
| 46 | +if [[ $zip_file != "" ]]; then |
| 47 | + rm -rf "$decompress" && mkdir $decompress |
| 48 | + unzip $1 -d $decompress |
47 | 49 |
|
48 | | -G_size=$((1<<32)) |
49 | | -for i in `ls ./flashfiles_decompress`;do |
50 | | - if [ -f "./flashfiles_decompress/"$i ] && [ "`grep $i ./flashfiles_decompress/installer.cmd`" ]; then |
51 | | - size=$(stat -c %s "./flashfiles_decompress/"$i) |
52 | | - if [[ $size -gt $G_size ]]; then |
53 | | - echo "Split $i due to its size bigger than 4G\n" |
54 | | - split --bytes=$((G_size-1)) --numeric-suffixes "./flashfiles_decompress/"$i "./flashfiles_decompress/"$i.part |
55 | | - rm "./flashfiles_decompress/"$i |
56 | | - fi |
57 | | - fi |
58 | | -done |
| 50 | + if [[ -f $decompress/boot.img ]]; then |
| 51 | + G_size=$((1<<32)) |
| 52 | + for i in `ls $decompress`; do |
| 53 | + size=$(stat -c %s "$decompress/"$i) |
| 54 | + if [[ $size -gt $G_size ]]; then |
| 55 | + echo "Split $i due to its size bigger than 4G" |
| 56 | + split --bytes=$((G_size-1)) --numeric-suffixes "$decompress/"$i "$decompress/"$i.part |
| 57 | + rm "$decompress/"$i |
| 58 | + fi |
| 59 | + done |
59 | 60 |
|
60 | | -dd if=/dev/zero of=./flash.vfat bs=63M count=160 |
61 | | -mkfs.vfat ./flash.vfat |
62 | | -mcopy -i flash.vfat flashfiles_decompress/* :: |
| 61 | + dd if=/dev/zero of=./flash.vfat bs=63M count=160 |
| 62 | + mkfs.vfat ./flash.vfat |
| 63 | + mcopy -i flash.vfat $decompress/* :: |
| 64 | + |
| 65 | + virt_disk=flash.vfat |
| 66 | + else |
| 67 | + virt_disk=$decompress/`ls $decompress` |
| 68 | + fi |
| 69 | +else |
| 70 | + virt_disk=$1 |
| 71 | +fi |
63 | 72 |
|
64 | 73 | if [ "$support_dedicated_data" = true ] |
65 | 74 | then |
@@ -90,7 +99,7 @@ qemu-system-x86_64 \ |
90 | 99 | -chardev socket,id=charserial0,path=./kernel-console,server=on,wait=off \ |
91 | 100 | -device isa-serial,chardev=charserial0,id=serial0 \ |
92 | 101 | -device qemu-xhci,id=xhci,addr=0x5 \ |
93 | | - -drive file=./flash.vfat,id=udisk1,format=raw,if=none \ |
| 102 | + -drive file=$virt_disk,id=udisk1,format=raw,if=none \ |
94 | 103 | -device usb-storage,drive=udisk1,bus=xhci.0 \ |
95 | 104 | -device virtio-scsi-pci,id=scsi0,addr=0x8 \ |
96 | 105 | -drive file=./android.qcow2,if=none,format=qcow2,id=scsidisk1 \ |
|
0 commit comments