2023-09-06 16:47:42 +00:00
|
|
|
set -e
|
|
|
|
|
|
|
|
WORKDIR=/home/.aliendalvik_systemimg_patch
|
|
|
|
TMPWORKDIR="$WORKDIR/tmp"
|
|
|
|
SQUASHFS_ROOT="$TMPWORKDIR/squashfs-root"
|
|
|
|
SYSTEM_IMG=/opt/alien/system1.img
|
|
|
|
|
|
|
|
log() {
|
|
|
|
printf '%s\n' "$1" > /dev/stderr
|
|
|
|
}
|
|
|
|
|
|
|
|
extract_image() {
|
|
|
|
|
|
|
|
if [ ! -f "$orig_image" ]; then
|
|
|
|
log "$orig_image not found"
|
|
|
|
return 1
|
|
|
|
fi
|
|
|
|
unsquashfs -dest "$SQUASHFS_ROOT/" "$SYSTEM_IMG"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
install_patch() {
|
|
|
|
cp nexus.xml "$SQUASHFS_ROOT/system/etc/sysconfig/nexus.xml"
|
|
|
|
cat system.prop >> "$SQUASHFS_ROOT/system/system_ext/build.prop"
|
|
|
|
}
|
|
|
|
|
|
|
|
build_image() {
|
|
|
|
cp "$SYSTEM_IMG" "$TMPWORKDIR/system.img.backup"
|
|
|
|
mksquashfs "$SQUASHFS_ROOT" "$SYSTEM_IMG" -noappend -no-exports -no-duplicates -no-fragments
|
|
|
|
rm "$TMPWORKDIR/system.img.backup"
|
|
|
|
# rm -r "$SQUASHFS_ROOT"
|
|
|
|
}
|
|
|
|
|
|
|
|
set_traps() {
|
|
|
|
# shellcheck disable=SC2064
|
|
|
|
trap "$*" EXIT HUP INT QUIT PIPE TERM
|
|
|
|
}
|
|
|
|
|
|
|
|
cleanup() {
|
|
|
|
if [ ! -f "$SYSTEM_IMG" ] && [ -f "$TMPWORKDIR/system.img.backup" ]; then
|
|
|
|
mv "$TMPWORKDIR/system.img.backup" "$SYSTEM_IMG" || :
|
|
|
|
fi
|
|
|
|
umount "$MOUNT_ROOT" || :
|
|
|
|
rm -r "$TMPWORKDIR" || :
|
|
|
|
set_traps -
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
set_traps cleanup
|
|
|
|
#systemctl stop aliendalvik
|
|
|
|
|
|
|
|
mkdir -p "$WORKDIR"
|
|
|
|
mkdir -p "$TMPWORKDIR"
|
|
|
|
|
|
|
|
extract_image
|
|
|
|
log "image was extracted"
|
|
|
|
log "install patch"
|
|
|
|
install_patch
|
|
|
|
log "build image"
|
|
|
|
build_image
|
|
|
|
log "image was built"
|
|
|
|
|
|
|
|
#rmdir "$TMPWORKDIR"
|
|
|
|
|
|
|
|
set_traps -
|
|
|
|
exit 0
|