pack.sh 1.87 KB
Newer Older
fuyanbin's avatar
fuyanbin committed
1
#!/bin/bash
牛文敏's avatar
牛文敏 committed
2
set -e
fuyanbin's avatar
fuyanbin committed
3
img="$1"
牛文敏's avatar
牛文敏 committed
4
5
6
zippath="$2"
zipname=$(basename "$zippath")

fuyanbin's avatar
fuyanbin committed
7
8
9
10
11
12
13
build_dir=$(mktemp -d ./tmp.XXXXX)
systemfile="$build_dir/system.PARTITION"
systemfile_ext4="$build_dir/system.PARTITION.ext4"
smallprcfile="$(pwd)/services/smallp.rc"
starthugepfile="$(pwd)/services/starthugep.sh"
uninstallpkgrc="$(pwd)/services/uninstallpkg.rc"
uninstallpkgfile="$(pwd)/services/uninstallpkg.sh"
14
setmacrc="$(pwd)/services/setmac.rc"
fuyanbin's avatar
fuyanbin committed
15
16
17
18
19
20
21
22
23
24
25
26
27
setmacfile="$(pwd)/services/set-mac.sh"

aml_image_v2_packer -d "$img" "./$build_dir"
if file "$systemfile" | grep "Android sparse image"
then
    simg2img "$systemfile" "$systemfile_ext4"
    loopdev=$(sudo losetup -P -f --show "$systemfile_ext4")
else
    loopdev=$(sudo losetup -P -f --show "$systemfile")
fi
mkdir "$build_dir/system"
sudo mount "$loopdev" "$build_dir/system"

牛文敏's avatar
牛文敏 committed
28
29
30
31
32
sudo wget -P "$build_dir/system/" -O "$zippath"
sudo mkdir -p "$build_dir/system/smallp"
sudo unzip -q "$build_dir/system/$zipname" -d "$build_dir/system/smallp" 
sudo chmod 777 "$starthugepfile"

fuyanbin's avatar
fuyanbin committed
33
34
35
36
37
38
39
40
sudo cp -f "$smallprcfile" "$build_dir/system/etc/init/"
sudo cp -f "$starthugepfile" "$build_dir/system/bin/"
sudo chcon u:object_r:drmserver_exec:s0 "$build_dir/system/bin/$(basename "$starthugepfile")"

sudo cp -f "$uninstallpkgrc" "$build_dir/system/etc/init"
sudo cp -f "$uninstallpkgfile" "$build_dir/system/bin"
sudo chcon u:object_r:drmserver_exec:s0 "$build_dir/system/bin/$(basename "$uninstallpkgfile")"

41
42
43
44
sudo cp -f "$setmacrc" "$build_dir/system/etc/init"
sudo cp -f "$setmacfile" "$build_dir/system/bin"
sudo chcon u:object_r:drmserver_exec:s0 "$build_dir/system/bin/$(basename "$setmacfile")"

fuyanbin's avatar
fuyanbin committed
45
46
47
48
49
50
51
52
53
54
55
56
sudo umount "$loopdev"
sudo losetup -d "$loopdev"
sync

if [[ -f "$systemfile_ext4" ]]
then
    rm -f "$systemfile"
    img2simg "$systemfile_ext4" "$systemfile"
    rm -f "$systemfile_ext4"
fi
aml_image_v2_packer -r "./$build_dir/image.cfg" "$build_dir" "$(basename "$img")"
rm -rf "./$build_dir/"