-
Notifications
You must be signed in to change notification settings - Fork 82
Expand file tree
/
Copy pathrkunpack.sh
More file actions
executable file
·86 lines (64 loc) · 2.09 KB
/
rkunpack.sh
File metadata and controls
executable file
·86 lines (64 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/sudo bash
set -e
echo "....................."
echo "Rockchip Kitchen"
echo "....................."
read -p "Select level 1, 2, 3 or q/Q to exit: " level
case "$level" in
1)
[[ -d level1 ]] && { echo "Deleting existing level1"; rm -rf level1; }
mkdir -p level1/Image
echo "....................."
echo "Rockchip Kitchen"
echo "....................."
[[ -d in ]] || { echo "Creating /in folder"; mkdir in; }
img_list=(in/*.img)
if [[ ${#img_list[@]} -eq 0 || ! -f "${img_list[0]}" ]]; then
echo "No .img files found in /in"
exit 0
fi
rename 's/ /_/g' in/*.img
echo "Files in input dir (*.img):"
count=1
for entry in in/*.img; do
name=$(basename "$entry" .img)
echo "$count - $name"
((count++))
done
echo "....................."
read -p "Enter a file name: " projectname
[[ -f "in/$projectname.img" ]] || { echo "File not found: $projectname.img"; exit 1; }
echo "$projectname" > level1/projectname.txt
bin/rkImageMaker -unpack "in/$projectname.img" level1
bin/afptool -unpack level1/firmware.img level1
rm -f level1/boot.bin level1/firmware.img
echo "Done."
;;
2)
[[ -d level1 ]] || { echo "Unpack level 1 first"; exit 1; }
[[ -d level2 ]] && { echo "Deleting existing level2"; rm -rf level2; }
mkdir -p level2/config
./common/extract_images.sh "level1/Image" "level2"
[[ -f level1/Image/super.img ]] && ./common/extract_super.sh level1/Image/super.img level2/
echo "Done."
;;
3)
[[ -d level1 ]] || { echo "Unpack level 1 first"; exit 1; }
[[ -d level3 ]] && rm -rf level3
mkdir level3
./common/unpack_boot.sh
if [[ -f level1/Image/resource.img ]]; then
mkdir -p level3/resource
bin/resource_tool --unpack --verbose \
--image=level1/Image/resource.img level3/resource \
2>&1 | grep entry | sed 's/^.*://' | xargs echo
fi
echo "Done."
;;
q|Q) exit 0 ;;
*) echo "Invalid option." ;;
esac
# Final step (post-processing hook)
while true; do
./common/write_perm.sh && ./rkunpack.sh && break
done