Skip to content

Commit 577b50d

Browse files
committed
vayu: add add_ubuntutouch_systemimage_haliumboot.sh
1 parent 701ab69 commit 577b50d

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/system/bin/sh
2+
3+
TK="/data/data/org.andbootmgr.app/assets/Toolkit"
4+
PATH="$TK:$PATH"
5+
cd "$TK" || exit 24
6+
7+
sed -i "s#replaceme#systempart=/dev/mmcblk0p$4 datapart=/dev/mmcblk0p$5#g" /data/abm/bootset/db/entries/"$1".conf
8+
9+
# Copy ut vendor
10+
resize2fs /dev/block/mmcblk0p$
11+
mkdir -p /data/abm/tmp/mnt
12+
mount /dev/block/mmcblk0p$4 /data/abm/tmp/mnt
13+
cp "$3" /data/abm/tmp/mnt/var/lib/lxc/android/vendor.img
14+
umount /data/abm/tmp/mnt
15+
16+
# Create working dir
17+
mkdir -p /data/abm/tmp/boot
18+
19+
# Copy boot
20+
cp "$2" /data/abm/tmp/boot/boot.img
21+
22+
# Unpack boot
23+
unpackbootimg -i /data/abm/tmp/boot/boot.img -o /data/abm/tmp/boot/
24+
25+
# Go to dt dir, extract dtb and go back
26+
mkdir -p /data/abm/tmp/dt
27+
# shellcheck disable=SC2164
28+
cd /data/abm/tmp/dt/
29+
split-appended-dtb ../boot/boot.img-dtb
30+
# shellcheck disable=SC2164
31+
cd "$TK"
32+
33+
# prepear dtbo
34+
mkdir -p /data/abm/tmp/dtbo
35+
# shellcheck disable=SC2164
36+
cd /data/abm/tmp/dtbo/
37+
split-appended-dtb /dev/block/bootdevice/by-name/dtbo
38+
# shellcheck disable=SC2164
39+
cd "$TK"
40+
41+
# Copy device tree and device tree overlay
42+
dtc -I dtb -O dts -o /data/abm/tmp/dt/current.dts /sys/firmware/fdt
43+
msmidc=$(grep msm-id < /data/abm/tmp/dt/current.dts)
44+
msmidc=$(echo "$msmidc" | awk '{print $4}')
45+
# shellcheck disable=SC3057
46+
msmidc=${msmidc:0:7}
47+
echo "msm-id is $msmidc"
48+
bidc=$(grep board-id < /data/abm/tmp/dt/current.dts)
49+
bidc=$(echo "$bidc" | awk '{print $3}')
50+
# shellcheck disable=SC3057
51+
bidc=${bidc:1:4}
52+
echo "board-id is $bidc"
53+
54+
for f in /data/abm/tmp/dt/dtbdump_*.dtb
55+
do
56+
dtc -I dtb -O dts -o /data/abm/tmp/dt/test.dts "$f"
57+
msmidt=$(grep msm-id < /data/abm/tmp/dt/test.dts)
58+
msmidt=$(echo "$msmidt" | awk '{print $4}')
59+
# shellcheck disable=SC3057
60+
msmidt=${msmidt:0:7}
61+
if [ "$msmidt" = "$msmidc" ]; then
62+
echo "Found correct dtb $f"
63+
sed -i '/vendor {/,/};/s/\(\s*status =\).*/\1 "disabled";/' /data/abm/tmp/dt/test.dts
64+
dtc -I dts -O dtb -o "/data/abm/bootset/$1/dtb.dtb" /data/abm/tmp/dt/test.dts
65+
fi
66+
done
67+
if [ ! -f "$f" ]
68+
then
69+
echo "Dtb not found"
70+
exit 1
71+
fi
72+
73+
for f in /data/abm/tmp/dtbo/dtbdump_*.dtb
74+
do
75+
dtc -I dtb -O dts -o /data/abm/tmp/dtbo/test.dts "$f"
76+
bidt=$(grep board-id < /data/abm/tmp/dtbo/test.dts)
77+
bidt=$(echo "$bidt" | awk '{print $3}')
78+
# shellcheck disable=SC3057
79+
bidt=${bidt:1:4}
80+
if [ "$bidt" = "$bidc" ]; then
81+
echo "Found correct dtbo $f"
82+
cp "$f" "/data/abm/bootset/$1/dtbo.dtbo"
83+
fi
84+
done
85+
if [ ! -f "$f" ]
86+
then
87+
echo "Dtbo not found"
88+
exit 1
89+
fi
90+
91+
# Copy kernel
92+
cp /data/abm/tmp/boot/boot.img-zImage "/data/abm/bootset/$1/zImage"
93+
94+
# Copy rd
95+
cp /data/abm/tmp/boot/boot.img-ramdisk.gz "/data/abm/bootset/$1/initrd.cpio.gz"
96+
97+
# Clean up
98+
rm -rf /data/abm/tmp

0 commit comments

Comments
 (0)