Um vor der Installation ein Image zu modifizieren kann es auf Linux-Maschinen als Device gemountet werden.
Hierzu dem Script einen Namen geben und in einen Ordner zusammen mit dem Android-GSI.img (z.B. lineage_xxx_.img) packen. Dann mit …
# sudo bash Script-Name
… starten.
Warten.
Mit der Eingabe „e“ wird es lesbar (nur root) gemountet.
Jetzt können Veränderungen (als root) vorgenommen werden.
Zum Beispiel die Goggel verseuchten Apps durch Freie ersetzen.
Schaust du hier: Kill Apps
Dann wieder im Terminal
# sudo bash Script-Name
Und mit „a“ die Veränderungen in das originale Image schreiben und aushängen.
Have Fun!
#!/bin/bash
#Usage:
#bash sudo OpenImage.sh [/path/to/system/image]
if [ "$(whoami)" != "root" ]; then
echo "You are not root!!!"
echo "Usage:"
echo "sudo bash OpenImage.sh /path/to/system/image"
exit
fi
if [ ! -e "$1" ]; then
echo "Error: No Image!"
echo "/path/to/system/image Faulty or missing!"
exit
fi
touch .Imagename && echo "$1" > .Imagename
echo "Type 'e' für mount image"
echo "Type 'a' für unmount image"
read run
echo "$1"
#set -ex
if [ "$run" = "e" ]; then
#cleanups
umount Image &> /dev/null
echo "MOUNT"
rm -Rf tmp Image
mkdir -p Image tmp
simg2img $1 s.img || cp $1 s.imgg
e2fsck -n s.img > /dev/null
if [ $? -eq 0 ]; then
echo "Image s.img okay"
e2fsck -y -f s.img
resize2fs s.img 3500M
e2fsck -E unshare_blocks -y -f s.img
mount -o loop,rw s.img Image
fi
e2fsck -n s.imgg > /dev/null
if [ $? -eq 0 ]; then
echo "Image s.imgg okay"
e2fsck -y -f s.img
resize2fs s.imgg 3500M
e2fsck -E unshare_blocks -y -f s.imgg
mount -o loop,rw s.imgg Image
fi
elif [ "$run" = "a" ]; then
if [ ! -e Image/system/phh/secure ]; then
echo "Do you want to remove 'superuser'? y/n"
read
if [ "${REPLY}" = "y" ]; then
touch Image/system/phh/secure
rm Image/system/xbin/su
rm Image/system/bin/phh-su
rm Image/system/etc/init/su.rc
rm Image/system/bin/phh-securize.sh
rm -Rf Image/system/{app,priv-app}/me.phh.superuser/
fi
fi
echo "UnMount"
umount Image
sleep 1
echo "Write changes? y/n"
read
if [ "${REPLY}" != "y" ]; then exit; fi
e2fsck -n s.img > /dev/null
if [ $? -eq 0 ]; then
e2fsck -f -y s.img || true
resize2fs -M s.img
sleep 1
cp s.img $1
fi
e2fsck -n s.imgg > /dev/null
if [ $? -eq 0 ]; then
e2fsck -f -y s.imgg || true
resize2fs -M s.imgg
sleep 1
cp s.imgg $1
fi
echo ""
echo "Copy to Mobil SDCard and restart to TRWP? y/n"
read
if [ "${REPLY}" = "y" ]; then
DEVICES=$(adb devices | grep "device$" | sed -e "s|device||g")
if [ "$DEVICES" = "" ]; then
echo "No Devices over adb detected"
echo "Stop. Now activate adb and continue."
read
fi
echo ""
echo "Detected $DEVICES on adb"
echo ""
adb push (cat .Imagename) /sdcard && adb reboot recovery
fi
else
exit
fi
exit