Skip to content
This repository was archived by the owner on Aug 19, 2025. It is now read-only.

Commit e7d4300

Browse files
committed
support usb installer image flashing in start_flash_usb.sh script
Tracked-On: OAM-102889 Signed-off-by: Chen, Gang G <[email protected]>
1 parent bf231b4 commit e7d4300

File tree

1 file changed

+28
-19
lines changed

1 file changed

+28
-19
lines changed

scripts/start_flash_usb.sh

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
WORK_DIR=$PWD
99

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
1111

1212
if [ -f android.qcow2 ]
1313
then
@@ -41,25 +41,34 @@ else
4141
qemu-img create -f qcow2 android.qcow2 32G
4242
fi
4343

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
4749

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
5960

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
6372

6473
if [ "$support_dedicated_data" = true ]
6574
then
@@ -90,7 +99,7 @@ qemu-system-x86_64 \
9099
-chardev socket,id=charserial0,path=./kernel-console,server=on,wait=off \
91100
-device isa-serial,chardev=charserial0,id=serial0 \
92101
-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 \
94103
-device usb-storage,drive=udisk1,bus=xhci.0 \
95104
-device virtio-scsi-pci,id=scsi0,addr=0x8 \
96105
-drive file=./android.qcow2,if=none,format=qcow2,id=scsidisk1 \

0 commit comments

Comments
 (0)