OmniROM 13 | How to compile the OmniROM 13 for the ASUS Zenfone 8 |
OmniROM 14 |
How to compile the OmniROM 14 for the ASUS Zenfone 8 |
OmniROM 15 |
How to compile the OmniROM 15 for the ASUS Zenfone 8 |
repo init -u https://github.com/omnirom/android.git -b
android-12.1
repo sync
[xtrnaw7@t15g /data/develop/android/OmniROM]$ cat
.repo/local_manifests/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DonkeyCoyote"
fetch="https://github.com/DonkeyCoyote" />
<project path="device/asus/zenfone8"
name="android_device_asus_zenfone8" remote="omnirom"
revision="android-12.0" />
<project path="vendor/asus" name="proprietary_vendor_asus"
remote="DonkeyCoyote" revision="android-12.1" />
</manifest>
repo sync
. build/envsetup.sh
brunch omni_zenfone8-user
[xtrnaw7@t15g /data/develop/android/OmniROM]$ ls -ltr
out/target/product/zenfone8/omni-12-20220621-zenfone8-HOMEMADE.zip
-rw-rw-r--. 25 xtrnaw7 xtrnaw7 1253703465 Jun 25 10:03
out/target/product/zenfone8/omni-12-20220621-zenfone8-HOMEMADE.zip
[xtrnaw7@t15g /data/develop/android/OmniROM]$
[xtrnaw7@t15g /data/develop/android/OmniROM]$ cat
.repo/local_manifests/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DonkeyCoyote"
fetch="https://github.com/DonkeyCoyote" />
<project path="device/asus/zenfone8"
name="android_device_asus_zenfone8" remote="omnirom"
revision="android-12.0" />
<project path="vendor/asus" name="proprietary_vendor_asus"
remote="DonkeyCoyote" revision="android-12.1" />
<project path="vendor/microg"
name="android_prebuilts_prebuiltapks" remote="omnirom"
revision="android-12.0" />
</manifest>
[xtrnaw7@t15g /data/develop/android/OmniROM]$
repo sync
export ROM_BUILDTYPE=MICROG
brunch omni_zenfone8-user
[xtrnaw7@t15g /data/develop/android/OmniROM]$ ls -ltr
out/target/product/zenfone8/omni-12-20220621-zenfone8-MICROG.zip
-rw-rw-r--. 25 xtrnaw7 xtrnaw7 1253703465 Jun 25 10:03
out/target/product/zenfone8/omni-12-20220621-zenfone8-MICROG.zip
[xtrnaw7@t15g /data/develop/android/OmniROM]$
./build/make/target/product/security
[xtrnaw7@t15g /data/develop/android/OmniROM]$ ls -l
./build/make/target/product/security/platform.*
-rw-------. 1 xtrnaw7 xtrnaw7 1219 Jun 25 09:39
./build/make/target/product/security/platform.pk8
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1460 Jun 25 09:39
./build/make/target/product/security/platform.x509.pem
[xtrnaw7@t15g /data/develop/android/OmniROM]$
# remove the current certificate files from the apk (probably
not neccessary -- but shouldn't harm)
#
zip -d SMMI_TEST.apk META-INF/CERT.SF META-INF/CERT.RSA
# do a zip align for the apk and write the output to
SMMI_TEST1.apk
#
# (zipalign is part of the OTA tools)
#
/data/develop/android/otatools/bin/zipalign 4 SMMI_TEST.apk
SMMI_TEST1.apk
# test the result (there should be NO output from this command)
#
/data/develop/android/otatools/bin/zipalign -c 4 SMMI_TEST1.apk
# and now sign the apk with the platform key from the
development tree for your self compiled CustomROM
# (apksigner.jar is part of the Sdk from Google for Android)
#
java -jar ./Android/Sdk/build-tools/33.0.0/lib/apksigner.jar
sign --key platform.pk8 --cert platform.x509.pem SMMI_TEST1.apk
adb shell su - -c mkdir -p
/data/adb/modules/SMMI_TEST/system/app/SMMI_TEST
adb push SMMI_TEST1.apk /sdcard/Download/
adb shell su - -c cp /sdcard/Download/SMMI_TEST1.apk
/data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
adb shell su - -c chmod o+r
/data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
ASUS_I006D:/ # find /system/app/SMMI_TEST/
/system/app/SMMI_TEST/
/system/app/SMMI_TEST/SMMI_TEST1.apk
ASUS_I006D:/ #
# open a shell on the ASUS Zenfone 8 (either local or via "adb
shell"), become root user
su -
# switch SELinux to permissive mode (I currently do not know the
neccessary SELinux policies to avoid this step ...)
#
setenforce 0
# and start the ASUS Hardware Test App from within the shell
#
am start -n
com.asus.atd.smmitest/com.asus.atd.smmitest.main.MAIN
# switch SELinux to permissive mode (I currenlty do not know
the neccessary SELinux policies to avoid this step ...)
#
setenforce
# simple script to start the ASUS Hardware App
CUR_SELINUX_STATUS="$( getenforce )"
CUR_USERID=$( id -u -n )
RESTORE_SELINUX_STATE="false"
if [ "${CUR_SELINUX_STATUS}"x != "Permissive"x ] ; then
if [ "${CUR_USERID}"x != "root"x ] ; then
echo "Either start this script as user \"root\" or set
the SELinux mode to \"permissive\" using the command
\"setenforce 0\" before starting this script"
exit 1
fi
echo "Setting the SELinux mode to \"Permissive\" ..."
setenforce 0
RESTORE_SELINUX_STATE="true"
else
echo "The SELinux mode is already \"Permissive}\" "
fi
am start -n
com.asus.atd.smmitest/com.asus.atd.smmitest.main.MAIN
2>&1 | tee /sdcard/Download/test.out
if [ ${RESTORE_SELINUX_STATE} = true ] ; then
echo "Press return when done with the tests .."
read USER_INPUT
echo "Setting the SElinux mode back to \"Enforcing\"
...."
setenforce 1
else
echo "Do not forget to set the SELinxu mode back to
\"Enforcing\" using the command \"setenforce 1\" "
fi
# connect to the phone via adb (that should work!)
#
adb shell
# become root user
#
su -
# delete the file with the AUS Hardware Test App
#
rm
/data/adb/modules/SMMI_TEST/system/app/SMMI_TEST/SMMI_TEST1.apk
# and reboot the phone
#
reboot
# try to install the apk as root user
#
su -
# and then
#
setenforce 0
pm install /sdcard/Download/SMMI_TEST.apk
chmod +x
scriptname
) and reboot the phone.# boot the phone into the bootloader and then do
sudo fastboot boot
/data/backup/ASUS_ZENFONE8/twrp/twrp-3.6.1_12-1-I006D.img
cat /data/adb/service.d/correct_dev_pn553.sh
#!/system/bin/sh
NFC_DEVICE="/dev/pn553"
echo ""
echo "The SELinux context for \"${NFC_DEVICE}\" is now:"
ls -lZ ${NFC_DEVICE}
echo ""
echo "Correcting the SELinux context for the NFC device
\"${NFC_DEVICE}\" ..."
chcon -v u:object_r:nfc_device:s0 /dev/pn553
echo ""
echo "The SELinux context for \"${NFC_DEVICE}\" is now:"
ls -lZ ${NFC_DEVICE}
REBOOT=yes install_magisk_via_twrp.sh
REBOOT=no install_magisk_via_twrp.sh
/data/adb/magisk/boot_patch.sh[211]: can't create
/proc/self/fd/: Is a directory
[ 77%] /sdcard/Download/patched_boot_a.391985.img ERROR:
Error downloading the file
"/sdcard/Download/patched_boot_a.391985.img" from the phone!
adb: insufficient permissions for device
adb kill-server
[xtrnaw7@t15g /data/backup/Android/scripts_on_linux]$
./install_magisk_via_twrp.sh
./install_magisk_via_twrp.sh version - 2.0.0.0 - add Magisk to
the boot partition of a phone running Android using TWRP
Using the TWRP image hardcoded in the script:
"/data/backup/ASUS_ZENFONE8/twrp/twrp-3.7.0_12-0-I006D.img"
Checking the script prerequisites ...
Will wait 10 second(s) before starting the script on the phone
The script is running as user "xtrnaw7" -- will use "sudo" for
the fastboot commands ...
Will patch the boot partition on the attached phone with the
serial number "M6AIB760D0939LX"
Using the options "-d -s M6AIB760D0939LX " for the adb
commands
Using the options " -s M6AIB760D0939LX " for the fastboot
commands
Checking for a connected phone booted into fastboot mode ...
No attached phone in fastboot mode found
Checking for an attached phone with working access via adb
(USB) ...
Linux localhost 5.4.147-Omni-qgki-perf-gea6f815f5af9-dirty #42
SMP PREEMPT Tue Sep 27 18:03:41 CEST 2022 aarch64
... found a phone connected via USB with working adb access
The phone is booted in normal mode
The installed OS is based on Android 12 (Wed Aug 10 06:59:46
CEST 2022); the description for the distribution is
"omni_zenfone8-user 12 SQ3A.220605.009.A1
eng.xtrnaw.20220810.065947 release-keys"
The installed version of Magisk is com.topjohnwu.magisk
versionCode 25200
Booting the phone into the fastboot mode now ...
Waiting up to 60 seconds for the boot into the fastboot mode
...
Booting the phone from the TWRP image
"/data/backup/ASUS_ZENFONE8/twrp/twrp-3.7.0_12-0-I006D.img"
now ...
Sending 'boot.img' (98304 KB) OKAY [ 2.489s]
Booting OKAY [ 10.359s]
Finished. Total time: 12.888s
Waiting up to 60 seconds for the boot of the phone ....
Retrieving the current boot slot from the phone ...
The current boot slot is "_b"
The boot slot to patch is "_b"
The boot partition to patch is "boot_b"
Checking if the Magisk patch script "boot_patch.sh" exists on
the phone ....
-rwxr-xr-x 1 root root 5987 2022-10-27 07:33
/data/adb/magisk/boot_patch.sh
Checking if the download directory "/sdcard/Download" exists
on the phone ....
/sdcard/Download
Creating the boot image file
"/sdcard/Download/boot_b.732627.img" from the partition
"/dev/block/by-name/boot_b" ...
196608+0 records in
196608+0 records out
100663296 bytes (96 M) copied, 0.308243 s, 311 M/s
Checking the result ...
-rw-rw---- 1 root media_rw 100663296 2022-10-28 09:51
/sdcard/Download/boot_b.732627.img
The check sums are:
The check sum of the boot partition
"/dev/block/by-name/boot_b" on the phone is "4108888341"
The check sum of th boot image file on the phone is
"/sdcard/Download/boot_b.732627.img" is "4108888341"
Patching the boot image file
"/sdcard/Download/boot_b.732627.img" ...
Waiting now 10 seconds ...
- Unpacking boot image
Parsing boot image: [/sdcard/Download/boot_b.732627.img]
HEADER_VER [3]
KERNEL_SZ [42025472]
RAMDISK_SZ [34080597]
OS_VERSION [12.0.0]
OS_PATCH_LEVEL [2022-05]
PAGESIZE [4096]
CMDLINE []
KERNEL_FMT [raw]
RAMDISK_FMT [gzip]
VBMETA
- Checking ramdisk status
Loading cpio: [ramdisk.cpio]
- Stock boot image detected
- Patching ramdisk
Loading cpio: [ramdisk.cpio]
Add entry [init] (0750)
Create directory [overlay.d] (0750)
Create directory [overlay.d/sbin] (0750)
Add entry [overlay.d/sbin/magisk64.xz] (0644)
Patch with flag KEEPVERITY=[false] KEEPFORCEENCRYPT=[false]
Found fstab file [system/etc/fstab.postinstall]
Remove pattern
[,avb_keys=/product/etc/security/avb/system_other.avbpubkey]
Loading cpio: [ramdisk.cpio.orig]
Backup mismatch entry: [init] -> [.backup/init]
Record new entry: [overlay.d] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin] -> [.backup/.rmlist]
Record new entry: [overlay.d/sbin/magisk64.xz] ->
[.backup/.rmlist]
Backup mismatch entry: [system/etc/fstab.postinstall] ->
[.backup/system/etc/fstab.postinstall]
Create directory [.backup] (0000)
Add entry [.backup/.magisk] (0000)
Dump cpio: [ramdisk.cpio]
- Repacking boot image
Parsing boot image: [/sdcard/Download/boot_b.732627.img]
HEADER_VER [3]
KERNEL_SZ [42025472]
RAMDISK_SZ [34080597]
OS_VERSION [12.0.0]
OS_PATCH_LEVEL [2022-05]
PAGESIZE [4096]
CMDLINE []
KERNEL_FMT [raw]
RAMDISK_FMT [gzip]
VBMETA
Repack to boot image: [new-boot.img]
HEADER_VER [3]
KERNEL_SZ [42025472]
RAMDISK_SZ [34331854]
OS_VERSION [12.0.0]
OS_PATCH_LEVEL [2022-05]
PAGESIZE [4096]
CMDLINE []
Checking the result ...
-rw-r--r-- 1 root root 100663296 2022-10-28 09:51
/data/adb/magisk/new-boot.img
The patched boot image is
"/sdcard/Download/patched_boot_b.732627.img"
Waiting now 5 seconds ...
Patching the partition "/dev/block/by-name/boot_b" from the
patched boot image file
"/sdcard/Download/patched_boot_b.732627.img" via dd ...
196608+0 records in
196608+0 records out
100663296 bytes (96 M) copied, 4.721236 s, 20 M/s
Checking the result ....
The check sums for the images and devices on the phone are:
4108888341 100663296 /sdcard/Download/boot_b.732627.img
3369959638 100663296
/sdcard/Download/patched_boot_b.732627.img
3369959638 100663296 /dev/block/by-name/boot_b
OK, patching the boot partition "/dev/block/by-name/boot_b"
was successfull
*** Press return to reboot the phone now
Rebooting the phone now ...
[xtrnaw7@t15g /data/backup/Android/scripts_on_linux]$
adb shell
su -
ASUS_I006D:/ # ls -ld /data/adb/modules/*
drwxrws--- 3 u0_a118 media_rw 3452 2022-05-30 12:12
/data/adb/modules/playstore
ASUS_I006D:/ #
ASUS_I006D:/ # find /data/adb/modules/playstore
/data/adb/modules/playstore
/data/adb/modules/playstore/system
/data/adb/modules/playstore/system/etc
/data/adb/modules/playstore/system/etc/permissions
/data/adb/modules/playstore/system/etc/permissions/com.android.vending.xml
/data/adb/modules/playstore/system/priv-app
/data/adb/modules/playstore/system/priv-app/Phonesky
/data/adb/modules/playstore/system/priv-app/Phonesky/lib
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libbrotli.so
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libconscrypt_jni.so
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libcronet.85.0.4181.5.so
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libgame_sdk_device_info_jni.so
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libphonesky_data_loader.so
/data/adb/modules/playstore/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so
/data/adb/modules/playstore/system/priv-app/Phonesky/Phonesky.apk
/data/adb/modules/playstore/system/priv-app/FakeStore
/data/adb/modules/playstore/system/priv-app/FakeStore/oat
/data/adb/modules/playstore/system/priv-app/FakeStore/oat/arm64
/data/adb/modules/playstore/system/priv-app/FakeStore/oat/arm64/FakeStore.odex
/data/adb/modules/playstore/system/priv-app/FakeStore/oat/arm64/FakeStore.vdex
/data/adb/modules/playstore/system/priv-app/FakeStore/FakeStore.apk
ASUS_I006D:/ #
ASUS_I006D:/ # find /system/priv-app/Phonesky/
/system/priv-app/Phonesky/
/system/priv-app/Phonesky/lib
/system/priv-app/Phonesky/lib/arm
/system/priv-app/Phonesky/lib/arm/libbrotli.so
/system/priv-app/Phonesky/lib/arm/libconscrypt_jni.so
/system/priv-app/Phonesky/lib/arm/libcronet.85.0.4181.5.so
/system/priv-app/Phonesky/lib/arm/libgame_sdk_device_info_jni.so
/system/priv-app/Phonesky/lib/arm/libphonesky_data_loader.so
/system/priv-app/Phonesky/lib/arm/libtensorflowlite_jni.so
/system/priv-app/Phonesky/Phonesky.apk
ASUS_I006D:/ # ASUS_I006D:/ # find /system/priv-app/FakeStore/
/system/priv-app/FakeStore/
/system/priv-app/FakeStore/oat
/system/priv-app/FakeStore/oat/arm64
/system/priv-app/FakeStore/oat/arm64/FakeStore.vdex
/system/priv-app/FakeStore/oat/arm64/FakeStore.odex
/system/priv-app/FakeStore/FakeStore.apk
ASUS_I006D:/ #
adb push magisk_ssh_v0.14.zip /sdcard/Download/
adb shell su - -c /data/adb/magisk/magisk64 --install-module
/sdcard/Download/magisk_ssh_v0.14.zip
ASUS_I006D:/ # /data/adb/magisk/magisk64 --install-module
/sdcard/Download/magisk_ssh_v0.14.zip
- Current boot slot: _a
- Device is system-as-root
******************************* OpenSSH for Android
*******************************
[0/7] Preparing module directory
[1/7] Extracting architecture unspecific module files
[2/7] Extracting libraries and binaries for arm64
[3/7] Configuring library path wrapper
[4/7] Recreating symlinks
[5/7] Creating SSH user directories
[6/7] Found sshd_config, will not copy a default one
[7/7] Cleaning up - Setting permissions - Done
ASUS_I006D:/ #
adb shell reboot
touch /data/ssh/root/.ssh/authorized_keys
chmod 600 /data/ssh/root/.ssh/authorized_keys
touch /data/ssh/KEEP_ON_UNINSTALL
touch /data/ssh/no-autostart
# start the sshd (as user root)
#
/data/adb/modules/ssh/opensshd.init start
# to stop the sshd (as user root)
#
/data/adb/modules/ssh/opensshd.init stop
PHONE_IP_ADDRESS=$( adb shell ifconfig wlan0 | grep "inet
addr:" | sed -e "s/.*inet addr://g" -e
"s/[[:space:]]*Bcast.*//g" )
[xtrnaw7@t15g ~]$ ssh -l root ${PHONE_IP_ADDRESS} id
uid=0(root) gid=0(root) groups=0(root) context=u:r:magisk:s0
[xtrnaw7@t15g ~]$
# on your local Linux workstation do:
# start the sshd on the phone via adb if not already running
#
adb shell su - -c /data/adb/modules/ssh/opensshd.init start
# retrieve the current IP address from the phone
#
PHONE_IP_ADDRESS=$( adb shell ifconfig wlan0 | grep "inet addr:"
| sed -e "s/.*inet addr://g" -e "s/[[:space:]]*Bcast.*//g" )
# backup the new photos from the phone to the Linux workstation
(rsync only copies new files from the phone)
# to the local directory /data/backup/ASUS_ZENFONE8/DCIM
#
rsync -av --rsync-path /data/adb/modules/ssh/usr/bin/rsync
root@${PHONE_IP_ADDRESS}:/sdcard/DCIM/
/data/backup/ASUS_ZENFONE8/DCIM
# optional stop the sshd on the phone via adb
#
adb shell su - -c /data/adb/modules/ssh/opensshd.init stop
ASUS_I006D:/ # ls -ld /storag
drwx--x--- 4 shell everybody 80 2022-06-26 18:37 /storage
ASUS_I006D:/ #
# /data/adb/service.d/create_ssh_dir_for_shell.sh
#
mkdir -p /storage/shell/.ssh chmod -R 700 /storage/shell/
touch /storage/shell/.ssh/authorized_keys
echo "<ssh_public_key>" >
/storage/shell/.ssh/authorized_keys
chmod 600 /storage/shell/.ssh/authorized_keys
chown -R shell:shell /storage/shell
su - -c sh data/adb/service.d/create_ssh_dir_for_shell.sh
su - -c cp /data/ssh/sshd_config
/storage/ssh/sshd_config.org.$$
Match User shell AuthorizedKeysFile
/storage/shell/.ssh/authorized_keys
[xtrnaw7@t15g ~]$ ssh -l shell 192.168.1.148 id
uid=2000(shell) gid=2000(shell) groups=2000(shell)
context=u:r:magisk:s0
[xtrnaw7@t15g ~]$
sed -i -e "s/.*StrictModes.*//g" -e
"s/UsePrivilegeSeparation/StrictModes
no\nUsePrivilegeSeparation/g" /data/ssh/sshd_config
Match User shell AuthorizedKeysFile
/sdcard/shell/.ssh/authorized_keys
/data/adb/modules/ssh/opensshd.init stop
/data/adb/modules/ssh/opensshd.init start
ASUS_I006D:/ # find /sdcard/shell -exec ls -ld {} \;
drwxrws--- 3 u0_a118 media_rw 3452 2022-06-26 18:32
/sdcard/shell
drwxrws--- 2 u0_a118 media_rw 3452 2022-06-26 18:32
/sdcard/shell/.ssh
-rw-rw---- 1 u0_a118 media_rw 408 2022-06-26 18:32
/sdcard/shell/.ssh/authorized_keys
ASUS_I006D:/ #
ps -fp $PPID| grep adbd >/dev/null if [ $? -ne 0 ] ; then
# # not running in an adb session : else # # running in an adb
session ... fi
#!/system/bin/sh
GRANTED=$(magisk --sqlite "SELECT uid FROM policies WHERE
policy = '2';")
echo 'Packages with root granted:'
for UID in $GRANTED
do
UID=$(echo $UID | sed 's!^uid=!!g')
pm list packages --uid $UID
done
adb shell rm /data/adb/modules/*/disable
A tool to unpack / repack boot images, parse / patch / extract cpio, patch dtb, hex patch binaries, and compress / decompress files with multiple algorithms.
/system/etc/init
/vendor/etc/init
/odm/etc/init
OmniROM 12 | How to compile the OmniROM for the ASUS Zenfone 8 |
OmniROM 14 |
How to compile the OmniROM 14 for the ASUS Zenfone 8 |
OmniROM 15 |
How to compile the OmniROM 15 for the ASUS Zenfone 8 |
repo init -u https://github.com/omnirom/android.git -b
android-13.0
repo sync
[xtrnaw7@t15g /data/develop/android/OmniROM_13.0]$ cat
.repo/local_manifests/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DonkeyCoyote"
fetch="https://github.com/DonkeyCoyote" />
<project path="device/asus/zenfone8"
name="android_device_asus_zenfone8" remote="omnirom"
revision="android-13.0" />
<project path="vendor/asus" name="proprietary_vendor_asus"
remote="DonkeyCoyote" revision="android-13.0" />
<project path="vendor/microg"
name="android_prebuilts_prebuiltapks" remote="omnirom"
revision="android-13.0" />
<project path="vendor/images/asus"
name="android_vendor_images_asus" remote="gitlab"
revision="android-13.0" />
</manifest>
[xtrnaw7@t15g /data/develop/android/OmniROM_13.0]$
repo sync
# optional:
#
# to create an OmniROM image with MicroG packages set the
environment variable ROM_BUILDTYPE to MICROG before starting the
build
#
# to create an OmniROM image with GAPPS packages set the
environment variable ROM_BUILDTYPE to GAPPS before starting the
build
#(that will only work if the repositories for the GAPPS are
configured, of course)
#
export ROM_BUILDTYPE=MICROG
. build/envsetup.sh
brunch omni_zenfone8-user
[xtrnaw7@t15g /data/develop/android/OmniROM_13.0]$ ls -l
out/target/product/zenfone8/omni-13-2022*-zenfone8-*.zip
-rw-rw-r--. 3 xtrnaw7 xtrnaw7 1258920226 Nov 14 11:55
out/target/product/zenfone8/omni-13-202211141148-zenfone8-MICROG.zip
[xtrnaw7@t15g /data/develop/android/OmniROM_13.0]$
[xtrnaw7@t15g /data/develop/android/OmniROM]$ ls -l
./build/make/target/product/security/platform.*
-rw-------. 1 xtrnaw7 xtrnaw7 1219 Jun 25 09:39
./build/make/target/product/security/platform.pk8 -rw-rw-r--. 1
xtrnaw7 xtrnaw7 1460 Jun 25 09:39
./build/make/target/product/security/platform.x509.pem
[xtrnaw7@t15g /data/develop/android/OmniROM]$
TWRP Dev - xtrnaw7@t15g /data/develop/android/twrp ] $
lunch twrp_I006D-eng
In file included from build/make/core/config.mk:313:
In file included from build/make/core/envsetup.mk:312:
build/make/core/product_config.mk:160: error: Can not locate
config makefile for product "twrp_I006D".
11:35:37 dumpvars failed with: exit status 1
Device I006D not found. Attempting to retrieve device
repository from TeamWin Github (http://github.com/TeamWin).
Found repository: android_device_asus_I006D
Checking branch info
Calculated revision: android-12.1
Adding dependency:
Repository: android_device_asus_I006D
Branch: android-12.1
Remote: TeamWin
Path: device/asus/I006D
Syncing repository to retrieve project.
Fetching: 100% (1/1), done in 12.846s
NOT Garbage collecting: 0% (0/1), done in 0.001s
repo sync has finished successfully.
Repository synced!
Looking for dependencies
Adding dependencies to manifest
Adding dependency:
Repository: android_device_asus_sm8350-common
Branch: android-12.1
Remote: TeamWin
Path: device/asus/sm8350-common
Syncing dependencies
Fetching: 100% (1/1), done in 15.848s
NOT Garbage collecting: 0% (0/1), done in 0.001s
repo sync has finished successfully.
Looking for dependencies
device/asus/sm8350-common has no additional dependencies.
Done
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=99.87.36
TARGET_PRODUCT=twrp_I006D
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.0.9-200.fc36.x86_64-x86_64-Fedora-Linux-36-(MATE-Compiz)
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SP2A.220405.004
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/asus/sm8350-common
============================================
[ TWRP Dev - xtrnaw7@t15g /data/develop/android/twrp ] $
[ TWRP Dev - xtrnaw7@t15g /data/develop/android/twrp ] $
time mka bootimage
build/make/core/soong_config.mk:197: warning:
BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
build/make/core/soong_config.mk:198: warning:
BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated. Use
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=99.87.36
TARGET_PRODUCT=twrp_I006D
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-6.0.9-200.fc36.x86_64-x86_64-Fedora-Linux-36-(MATE-Compiz)
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SP2A.220405.004
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/asus/sm8350-common
============================================
[ 78% 246/312] including bootable/recovery/Android.mk ...
bootable/recovery/prebuilt/Android.mk:437: warning: vendor_hw:
bootable/recovery/prebuilt/relink.sh
out/target/product/I006D/recovery/root/vendor/bin/hw
[ 95% 299/312] including system/sepolicy/Android.mk ...
system/sepolicy/Android.mk:57: warning:
BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
system/sepolicy/Android.mk:62: warning:
BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated. Use
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
[ 30% 8637/28297] //bionic/libc:libc_bionic clang
arch-arm64/bionic/setjmp.S
....
Removing unneeded service: keymaster-4-1-citadel
Service_Cleanup script complete.
[100% 28297/28297] Target boot image from recovery:
out/target/product/I006D/boot.img
#### build completed successfully (14:50 (mm:ss)) ####
real 14m50.110s
user 182m6.217s
sys 11m58.492s
[ TWRP Dev - xtrnaw7@t15g /data/develop/android/twrp ] $
bootctl
lpdump
lpdumpd
lptools
Name |
Type |
Content |
Comment |
/tmp/adbkey.pub |
file |
ssl public key that should be configured |
/tmp is on a ramdisk so this file is lost
after booting the phone |
/data/recovery/work |
Directory |
temporary files used for enabling adb |
|
/data/recovery/work/enable_adb_via_service.rc |
file |
init *rc file added to the boot partition
via Magiks |
|
/data/recovery/work/boot_a.img |
file |
image of the original boot partition |
|
/data/recovery/work/original_boot_partition.img |
SymLink |
link to the image with the original boot
partition |
|
/data/recovery/work/restore_boot_partition.sh | file |
Script to restore the boot partition using
the image of the original boot partition |
|
/data/recovery/work/header /data/recovery/work/kernel /data/recovery/work/ramdisk.cpio |
files |
contents of the boot partition |
|
/data/recovery/adbkey.pub |
file |
public ssl key to be configured for access
via adb |
|
/data/recovery/adb_temp_keys.xml.human |
file |
XML file with the configuration for the
access via adb (will be converted to an XML file in Android binary XML format in /data/misc/adb) |
|
/data/recovery/enable_adb_via_service.sh |
file |
script to enable the access via adb and
installl the public ssl key for the access via adb The script is configured in the init*rc file /data/recovery/work/enable_adb_via_service.rc |
|
/data/recovery/enable_adb_via_service.log |
file |
log file created by the script /data/recovery/enable_adb_via_service.sh | |
/data/recovery/adb_initialized |
file |
semphor file for the script
/data/recovery/enable_adb_via_service.sh - if this file
exists the script will do nothing |
|
/data/recovery/semfile |
file |
test file created by the new init *rc
service |
|
/data/recovery/log.gz /data/recovery/last_log.gz /data/recovery/recovery.fstab /data/recovery/storage.fstab |
file |
Files created by TWRP |
only for information |
/system
, /vendor
,
/product
, /system_ext
, /odm
,
/odm_dlkm
, /vendor_dlkm
, ...) become
read-write.How to properly install the GApps without using a computer ? can I download it as APK and install it ?
I want to add custom.init.rc with this code
```
./magiskboot unpack boot_root.img
./magiskboot cpio ramdisk.cpio \
"mkdir 0700 overlay.d" \
"add 0700 overlay.d/init.custom.rc init.custom.rc" \
"mkdir 0700 overlay.d/sbin" \
"add 0700 overlay.d/sbin/custom.sh init.custom.sh"
./magiskboot repack boot_root.img
```
After reboot my phone doing nothing, check file /sbin/custom.sh is existed, but /init.custom.rc not exist.
A10 Pixel Experience Redmi4x
*.rc
file (except for init.rc
)
in overlay.d
will be read and concatenated AFTER
init.rc
if it does not exist in the root directory, otherwise it will
REPLACE the existing one.Starting from Android 11, the /sbin folder may no longer exists, and in that scenario, Magisk randomly generates a different tmpfs folder each boot. Every occurrence of the pattern ${MAGISKTMP} in your *.rc scripts will be replaced with the Magisk tmpfs folder when magiskinit injects it into init.rc. On pre Android 11 devices, ${MAGISKTMP} will simply be replaced with /sbin, so NEVER hardcode /sbin in the *.rc scripts when referencing these additional files.To get the value of ${MAGISKTMP} in the running Android OS use the command magisk --path, e.g.
Note that the TWRP image for LineageOS created using this method is version and build (!) dependent : A TWRP image must be created for each LineageOS image (even with the same LIneageOS version). And the TWRP images for LineageOS cannot be used if another ROM is installed on the phone. Therefor this is really only a very ugly workaround! |
OmniROM 12 | How to compile the OmniROM for the ASUS Zenfone 8 |
OmniROM 13 | How to compile the OmniROM 13 for the ASUS Zenfone 8 |
OmniROM 15 |
How to compile the OmniROM 15 for the ASUS Zenfone 8 |
repo init -u https://github.com/omnirom/android.git -b
android-14.0 --git-lfs
repo sync
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $ cat
.repo/local_manifests/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DonkeyCoyote"
fetch="https://github.com/DonkeyCoyote" />
<project path="device/asus/zenfone8"
name="android_device_asus_zenfone8" remote="omnirom"
revision="android-14.0" />
<project path="vendor/asus" name="proprietary_vendor_asus"
remote="DonkeyCoyote" revision="android-14.0" />
<project path="vendor/microg"
name="android_prebuilts_prebuiltapks" remote="omnirom"
revision="android-13.0" />
<project path="vendor/images/asus"
name="android_vendor_images_asus" remote="gitlab"
revision="android-13.0" />
</manifest>
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $
repo sync
# optional:
#
# to create an OmniROM image with MicroG packages set the
environment variable ROM_BUILDTYPE to MICROG before starting the
build
#
# to create an OmniROM image with GAPPS packages set the
environment variable ROM_BUILDTYPE to GAPPS before starting the
build
#(that will only work if the repositories for the GAPPS are
configured, of course)
#
export ROM_BUILDTYPE=MICROG
. build/envsetup.sh
brunch omni_zenfone8-user
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $ ls -l
out/target/product/zenfone8/omni-14-202311*zip
-rw-rw-r--. 3 xtrnaw7 xtrnaw7 1363298353 Nov 20 10:22
out/target/product/zenfone8/omni-14-20231119-zenfone8-MICROG.zip
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $ ls -l
./build/make/target/product/security/platform.*
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1216 Nov 14 15:24
./build/make/target/product/security/platform.pk8
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1675 Nov 14 15:24
./build/make/target/product/security/platform.x509.pem
[ OmniRom 14 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $
. build/envsetup.sh lunch $ make <options>
. build/envsetup
# select the target hardware
#
breakfast omni_zenfone8-user
# Now instead of following the rest of the guide
(which will compile both Android and the kernel
# for your device), simply compile the kernel:
#
mka kernel
# This command will also generate the device tree,
initramfs and boot.img images
#
mka bootimage
for each repository configued in the manifest file omni-aosp.xml
do
is the repository in the list of forked AOSP repositories
for the OmniROM? If not, ignore it
is the repository in the list of repositories to ignore ?
if yes, ignore it
get the URL of the original AOSP repository for this
repository
either
fetch the changes in the files for the new
security patch using "git fetch <AOSP_repository_url>
<new_tag>"
merge the files just fetched using "git merge
<new_tag>"
or
pull the repository from the AOSP
repositories using "git pull <AOSP_repository_url>
<new_tag>"
done
Environment variable |
Used for |
Comment |
NEW_TAG | new tag to apply (will be overwritten by the parameter of the script if any) | If no new tag is defined in this variable
or in the script parameters, the script will ask the user |
YES | do not ask the user for confirmation if not empty | If this variable is not set and the "yes"
parameter is not used, the script will ask the user for
confirmation before starting the merge. |
VERBOSE | print some more messages if this variable
is not empty |
|
GIT_PARAMETER | additional parmeter for the command git |
Do NOT use "-q" here because the script analyzes the messages written by git! |
Directory |
Contents |
Comment |
/data/data/com.termux/files |
base directory for the files used by Termux |
|
/data/data/com.termux/files/usr |
binaries, config files, etc: ASUS_I006D:/ # ls /data/data/com.termux/files/usr/ bin etc include lib libexec share tmp var ASUS_I006D:/ |
|
/data/data/com.termux/files/home/ |
writable home directory for Termux |
update_verifier
provided by LineageOS can be used. update_verifier
is a python script and available for download here: https://wiki.lineageos.org/verifying-builds targetSdkVersion
lower than 23 can't be installed. Requiring apps to meet these
minimum target API level requirements improves security and
privacy for users."Value |
Description |
PRESIGNED | the apk file is already signed |
platform | the build scripts will sign the apk with
the platform key this will be converted to: -> LOCAL_CERTIFICATE := build/make/target/product/security/platform |
shared | "a key for things that are shared in the
home/contacts process." this will be converted to: -> LOCAL_CERTIFICATE := build/make/target/product/security/shared |
media | the build scripts will sign the apk with
the key used for packages in media/download this will be converted to: -> LOCAL_CERTIFICATE := build/make/target/product/security/media |
vendor/example/certs/app |
the bulild scripts will sign the apk with
the key found in the local directory vendor/example/certs this will be converted to: -> LOCAL_CERTIFICATE := vendor/example/certs/app |
testkey |
a key used for all other packages default this will be converted to: -> LOCAL_CERTIFICATE := build/make/target/product/security/testkey |
EXTERNAL |
"The magic string "EXTERNAL" means this
package will be signed with the test key throughout the
build process, but we expect the final package to be
signed with a different key." -> LOCAL_CERTIFICATE := build/make/target/product/security/testkey |
ROM |
"adb reboot edl" works? |
Comment |
ASUS Android 13 |
yes |
|
OmniROM 13 |
yes |
|
OmniROM 14 | yes |
|
LineageOS 19 |
no |
the phone boots into the Android OS after
executing "adb reboot edl" Booting into EDL mode via adb does also not work if the phone is booted into the recovery Booting via adb into the EDL mode works if the phone is booted from the TWRP image file. |
LineageOS 20 |
no | the phone boots into the Android OS after
executing "adb reboot edl" Booting into EDL mode via adb does also not work if the phone is booted into the recovery Booting via adb into the EDL mode also does not work if the phone is booted from the TWRP image file created for the LineageOS (see here) |
LineageOS 21 (unofficial build!) |
yes |
OS image downloaded from here: https://github.com/mikooomich/android_device_asus_sake/releases |
/e/ |
no |
the phone boots into the Android OS after
executing "adb reboot edl" Booting into EDL mode via adb does also not work if the phone is booted into the recovery Booting via adb into the EDL mode also does not work if the phone is booted from the TWRP image file created for the StatiXOS (see here) |
StatiXOS |
no |
the phone boots into the Android OS after
executing "adb reboot edl" Booting into EDL mode via adb does also not work if the phone is booted into the recovery Booting via adb into the EDL mode also does not work if the phone is booted from the TWRP image file created for the StatiXOS (see here) |
LMODroid |
no |
the phone boots into the Android OS after executing "adb reboot edl" |
TWRP 3.7.1_12-0 |
yes |
[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/edl ]
$ ./edl getstorageinfo
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2023.
main - Trying with no loader given ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: sahara
Traceback (most recent call last):
File "/data/develop/android/edl/./edl", line 393, in
<module>
base.run()
File "/data/develop/android/edl/./edl", line 295, in run
version = conninfo["data"].version
^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'req' has no attribute 'version'
[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/edl ] $
./edl
--loader=/data/backup/ASUS_ZENFONE8/edl/prog_firehose_ddr.elf
ROM |
Magisk module adb_root works? |
Comment |
LineageOS 20.x |
yes |
|
LineageOS 21.x | yes |
|
ASUS Android 13 | yes |
|
OmniROM 13 | no |
see below for a work around |
OmniROM 14 |
no |
see below for a work around |
/e/ 2.0x |
yes |
|
LMODroid 4.2 |
yes |
|
File / Directory |
Content |
Comment |
/system/bin/server/syslogd | the syslogd binary |
|
/system/bin/nlogger | the logger binary |
this is the executable logger from the GNU
inetuils (There is already a binary called logger in the Android OS ) |
/system/bin/restart_syslogd | a script to restart the syslogd |
a symbolic link to ./start_syslogd |
/system/bin/start_syslogd | a script to start the syslogd | |
/system/bin/stop_syslogd | a script to stop the syslogd | a symbolic link to ./start_syslogd |
/system/etc/syslog.conf_with_local_files | an example syslog config file to log a
loghost and to local files |
|
/system/etc/syslog.conf | a syslog config file to log only to the
loghost |
this is the default syslog config file |
/system/etc/syslog.d | the directory for additional syslog config
files |
additional syslog config files must use the
suffic .conf |
/system/etc/hosts | a writable host file to be able to define
the loghost |
The file /system/etc/hosts is not changed if already replaced by another Magisk Module. |
OmniROM 12 | How to compile the OmniROM for the ASUS Zenfone 8 |
OmniROM 13 | How to compile the OmniROM 13 for the ASUS Zenfone 8 |
OmniROM 14 |
How to compile the OmniROM 14 for the ASUS Zenfone 8 |
repo init -u https://github.com/omnirom/android.git -b
android-15 --git-lfs
[ OmniRom 15 (devpool) - xtrnaw7@t15g
/devpool001/develop/OmniROM_15.0 ] $ cat
.repo/local_manifests/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="DonkeyCoyote"
fetch="https://github.com/DonkeyCoyote" />
<project path="vendor/asus"
name="proprietary_vendor_asus" remote="DonkeyCoyote"
revision="android-15" />
<project path="vendor/microg" name="android_prebuilts_prebuiltapks"
remote="omnirom" revision="android-14.0" />
<project path="vendor/images/asus"
name="android_vendor_images_asus" remote="gitlab"
revision="android-14.0" />
<project path="vendor/gapps" name="android_vendor_gapps"
remote="gitlab" revision="android-15" />
</manifest>
[ OmniRom 15 (devpool) - xtrnaw7@t15g
/devpool001/develop/OmniROM_15.0 ] $
repo-lfs
# optional:
#
# to build an OmniROM image with MicroG packages, set the
environment variable ROM_BUILDTYPE to MICROG before starting the
build
#
# to build an OmniROM image with GAPPS packages, set the
environment variable ROM_BUILDTYPE to GAPPS before starting the
build.
# (of course this only works if the repositories are configured
for GAPPS)
#
export ROM_BUILDTYPE=MICROG
. build/envsetup.sh
brunch omni_zenfone8-user
[ OmniRom 15 - xtrnaw7@t15g
/data/develop/android/OmniROM_15.0 ] $ ls -l
out/target/product/zenfone8/omni-15-*zip
-rw-rw-r--. 2 xtrnaw7 xtrnaw7 1405496265 Nov 21 23:50
out/target/product/zenfone8/omni-15-20241121-zenfone8-MICROG.zip
[ OmniRom 15 - xtrnaw7@t15g /data/develop/android/OmniROM_15.0 ]
$
[ OmniROM 15 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $ ls -l
./build/make/target/product/security/platform.*
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1216 Nov 14 15:24
./build/make/target/product/security/platform.pk8
-rw-rw-r--. 1 xtrnaw7 xtrnaw7 1675 Nov 14 15:24
./build/make/target/product/security/platform.x509.pem
[ OmniROM 15 Dev - xtrnaw7@t15g
/data/develop/android/OmniROM_14.0 ] $
"proprietary_vendor_asus"
from DonkeyCoyote
Tool |
Description |
Homepage URL |
Comment |
added in version |
bmon |
bmon is a monitoring and debugging tool to capture networking related statistics and prepare them visually in a human friendly way | https://github.com/tgraf/bmon |
bmon needs root access |
1.0.0 |
ngrep |
ngrep is a grep for network packets | https://github.com/jpr5/ngrep | ngrep needs root access |
1.0.0 |
dig, mdig, host, nsloookup, nsupdate |
dig is the Linux tool for hostname
resolution via DNS server mdig, host, nslookup, and nsupdate can also be used for hostname resolution. |
https://gitlab.isc.org/ | The binaries dig, mdig, host, nslookup, and
nsupdate are
from bind 9.11 "mdig is a multiple/pipelined query version of dig: instead of waiting for a response after sending each query, it begins by sending all queries. Responses are displayed in the order in which they are received, not in the order the corresponding queries were sent." The binaries from bind use the file /etc/resolv.conf to get the nameserver to use. The file resolv.conf in the Magisk Module is: ASUS_I006D:/ $ cat /system/etc/resolv.conf nameserver 8.8.8.8 nameserver 1.1.1.1 ASUS_I006D:/ $ To use dig on phones without the file resolv.conf use the dig parameter for the nameserver to use - for example to ask the nameserver 192.168.1.1: ASUS_I006D:/ $ dig www.heise.de @192.168.1.1 +short 193.99.144.85 ASUS_I006D:/ $ To change the default nameserver, edit the file /data/adb/modules/network_tools/system/etc/resolv.conf. (Download link for the source: https://gitlab.isc.org/isc-projects/bind9/-/branches?state=all&sort=updated_desc&search=9.11) |
1.0.0 |
configure_wlan_monitor_mode.sh |
configure_wlan_monitor_mode.sh is
a shell script to enable or disable monitor mode for the
WLAN interface |
n/a |
the usage for the script is: : ASUS_I006D:/data/adb/modules/network_tools/system/bin # cd ASUS_I006D:/ # configure_wlan_monitor_mode.sh -h Usage: configure_wlan_monitor_mode.sh [on|off|enable|disable|status] [if=interface] [executable_to_execute] [parameter_for_the executable] The default interface is wlan0 ASUS_I006D:/ # Be aware that enabling the monitor mode disables WiFi. To check the current WiFi status use settings get global wifi_on To enable WiFi again after disabling the monitor mode use the command svc wifi enable |
1.0.0 |
NcFTP | NcFTP is a ftp client |
https://www.ncftp.com/ | The configuration directory for NcFTP is /data/local/tmp/ncftp_config; to change the directory set and export the variable NCFTPDIR before calling NcFTP or edit the value for the variable NCFTPDIR in the file /data/adb/modules/network_tools/system/bin/ncftp. | 1.1.0 |
logger, telnet, ftp |
logger, telnet and tftp from the GNU inteutils 2.5 (https://www.gnu.org/software/inetutils/inetutils.html) | https://www.gnu.org/software/inetutils/inetutils.html | The name of the logger from the GNU
inetutils provided by this Magisk Module is glogger.
The logger from the GUN inetutils can not be used to write a message to the logs on the Android OS. But it can be used to write a log message to an external loghost. Example To write a message to the loghost 192.168.1.126 use glogger -p user.error -h 192.168.1.126 "Hallo Ihr da draussen" |
1.1.0 |
ifstat |
"ifstat is a tool to report network
interfaces bandwith just like vmstat/iostat do for other
system counters. " |
http://gael.roualland.free.fr/ifstat/ | 1.2.0 | |
netperf, netserver |
netperf is a network benchmark tool |
http://www.netperf.org/netperf | 1.2.0 | |
links |
links is a text mode web browser | http://links.twibright.com | 1.2.0 | |
lynx |
lynx is a text mode web browser | https://lynx.invisible-island.net/ | 1.2.0 | |
iperf3 |
"iperf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks." | https://github.com/esnet/iperf/ |
1.3.0 |
|
in the directory /system/bin/net-tools : arp dnsdomainname hostname ifconfig ipmaddr iptunnel netstat rarp route |
netstat is compiled with SELinux
support (the other tools do not support SElinux) All tools only need the standard libraries from the Android OS |
https://github.com/ecki/net-tools |
1.4.0 |
|
in the directory /system/bin/tn3270 : b3270 c3270 pr3287 prtodir s3270 x3270if playback |
x3270 is a family of IBM 3270 terminal
emulators and related tools. |
https://x3270.miraheze.org/wiki/Downloads |
1.5.0 |
|
FIle/Directory |
content |
Comment |
/system/bin/openssh_bin_wrapper | wrapper script for the ssh binaries |
The wrapper script is necessary to use the
OpenSSH libraries |
/system/usr/bin/scp /system/usr/bin/sftp /system/usr/bin/ssh /system/usr/bin/ssh-add /system/usr/bin/ssh-agent /system/usr/bin/ssh-keygen /system/usr/bin/ssh-keyscan /system/usr/bin/sshd |
ssh binaries |
|
/system/bin/ssh /system/bin/ssh-add /system/bin/ssh-agent /system/bin/ssh-copy-id /system/bin/ssh-keygen /system/bin/ssh-keyscan /system/bin/sshd |
symbolic links for the ssh binaries |
These symbolic links to the wrapper script
/system/bin/openssh_bin_wrapper are created by the
customization script |
/system/lib64/openssh_libs/libcrypto.so /system/lib64/openssh_libs/libedit.so /system/lib64/openssh_libs/libldns.so /system/lib64/openssh_libs/libncurses.so /system/lib64/openssh_libs/libssl.so |
libraries necessary for OpenSSH |
The libraries for OpenSSH must not
overwrite the libraries from the OS |
/system/usr/libexec/bin/sftp-server /system/usr/libexec/bin/ssh-keysign /system/usr/libexec/bin/ssh-pkcs11-helper /system/usr/libexec/bin/ssh-sk-helper /system/usr/libexec/bin/sshd-session |
helper programs for ssh |
|
/system/usr/libexec/sftp-server /system/usr/libexec/ssh-keysign /system/usr/libexec/ssh-pkcs11-helper /system/usr/libexec/ssh-sk-helper /system/usr/libexec/sshd-session |
symbolic links for the helper programs |
These symbolic links to the wrapper script
/system/bin/openssh_bin_wrapper are created by the
customization script |
/data/local/tmp/var/ /data/local/tmp/var/empty /data/local/tmp/var/log /data/local/tmp/var/mail /data/local/tmp/var/run /data/local/tmp/home |
writable data directories for ssh and sshd |
These directories will be created by the
customization script if they do not yet exist. The data in these directories is not changed when the Magisk Module is reinstalled or updated |
/data/local/tmp/home/.ssh |
.ssh directory of the user starting the
sshd |
This directory is used for the files known_hosts,
authorized_keys and others This directory is created by the customization script if it does not yet exist. |
/etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub |
ssh host keys |
The host keys are created by the
customization script of the Magisk Module if they do not
yet exist The host keys are preserved if the Magisk Module is reinstalled or updated To change or add new ssh host keys, create the keys in the directory /data/adb/modules/openssh/system/etc/ssh, update the file /system/etc/sshd_config, and reboot the phone Note that the owner of the host keys must be the user shell. |
/etc/ssh/ssh_config |
ssh config file |
To update the file, edit the file /data/adb/modules/openssh/system/etc/ssh/ssh_config
and reboot the phone or remount the file /system/etc/ssh_config |
/etc/ssh/sshd_config |
sshd config file |
To update the file, edit the file /data/adb/modules/openssh/system/etc/ssh/sshd_config and reboot the phone or remount the file /system/etc/sshd_config |
/data/adb/modules_update/openssh/service.sh |
start script for the sshd |
|
Tool |
version |
executables in the module |
URL |
added in version |
Comment |
gnuzip | 1.13 |
gzip gunzip gzexe zcat (shell script) zcmp (shell script) zdiff (shell script) zegrep (shell script) zfgrep (shell script) zforce (shell script) zgrep (shell script) zmore (shell script) znew (shell script) |
https://ftp.gnu.org/gnu/gzip/ | 1.0.0 |
|
xz |
5.62 |
xz |
https://github.com/tukaani-project/xz | 1.0.0 | |
7-Zip (z) |
24.05 | 7zz |
https://www.7-zip.org | 1.0.0 | |
bzip2 |
1.08 |
bzip2 bzip2recover bzgrep (shell script) bzdiff (shell script) |
https://sourceware.org/bzip2 | 1.0.0 | |
zip |
3.0 |
zip zipcloak zipnote zipsplit |
https://infozip.sourceforge.net/Zip.html | 1.0.0 | |
unzip |
6.0 |
unzip unzipsfx |
https://infozip.sourceforge.net/UnZip.html | 1.0.0 | |
lz4 |
1.10.0 |
lz4 |
https://github.com/lz4/lz4 | 1.0.0 | |
zstd |
1.5.6 |
zstd zstdcat zstdgrep zstdless zstdmt |
https://github.com/facebook/zstd | 1.0.0 | |
lzop |
1.04 |
lzop |
https://www.lzop.org/ http://www.oberhumer.com/opensource/lzo/ |
1.0.0 | |
compress |
5.0 |
compress uncompress |
https://vapier.github.io/ncompress | 1.0.0 | |
unrar |
5.91 |
unrar |
copied from the unrar Magisk module from
this repository: https://github.com/henriknelson/magisk-modules |
1.1.1 |
Variable |
Description |
Default value |
Comment |
CPU_TYPE |
type of the current CPU |
$( uname -m ) |
do not change this variable |
CLANG_VERSION |
clang version in the Magisk Module |
19 |
do not change this variable |
CLANG_DIR |
directory with the clang files |
/system/usr/clang${CLANG_VERSION} |
|
This directory is only used if defined |
|||
NDK_DIR |
directory with the Android NDK files |
/system/usr/ndk/r27b |
|
SYSROOT |
directory with the sysroot from the Android
NDK |
${NDK_DIR}/sysroot |
|
API |
the compiler and linker use the object
files for this API version |
35 |
The known API versions in the Android NDK
can be found here:ls -ld /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/[0-9]*ASUS_I006D:/data/local/tmp/develop/coreutils-9.0 $ ls -ld /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/[0-9]* drwxr-xr-x 2 root root 640 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/21 drwxr-xr-x 2 root root 640 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/22 drwxr-xr-x 2 root root 640 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/23 drwxr-xr-x 2 root root 680 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/24 drwxr-xr-x 2 root root 680 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/25 drwxr-xr-x 2 root root 740 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/26 drwxr-xr-x 2 root root 760 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/27 drwxr-xr-x 2 root root 760 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/28 drwxr-xr-x 2 root root 800 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/29 drwxr-xr-x 2 root root 800 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/30 drwxr-xr-x 2 root root 840 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/31 drwxr-xr-x 2 root root 840 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/32 drwxr-xr-x 2 root root 840 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/33 drwxr-xr-x 2 root root 840 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/34 drwxr-xr-x 2 root root 840 1970-04-19 06:30 /system/usr/ndk/r27b/sysroot/usr/lib/aarch64-linux-android/35 ASUS_I006D:/data/local/tmp/develop/coreutils-9.0 $ Using an API version below 30 will not work in most cases to compile a library or binary with clang19 |
TARGET_ROOT | sysroot dir with additional libraries and include files | /data/local/tmp/develop/sysroot | This directory is only used if defined |
TMP |
directory for temporary files |
This variable is set to /data/local/tmp
by the init script if - /tmp does not exist - /data/local/tmp exists - TMP is not set . |
CAUTION: The scripts in this Magisk Module can damage or destroy the data on the phone. Only use this Magisk Module if you have a complete backup of the data on the phone and know how to reinstall the operating system on the phone from scratch! Note that the data on the new dynamic partition created with the scripts from this Magisk Module is NOT encrypted and is not deleted by a factory reset! It is strongly recommended to read this complete article and also the article How to create a new dynamic partition in the partition super before using this Magisk module |
File / Directory |
Usage |
Comment |
/system/bin/process_dynamic_partition.sh |
the main script |
|
/system/bin/create_and_mount_dynamic_partition /system/bin/create_dynamic_partition /system/bin/status_dynamic_partition /system/bin/umount_dynamic_partition /system/bin/delete_dynamic_partition /system/bin/mount_dynamic_partition /system/bin/umount_and_delete_dynamic_partition |
symbolic links for the main script, to
simplify use, e.g. create_and_mount_dynamic_partition is the same as executing process_dynamic_partition.sh create mount |
|
/system/bin/pdp |
wrapper script for /system/bin/process_dynamic_partition.sh;
this script executes prcoess_dynamic_partition.sh
with the prefix "su - -c " if executed by a non
root user. |
|
/system/etc/process_dynamic_partition.conf |
the config file for the script /system/bin/process_dynamic_partition.sh | |
/system/usr/create_dynamic_partition_tools/ |
in this directory are the binaries to
create the partition and filesystem and some other useful
executables |
The files in this directory in version
1.0.0 of the Magisk Module areBinaries in the modulee2fsck fsck.ext2 fsck.ext3 fsck.ext4 lpadd lpdump lpmake lpunpack make_ext4fs mke2fs mkexfatfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat mksh parted resize2fs tune2fs ---- |
/data/adb/modules/create_dynamic_partition/service.sh |
service script of the Magisk Module
responsible to mount the filesystem on the new dynamic
partition after a reboot |
|
/data/adb/modules/create_dynamic_partition/action.sh |
action.sh is executed by Magisk when the
“Action” button for the module is pressed in the Magisk
GUI |
this a symbolic link to service.sh |
/data/adb/dynamic_partition_service.conf |
this is the config file for service.sh (and
action.sh) |
this file is created by the script
/system/bin/process_dynamic_partition.sh with the
parameter create or update |
https://source.android.com/docs/core/ota/dynamic_partitions/implement | Implement dynamic partitions |
https://source.android.com/docs/core/ota/dynamic_partitions/how_to_size_super | Size the super partition |
https://github.com/LonelyFool/lpunpack_and_lpmake/tree/android11/partition_tools | Dynamic partition tools |
File |
Date / Version |
Mentioned in |
Comment |
install_apk.sh | 24.11.2024 2.1.0 |
How to install packages (apk files) for Android via script | the script can run on the PC or in an adb
session on the phone |
install_magisk_via_twrp.sh |
24.11.2024 v4.1.0.0 |
How to
install Magisk into the boot partition using script |
|
PlayStore_for_MicroG.zip |
How to replace the Fake Store from OmniROM with MicroG with a patched Playstore | this is a Magisk Module; the Playstore
version is 20-9-20-all |
|
PlayStore_for_MicroG_28.3.16.21-v1.0.0.zip | 28.3.16-21-v1.0.0.0 |
How
to replace the FakeStore in_MicroG with the original
Playstore |
this is a Magisk Module |
initshell.zip |
How to change the home directory for the user root on an Android phone | ||
profile |
How to change the home directory for the user root on an Android phone | ||
bootctl-binary-v2.1.3.zip | 2.1.3 |
How to switch the
active slot |
The original repository https://github.com/roihershberg/bootctl-binary is not maintained anymore by the author. |
install_twrp_from_within_twrp.sh |
22.11.2024 v1.3.0.0 |
How to install
TWRP via script |
starting with version 1.3.0.0 the script also supports the OrangeFox recovery |
install_twrp.sh | 24.11.2024 v1.3.2.0 | How to install TWRP via script | |
boot_phone_from_twrp.sh |
22.12.2024 v3.2.1.0 |
How to
boot a phone from a TWRP recovery image via script How to enable root access using Magisk in a script |
starting with version 3.2.0.0 the script
also supports the OrangeFox
recovery |
enable_wifi.sh |
20.11.2022 |
How to
change files in Android XML Binary format |
|
sqlite3 |
3.39.3 2022-09-05 11:02:23 | How
to
enable
root
access
using
Magisk
in a script |
static linked sqlite3 binary for 64
Bit ARM CPUs |
enable_root_access_via_magisk.sh |
21.11.2024 1.6.0.0 |
How to enable root access using Magisk in a script | |
init_magisk_db.sh |
30.04.2024 v1.0.3.0 |
How to enable root access using Magisk in a script | |
enable_adb.sh |
16.12.2022 1.0.0.0 |
||
install_os_via_twrp.sh |
10.08.2024 v2.1.3.0 |
How
to
install
an
OS
image
using
the TWRP binary twrp |
|
enable_access_via_adb.sh | 30.04.2024 v1.3.0.0 |
How
to
enable
root
access
using
Magisk
in a script |
|
enable_adb_using_magisk.sh |
23.05.2024 1.2.3.0 |
How
to
enable
root
access
using
Magisk
in a script |
|
execute_tasks.sh |
08.05.2024 v2.3.2 |
How to install and configure the Android OS | |
prepare_phone.include |
22.05.2024 |
How to install and configure the Android OS | |
prepare_phone.conf |
22.05.2024 | How to install and configure the Android OS | |
install_twrp_ramdisk.sh | 15.05.2023 1.0.0.0 |
Installing
TWRP
into
the
boot
partition
again
after the installation of an OS update |
|
disable_fake_store.zip |
04.06.2023 1.0.0.0 |
How to install a more recent version of the Playstore in OmniROM | |
get_aosp_patches.sh |
07.02.2024 1.1.0.0 |
How
to
apply
the
Android
Security
patches
to a local repository |
|
rename_apk.sh |
05.02.2024 1.0.0.0 |
How to get the application name and version from an apk file | |
/files/public/Android/binaries_for_arm64/ | Examples for compiling C programs for Android using gcc or clang | Binaries compiled for arm64 CPUsFilelist:
|
|
print_security_patch |
14.11.2024 1.2.0.0 |
Infos for
building a CustomROM image How to print the security patch level used in repositories or ROM image zip files |
|
check_apks.sh | 10.04.2024 1.0.0.0 |
How
to
fix
a
hanging
restore
in
Titanium Backup |
|
ASUS_Zenfone8_prog_firehose_ddr.elf |
Binary build date: Aug 13 2021 @ 23:00:54 |
Some hints about EDL
mode |
firehose loader for edl mode on the ASUS
Zenfone 8 |
02A
firehose.zip |
Binary build date: Mar 23 2022 @ 23:27:20 |
Some hints about EDL mode | zip file with some firehose loader for EDL mode on the ASUS Zenfone 8 |
usbreset |
How to reset the USB port used to connect an Android phone | small Linux program to reset an USB port Source code: https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line or download the copy of the script from here: usbreset.c If the binary does not work on your Linux OS, please download the source code for the program and recompile it using these commands: cc usbreset.c -o usbreset chmod 755 usbreset |
|
reset_usb_port_for_phone.sh |
1.0.1 |
How
to
reset
the
USB
port
used
to connect an Android phone |
|
enable_adb_in_recovery_ramdisk.sh | 26.06.2024 v1.0.1 |
How to add files to the ramdisk used for the recovery boot | |
create_ugly_twrp_image.sh | 27.06.2024 v1.0.0 |
How
to
create
a
TWRP
image
for
LineageOS based ROMs using a script |
|
list_bind_mounts.sh | 28.07.2024 v1.0.0 |
How to list bind mounts | |
apply_security_level_to_StatixOS_repos.sh | 12.08.2024 v1.0.0 |
How to apply an Android patchlevel to the repositories for the StatiXOS | |
sign_apk.sh | 28.08.2024 1.0.0 |
How to re-sign an apk file | |
install_mm.sh | 29.10.2024 1.2.0 |
Some
hints for creating Magisk Modules How to install Magisk modules via a script |
|
remount_dynamic_partitions.sh | 07.09.2024 1.1.0 |
How
to create logical devices using the device mapper from
Android How to access the system partitions while the phone is booted into the LineageOS recovery |
|
list_logical_device_backends.sh | 07.09.2024 1.1.0 | How to create logical devices using the device mapper from Android | |
list_logical_device_usage.sh | 03.09.2024 1.0.0 |
How to create logical devices using the device mapper from Android | |
recreate_bind_mount.sh |
06.11.2024 1.0.0 |
How
to recreate bind mounts for files in Magisk Module
|
|
lmm |
08.11.2024 1.10.0 |
How
to list all installed modules in adb session |
This script for Android just lists all
installed Magisk Modules, ExampleExample outputASUS_I006D:/ $ id -un shell ASUS_I006D:/ $ ASUS_I006D:/ $ lmm DebugTools 9.1.2.0 enabled Linux trouble shooting tools for Android bash 5.2-v1.0.0 enabled bash bootctl-binary v2.1.3 enabled Bootctl Binary myscripts 1.4.0.0 enabled myscripts nano-ndk 6.3 enabled Nano for Android NDK network_tools 1.2.0 enabled network_tools openssh 9.9p1.v1.0.0 enabled openssh python3 3.10.4.1 enabled python3 vim 9.1.672 enabled vim for Android ASUS_I006D:/ $ |
search_magisk_package.sh | 05.12.2024 1.0.0 |
How to find a
hidden Magisk App |
|
configure_microg.sh |
06.12.2024 1.0.0 |
How to
configure MicroG via Script |
|
openssh_9.9p1_v1.1.0.tar.gz |
1.1.0 |
How
to connect to Android via ssh as user shell without root
access |
A tar file with OpenSSH binaries and other
tools for arm64 CPUs for installation in the
directory /data/local/tmp/sysroot ChanglogHistory 10.12.2024 1.0.0 /bs initial release with OpenSSH (ssh, scp, sftp, etc), dig 14.12.2024 1.1.0 /bs added the rsync binary; the default config file for the rsync daemon is /data/local/tmp/sysroot/etc/rsyncd.conf |
File |
Content |
Comment |
How to
replace the Fake Store from OmniROM with MicroG with a
patched Playstore |
Playstore version 42.3.24-31 |
|
btop-1.3.2.1.zip |
Magisk Module
with btop binaries for Android for these CPUs: aarch64 / arm64 / armv5l / armv7l / i486 / i686 / mips64 / powerpc64 / x86_64 |
the binaries in the Magisk Module are
static linked binaries from https://github.com/aristocratos/btop/releases Note that btop for Android needs root permissions. The home page for btop is https://github.com/aristocratos/btop |
ckermit_10.0_Beta10.zip |
Magisk Module
with ckermit binaries for Android for these CPUs: aarch64 / arm64 / armv5l / armv7l / i386 / mips / mips64 /x86_64 |
The source code and build instructions for
ckermit are available here: https://kermitproject.org/ckdaily.html The home page for ckermit is here: https://kermitproject.org/ |
androidsdk34_0_3_34.0.3.01.zip | Magisk Module
with the Android SDK binaries for devices with an
aarch64 (= arm64) |
The binaries are from this zip file: https://github.com/lzhiyong/android-sdk-tools/releases/download/34.0.3/android-sdk-tools-static-aarch64.zip |
selinux_tools_v1.3.zip |
Magisk module
with the SELinux tools for various CPUs |
the binaries in the Magisk Module are
copied from this repository: https://github.com/xmikos/setools-android The files in this module are: seinfo sesearch sepolicy-inject compiled for the Android OS. The module contains binaries for these CPUs: armeabi / armeabi-v7a / arm64-v8a / mips64 / x86 / x86_64 |
selinux_tools_v1.4.zip | Magisk module
with the SELinux tools for various CPUs |
the binaries in the Magisk Module for all
CPUs are copied from this repository: https://github.com/xmikos/setools-android The additional files for arm/arm64 CPUs are from this repository: https://github.com/SELinuxProject/selinux The files in this module are: seinfo sesearch sepolicy-inject compiled for the Android OS for these CPUs: armeabi / armeabi-v7a / arm64-v8a / mips64 / x86 / x86_64 There are also these binaries For arm64 and arm CPUs in the module: chkcon sepol_check_access sepol_compute_av sepol_compute_member sepol_compute_relabel sepol_validate_transition |
vim_9.1.zip | Magisk Module
with vim 9.1 for arm64 CPUs |
The vim in the module is dynamic linked; therefore the module also install these libaries: ls -l /data/adb/modules/vim/system/lib64# ls -l /data/adb/modules/vim/system/lib64/ total 1720 lrwxrwxrwx 1 root root 20 2024-07-26 14:24 libcanberra.so.0 -> libcanberra.so.0.2.5 -rwxr-xr-x 1 root root 54792 2024-07-26 14:24 libcanberra.so.0.2.5 -rwxr-xr-x 1 root root 1067696 2024-07-26 14:24 libiconv.so -rwxr-xr-x 1 root root 36560 2024-07-26 14:24 libltdl.so lrwxrwxrwx 1 root root 18 2024-07-26 14:24 libncursesw.so.6 -> libncursesw.so.6.4 -rwxr-xr-x 1 root root 387592 2024-07-26 14:24 libncursesw.so.6.4 -rwxr-xr-x 1 root root 26416 2024-07-26 14:24 libogg.so -rwxr-xr-x 1 root root 151328 2024-07-26 14:24 libvorbis.so -rwxr-xr-x 1 root root 28600 2024-07-26 14:24 libvorbisfile.so # The vim uses this directory for data and configs /data/local/tmp/share/vim/vim91 The default config file used by the vim is /data/local/tmp/share/vim/vim91/defaults.vim |
vim_9.1.672.zip | Magisk Module with vim 9.1.672 for arm64 CPUs | The files in this Magisk Module are
installed in the directory /system_ext/bin; the
Magisk Module contains static and dynamic linked binaries: ASUS_I006D:/ $ ls -l /system_ext/bin/vim.* lrwxrwxrwx 1 root root 13 1970-01-29 00:15 /system_ext/bin/vim.bin -> ./vim.dynamic -rwxr-xr-x 1 root root 3553592 2024-08-12 10:17 /system_ext/bin/vim.dynamic -rwxr-xr-x 1 root root 3666232 2024-08-12 10:17 /system_ext/bin/vim.static ASUS_I006D:/ $ The data files for vim are installed in the directory /data/local/tmp/share/vim/vim91. vim --version
|
DebugTools_9.3.1.0.zip |
Magisk Module
with some Linux trouble shooting tools for arm64
CPUs |
The executables are installed in the /system/usr/bin
and in /system/bin are symbolic links for the
executables.List of files in the moduleASUS_I006D:/data/adb/modules/DebugTools/system/usr/bin # dateSun Dec 8 10:35:49 CET 2024 ASUS_I006D:/data/adb/modules/DebugTools/system/usr/bin # ls -l total 21168 -rwxr-xr-x 1 root root 164117 2024-12-08 10:26 ack -rwxr-xr-x 1 root root 13096 2024-12-08 10:26 bgrep -rwxr-xr-x 1 root root 67328 2024-12-08 10:26 bmore -rwxr-xr-x 1 root root 190576 2024-12-08 10:26 bvi -rwxr-xr-x 1 root root 1061856 2024-12-08 10:26 cfdisk -rwxr-xr-x 1 root root 40768 2024-12-08 10:26 chcpu -rwxr-xr-x 1 root root 64440 2024-12-08 10:26 chrt -rwxr-xr-x 1 root root 153864 2024-12-08 10:26 dmesg -rwxr-xr-x 1 root root 40504 2024-12-08 10:26 enosys -rwxr-xr-x 1 root root 541460 2024-12-08 10:26 fdisk -rwxr-xr-x 1 root root 430296 2024-12-08 10:26 fsck -rwxr-xr-x 1 root root 680612 2024-12-08 10:26 gdisk -rwxr-xr-x 1 root root 73776 2024-12-08 10:26 hexdump -rwxr-xr-x 1 root root 1005208 2024-12-08 10:26 less -rwxr-xr-x 1 root root 663544 2024-12-08 10:26 lessecho -rwxr-xr-x 1 root root 671544 2024-12-08 10:26 lesskey -rwxr-xr-x 1 root root 4083 2024-12-08 10:26 list_bind_mounts.sh -rwxr-xr-x 1 root root 199520 2024-12-08 10:26 losetup -rwxr-xr-x 1 root root 701768 2024-12-08 10:26 lsblk -rwxr-xr-x 1 root root 132232 2024-12-08 10:26 lsclocks -rwxr-xr-x 1 root root 223088 2024-12-08 10:26 lscpu -rwxr-xr-x 1 root root 177104 2024-12-08 10:26 lsipc -rwxr-xr-x 1 root root 124928 2024-12-08 10:26 lsirq -rwxr-xr-x 1 root root 551464 2024-12-08 10:26 mount -rwxr-xr-x 1 root root 29248 2024-12-08 10:26 namei -rwxr-xr-x 1 root root 4871448 2024-12-08 10:26 ncat -rwxr-xr-x 1 root root 492512 2024-12-08 10:26 ngrep -rwxr-xr-x 1 root root 56160 2024-12-08 10:26 pipesz -rwxr-xr-x 1 root root 123248 2024-12-08 10:26 prlimit -rwxr-xr-x 1 root root 8976 2024-12-08 10:26 rev -rwxr-xr-x 1 root root 68168 2024-12-08 10:26 script -rwxr-xr-x 1 root root 784088 2024-12-08 10:26 sfdisk -rwxr-xr-x 1 root root 813096 2024-12-08 10:26 strace -rwxr-xr-x 1 root root 51 2024-12-08 10:26 sudo -rwxr-xr-x 1 root root 3661856 2024-12-08 10:26 tcpdump -rwxr-xr-x 1 root root 2010160 2024-12-08 10:26 tmux -rwxr-xr-x 1 root root 80960 2024-12-08 10:26 uname26 -rwxr-xr-x 1 root root 26272 2024-12-08 10:26 waitpid -rwxr-xr-x 1 root root 370400 2024-12-08 10:26 wipefs -rwxr-xr-x 1 root root 202888 2024-12-08 10:26 zramctl ASUS_I006D:/data/adb/modules/DebugTools/system/usr/bin # Since version 9.3.0.0 of the Magisk Module all binaries in the module are now either statically build or dynamically build with all non-Android libraries included in the binary. Therefore, each of the binaries from the Module can now run on any Android OS |
bvi_1.4.1.zip |
Magisk Module
with bvi for arm64 CPUs |
bvi is an editor for binary files
with the user interface from vi The source code for bvi is available here: https://bvi.sourceforge.net/ The executable in this module is dynamic linked; the necessasry library libncursesw.so.6 is also in the module. |
bvi_1.4.2.zip | Magisk Module with bvi for arm64 CPUs | bvi is an editor for binary files
with the user interface from vi The source code for bvi is available here: https://bvi.sourceforge.net/ The executable in this module is static linked see Examples for compiling C programs for Android using gcc or clang for instructions to compile bvi |
coreutils_9.5.0.0.zip |
Magisk Module
with the Linux core utils for arm64 CPUs |
The source for the files in this Magisk
Module is available here: https://github.com/coreutils/coreutils/ The configure statement used to compile these tools was: ./configure --prefix=/data/local/tmp CFLAGS="-Wno-implicit-function-declaration -Wno-int-conversion" --with-openssl=no --without-libgmp -> the tools only use the standard libraries from Android The tools are installed in the directory /system/bin/coreutils List of executables in the moduleas of 28.07.2024: [ b2sum base32 base64 basename basenc cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dcgen dd df dir dircolors dirname du du-tests echo env expand expr factor false fmt fold getlimits ginstall groups head id join kill libstdbuf.so link ln logname ls make-prime-list md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stdbuf stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami yes |
myscripts_1.3.0.0.zip | Magisk module with some of my scripts for Android | Files in the module:ASUS_I006D:/data/adb/modules/myscripts/system/bin # date Wed Nov 6 11:19:39 CET 2024 ASUS_I006D:/data/adb/modules/myscripts/system/bin # ASUS_I006D:/data/adb/modules/myscripts/system/bin # ls -l total 132 -rwxr-xr-x 1 root root 156 2024-11-06 10:58 0001logcatboot -rwxr-xr-x 1 root root 354 2024-11-06 10:58 correct_dev_pn553.sh -rwxr-xr-x 1 root root 51 2024-11-06 10:58 disable_intent_filter_verification.sh -rwxr-xr-x 1 root root 146 2024-11-06 10:58 enable_microg.sh -rwxr-xr-x 1 root root 2956 2024-11-06 10:58 enable_wifi.sh -rwxr-xr-x 1 root root 11864 2024-11-06 10:58 enable_wireless_adb.sh -rwxr-xr-x 1 root root 10108 2024-11-06 10:58 install_apk.sh -rwxr-xr-x 1 root root 16046 2024-11-06 10:58 install_mm.sh -rwxr-xr-x 1 root root 4083 2024-11-06 10:58 list_bind_mounts.sh -rwxr-xr-x 1 root root 7271 2024-11-06 10:58 list_logical_device_backends.sh -rwxr-xr-x 1 root root 9463 2024-11-06 10:58 list_logical_device_usage.sh -rwxr-xr-x 1 root root 223 2024-11-06 10:58 list_magisk_root_permissions.sh -rwxr-xr-x 1 root root 449 2024-11-06 10:58 list_magisk_settings.sh lrwxrwxrwx 1 root root 34 2024-11-06 10:58 rcbm.sh -> ./recreate_bind_mount.sh -rwxr-xr-x 1 root root 2238 2024-11-06 11:07 recreate_bind_mount.sh -rwxr-xr-x 1 root root 16866 2024-11-06 10:58 remount_dynamic_partitions.sh -rwxr-xr-x 1 root root 69 2024-11-06 10:58 remove_screenlock.sh -rwxr-xr-x 1 root root 2708 2024-11-06 10:58 rename_apk.sh -rwxr-xr-x 1 root root 42 2024-11-06 10:58 setpath.sh -rwxr-xr-x 1 root root 13 2024-11-06 10:58 sudo ASUS_I006D:/data/adb/modules/myscripts/system/bin # |
openssl_3.3.1-v1.1.0.zip |
Magisk Module
with OpenSSL 3.3.1 for arm64 CPUs |
The OpenSSL files are installed in
the directory /system/usr/openssl; a wrapper
script to call openssl is installed in /system/bin. example usage: To print the certificate used for the running OS execute this command in an (adb) shell on the phone: unzip -p /system/etc/security/otacerts.zip *pem | openssl x509 -noout -text |
perl538_5.38.0.zip
|
Magisk Module
with Perl 5.38 for arm64 CPUs |
The Magisk Module installs Perl in
the directory /data/local/tmp/perl538 The Module also install Perl wrapper scripts in the directory /system/bin: ls -l /system/bin | grep perlASUS_I006D:/ # ls -l /system/bin | grep perl lrwxrwxrwx 1 root root 14 1970-01-25 03:12 cpan -> ./perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perl -> ./perl_wrapper -rwxr-xr-x 1 root root 192 2024-08-08 13:13 perl_env -rwxr-xr-x 1 root root 104 2024-08-08 13:13 perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perlbug -> ./perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perldoc -> ./perl_wrapper ASUS_I006D:/ # The script to start Perl defines these variables: cat /system/bin/perl_env|ASUS_I006D:/ # cat /system/bin/perl_env export PATH=/data/local/tmp/perl538:${PATH} export LD_LIBRARY_PATH=/data/local/tmp/perl538/lib64: export HOME="/data/local/tmp/perl_home" export PERL5LIB="/data/local/tmp/perl_home/perl5" ASUS_I006D:/ # see How to compile Perl for Android for instructions to compile perl |
perl540_5.40.0.zip | Magisk Module with Perl 5.40 for arm64 CPUs | The Magisk Module installs Perl in
the directory /data/local/tmp/perl540 The Module also install Perl wrapper scripts in the directory /system/bin: ls -l /system/bin | grep perlASUS_I006D:/ # ls -l /system/bin | grep perl lrwxrwxrwx 1 root root 14 1970-01-25 03:12 cpan -> ./perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perl -> ./perl_wrapper -rwxr-xr-x 1 root root 192 2024-08-08 13:13 perl_env -rwxr-xr-x 1 root root 104 2024-08-08 13:13 perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perlbug -> ./perl_wrapper lrwxrwxrwx 1 root root 14 1970-01-25 03:12 perldoc -> ./perl_wrapper ASUS_I006D:/ # The script to start Perl defines these variables: cat /system/bin/perl_env|ASUS_I006D:/ # cat /system/bin/perl_env export PATH=/data/local/tmp/perl538:${PATH} # LD_LIBRARY_PATH is not required for this Perl binary #export LD_LIBRARY_PATH=/data/local/tmp/perl538/lib64: export HOME="/data/local/tmp/perl_home" export PERL5LIB="/data/local/tmp/perl_home/perl5" ASUS_I006D:/ # see Examples for compiling C programs for Android using gcc or clang for instructions to compile perl These binaries are compiled using the Android SDK; the binary only uses the default Android system libraries: ldd /data/local/tmp/perl540/bin/perlASUS_I006D:/ $ /data/local/tmp/perl540/bin/perl --version This is perl 5, version 40, subversion 0 (v5.40.0) built for linux-android Copyright 1987-2024, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at https://www.perl.org/, the Perl Home Page. ASUS_I006D:/ $ ldd /data/local/tmp/perl540/bin/perl linux-vdso.so.1 => [vdso] (0x73fc5be000) libdl.so => /apex/com.android.runtime/lib64/bionic/libdl.so (0x73f769b000) libm.so => /apex/com.android.runtime/lib64/bionic/libm.so (0x73f78c3000) libc.so => /apex/com.android.runtime/lib64/bionic/libc.so (0x73f770c000) liblog.so => /system/lib64/liblog.so (0x73f76f0000) libc++.so => /system/lib64/libc++.so (0x73f7808000) ASUS_I006D:/ $ |
network_tools_1.5.0.zip | Magisk Module
with various network tools for arm64 CPUs |
see here
for details |
syslogd_2.5.0.zip |
Magisk Module
with the binaries syslogd and logger for arm64
CPUs from the GNU inetutils 2.5 |
The source code for the files in this
module is available here: https://www.gnu.org/software/inetutils/inetutils.html Files in this moduleASUS_I006D:/data/adb/modules/syslogd/system/bin # ls -ld $( find . ) drwxr-xr-x 3 root root 3452 2024-09-02 13:04 . -rwxr-xr-x 1 root root 51800 2024-09-02 13:04 ./nlogger lrwxrwxrwx 1 root root 15 2024-09-02 13:04 ./restart_syslogd -> ./start_syslogd drwxr-xr-x 2 root root 3452 2024-09-02 13:04 ./server -rwxr-xr-x 1 root root 79080 2024-09-02 13:04 ./server/syslogd -rwxr-xr-x 1 root root 5821 2024-09-02 13:04 ./start_syslogd lrwxrwxrwx 1 root root 15 2024-09-02 13:04 ./stop_syslogd -> ./start_syslogd ASUS_I006D:/data/adb/modules/syslogd/system/bin # see here for a description of the files in this module |
ro2rw_3.7.3.0.zip |
This Magisk Module
contains the binaries for working with dynamic partitions
in Android for arm and arm64 CPUs. |
The binaries are copied from the RO2RW
tools -- see here: https://xdaforums.com/t/magisk-twrp-arm32-64-a8-universal-read-only-to-read-write-for-android-ro2rw-auto-converting-super-system-partitions-to-read-write-mode.4521131/ The files can be downloaded from SourceForge: https://sourceforge.net/projects/multi-function-patch/ |
e2fsprogs_1.47.2.zip |
This Magisk Module
contains the e2fsprogs executables for arm64
CPUs |
The source code for the files in this
module is available here: https://e2fsprogs.sourceforge.net/ The module installs the binaries in the directory /system/bin/e2fsprogs. Files in the moduleASUS_I006D:/system/bin/e2fsprogs $ ls -l total 17000 -rwxr-xr-x 1 root root 744416 2024-09-02 08:16 badblocks -rwxr-xr-x 1 root root 503088 2024-09-02 08:16 blkid -rwxr-xr-x 1 root root 466984 2024-09-02 08:16 chattr -rwxr-xr-x 1 root root 1050312 2024-09-02 08:16 debugfs -rwxr-xr-x 1 root root 837264 2024-09-02 08:16 dumpe2fs -rwxr-xr-x 1 root root 735616 2024-09-02 08:16 e2freefrag -rwxr-xr-x 1 root root 1437248 2024-09-02 08:16 e2fsck -rwxr-xr-x 1 root root 841552 2024-09-02 08:16 e2image -rwxr-xr-x 1 root root 948488 2024-09-02 08:16 e2label -rwxr-xr-x 1 root root 837264 2024-09-02 08:16 e2mmpstatus -rwxr-xr-x 1 root root 746880 2024-09-02 08:16 e2undo -rwxr-xr-x 1 root root 476336 2024-09-02 08:16 e4crypt -rwxr-xr-x 1 root root 747488 2024-09-02 08:16 e4defrag -rwxr-xr-x 1 root root 465424 2024-09-02 08:16 filefrag -rwxr-xr-x 1 root root 948488 2024-09-02 08:16 findfs -rwxr-xr-x 1 root root 509832 2024-09-02 08:16 fsck lrwxrwxrwx 1 root root 8 1970-02-18 22:14 fsck.ext2 -> ./e2fsck lrwxrwxrwx 1 root root 8 1970-02-18 22:14 fsck.ext3 -> ./e2fsck lrwxrwxrwx 1 root root 8 1970-02-18 22:14 fsck.ext4 -> ./e2fsck -rwxr-xr-x 1 root root 494080 2024-09-02 08:16 logsave -rwxr-xr-x 1 root root 469424 2024-09-02 08:16 lsattr -rwxr-xr-x 1 root root 950240 2024-09-02 08:16 mke2fs lrwxrwxrwx 1 root root 8 1970-02-18 22:14 mkfs.ext2 -> ./mke2fs lrwxrwxrwx 1 root root 8 1970-02-18 22:14 mkfs.ext3 -> ./mke2fs lrwxrwxrwx 1 root root 8 1970-02-18 22:14 mkfs.ext4 -> ./mke2fs -rwxr-xr-x 1 root root 454568 2024-09-02 08:16 mklost+found -rwxr-xr-x 1 root root 795616 2024-09-02 08:16 resize2fs -rwxr-xr-x 1 root root 948488 2024-09-02 08:16 tune2fs -rwxr-xr-x 1 root root 479568 2024-09-02 08:16 uuidd -rwxr-xr-x 1 root root 472784 2024-09-02 08:16 uuidgen ASUS_I006D:/system/bin/e2fsprogs $ |
python3_3.10.4.2.zip | This Magisk Module contains the Python3 3.10 binaries and files for arm and arm64 CPUs from the TWRP repository | The Magisk Module installs the binaries in
/system/bin. The files in this module are available here: https://github.com/TeamWin/android_external_python3/tree/android-12.1 Files in the module┌root@localhost:/data/adb/modules/python3 └─# find system/ system/ system/bin system/bin/python3 system/bin/python system/etc system/etc/python system/etc/python/lib system/etc/python/lib/python3.10 system/etc/python/lib/python3.10/codecs.py system/etc/python/lib/python3.10/_collections_abc.py system/etc/python/lib/python3.10/os.py system/etc/python/lib/python3.10/_weakrefset.py system/etc/python/lib/python3.10/functools.py system/etc/python/lib/python3.10/sre_constants.py system/etc/python/lib/python3.10/struct.py system/etc/python/lib/python3.10/contextlib.py system/etc/python/lib/python3.10/warnings.py system/etc/python/lib/python3.10/enum.py system/etc/python/lib/python3.10/_sysconfigdata__linux_aarch64-linux-android.py system/etc/python/lib/python3.10/collections system/etc/python/lib/python3.10/collections/abc.py system/etc/python/lib/python3.10/collections/__init__.py system/etc/python/lib/python3.10/abc.py system/etc/python/lib/python3.10/urllib system/etc/python/lib/python3.10/urllib/robotparser.py system/etc/python/lib/python3.10/urllib/parse.py system/etc/python/lib/python3.10/urllib/error.py system/etc/python/lib/python3.10/urllib/request.py system/etc/python/lib/python3.10/urllib/__init__.py system/etc/python/lib/python3.10/urllib/response.py system/etc/python/lib/python3.10/typing.py system/etc/python/lib/python3.10/types.py system/etc/python/lib/python3.10/genericpath.py system/etc/python/lib/python3.10/fnmatch.py system/etc/python/lib/python3.10/pathlib.py system/etc/python/lib/python3.10/heapq.py system/etc/python/lib/python3.10/posixpath.py system/etc/python/lib/python3.10/sre_parse.py system/etc/python/lib/python3.10/xml system/etc/python/lib/python3.10/xml/dom system/etc/python/lib/python3.10/xml/dom/NodeFilter.py system/etc/python/lib/python3.10/xml/dom/xmlbuilder.py system/etc/python/lib/python3.10/xml/dom/minicompat.py system/etc/python/lib/python3.10/xml/dom/expatbuilder.py system/etc/python/lib/python3.10/xml/dom/pulldom.py system/etc/python/lib/python3.10/xml/dom/minidom.py system/etc/python/lib/python3.10/xml/dom/__init__.py system/etc/python/lib/python3.10/xml/dom/domreg.py system/etc/python/lib/python3.10/xml/__init__.py system/etc/python/lib/python3.10/xml/etree system/etc/python/lib/python3.10/xml/etree/ElementInclude.py system/etc/python/lib/python3.10/xml/etree/ElementTree.py system/etc/python/lib/python3.10/xml/etree/cElementTree.py system/etc/python/lib/python3.10/xml/etree/__init__.py system/etc/python/lib/python3.10/xml/etree/ElementPath.py system/etc/python/lib/python3.10/xml/sax system/etc/python/lib/python3.10/xml/sax/_exceptions.py system/etc/python/lib/python3.10/xml/sax/saxutils.py system/etc/python/lib/python3.10/xml/sax/expatreader.py system/etc/python/lib/python3.10/xml/sax/xmlreader.py system/etc/python/lib/python3.10/xml/sax/handler.py system/etc/python/lib/python3.10/xml/sax/__init__.py system/etc/python/lib/python3.10/xml/parsers system/etc/python/lib/python3.10/xml/parsers/expat.py system/etc/python/lib/python3.10/xml/parsers/__init__.py system/etc/python/lib/python3.10/copyreg.py system/etc/python/lib/python3.10/base64.py system/etc/python/lib/python3.10/sysconfig.py system/etc/python/lib/python3.10/ntpath.py system/etc/python/lib/python3.10/weakref.py system/etc/python/lib/python3.10/reprlib.py system/etc/python/lib/python3.10/io.py system/etc/python/lib/python3.10/keyword.py system/etc/python/lib/python3.10/stat.py system/etc/python/lib/python3.10/_sitebuiltins.py system/etc/python/lib/python3.10/sre_compile.py system/etc/python/lib/python3.10/operator.py system/etc/python/lib/python3.10/re.py system/etc/python/lib/python3.10/site.py system/etc/python/lib/python3.10/encodings system/etc/python/lib/python3.10/encodings/cp775.py system/etc/python/lib/python3.10/encodings/iso8859_14.py system/etc/python/lib/python3.10/encodings/cp1251.py system/etc/python/lib/python3.10/encodings/cp855.py system/etc/python/lib/python3.10/encodings/cp720.py system/etc/python/lib/python3.10/encodings/mac_iceland.py system/etc/python/lib/python3.10/encodings/utf_8_sig.py system/etc/python/lib/python3.10/encodings/cp874.py system/etc/python/lib/python3.10/encodings/mac_romanian.py system/etc/python/lib/python3.10/encodings/uu_codec.py system/etc/python/lib/python3.10/encodings/idna.py system/etc/python/lib/python3.10/encodings/mac_roman.py system/etc/python/lib/python3.10/encodings/mac_arabic.py system/etc/python/lib/python3.10/encodings/rot_13.py system/etc/python/lib/python3.10/encodings/undefined.py system/etc/python/lib/python3.10/encodings/latin_1.py system/etc/python/lib/python3.10/encodings/cp424.py system/etc/python/lib/python3.10/encodings/iso8859_2.py system/etc/python/lib/python3.10/encodings/utf_32_be.py system/etc/python/lib/python3.10/encodings/cp1125.py system/etc/python/lib/python3.10/encodings/cp860.py system/etc/python/lib/python3.10/encodings/cp858.py system/etc/python/lib/python3.10/encodings/cp857.py system/etc/python/lib/python3.10/encodings/shift_jis_2004.py system/etc/python/lib/python3.10/encodings/cp1258.py system/etc/python/lib/python3.10/encodings/cp037.py system/etc/python/lib/python3.10/encodings/mac_greek.py system/etc/python/lib/python3.10/encodings/cp864.py system/etc/python/lib/python3.10/encodings/quopri_codec.py system/etc/python/lib/python3.10/encodings/iso2022_jp_2.py system/etc/python/lib/python3.10/encodings/ptcp154.py system/etc/python/lib/python3.10/encodings/gb2312.py system/etc/python/lib/python3.10/encodings/cp862.py system/etc/python/lib/python3.10/encodings/iso2022_jp.py system/etc/python/lib/python3.10/encodings/cp949.py system/etc/python/lib/python3.10/encodings/iso8859_1.py system/etc/python/lib/python3.10/encodings/iso8859_10.py system/etc/python/lib/python3.10/encodings/cp869.py system/etc/python/lib/python3.10/encodings/charmap.py system/etc/python/lib/python3.10/encodings/cp1257.py system/etc/python/lib/python3.10/encodings/cp866.py system/etc/python/lib/python3.10/encodings/big5hkscs.py system/etc/python/lib/python3.10/encodings/shift_jisx0213.py system/etc/python/lib/python3.10/encodings/cp1254.py system/etc/python/lib/python3.10/encodings/base64_codec.py system/etc/python/lib/python3.10/encodings/hz.py system/etc/python/lib/python3.10/encodings/cp1250.py system/etc/python/lib/python3.10/encodings/palmos.py system/etc/python/lib/python3.10/encodings/cp861.py system/etc/python/lib/python3.10/encodings/zlib_codec.py system/etc/python/lib/python3.10/encodings/iso2022_jp_1.py system/etc/python/lib/python3.10/encodings/gbk.py system/etc/python/lib/python3.10/encodings/johab.py system/etc/python/lib/python3.10/encodings/iso8859_11.py system/etc/python/lib/python3.10/encodings/tis_620.py system/etc/python/lib/python3.10/encodings/ascii.py system/etc/python/lib/python3.10/encodings/koi8_u.py system/etc/python/lib/python3.10/encodings/iso8859_8.py system/etc/python/lib/python3.10/encodings/iso2022_jp_ext.py system/etc/python/lib/python3.10/encodings/euc_jp.py system/etc/python/lib/python3.10/encodings/shift_jis.py system/etc/python/lib/python3.10/encodings/cp273.py system/etc/python/lib/python3.10/encodings/punycode.py system/etc/python/lib/python3.10/encodings/utf_7.py system/etc/python/lib/python3.10/encodings/iso2022_kr.py system/etc/python/lib/python3.10/encodings/cp1255.py system/etc/python/lib/python3.10/encodings/iso8859_9.py system/etc/python/lib/python3.10/encodings/iso2022_jp_3.py system/etc/python/lib/python3.10/encodings/koi8_t.py system/etc/python/lib/python3.10/encodings/utf_32.py system/etc/python/lib/python3.10/encodings/cp1026.py system/etc/python/lib/python3.10/encodings/mac_latin2.py system/etc/python/lib/python3.10/encodings/cp856.py system/etc/python/lib/python3.10/encodings/oem.py system/etc/python/lib/python3.10/encodings/mac_croatian.py system/etc/python/lib/python3.10/encodings/hp_roman8.py system/etc/python/lib/python3.10/encodings/__init__.py system/etc/python/lib/python3.10/encodings/cp863.py system/etc/python/lib/python3.10/encodings/koi8_r.py system/etc/python/lib/python3.10/encodings/iso8859_7.py system/etc/python/lib/python3.10/encodings/cp865.py system/etc/python/lib/python3.10/encodings/utf_16.py system/etc/python/lib/python3.10/encodings/cp1253.py system/etc/python/lib/python3.10/encodings/mac_turkish.py system/etc/python/lib/python3.10/encodings/cp1006.py system/etc/python/lib/python3.10/encodings/cp932.py system/etc/python/lib/python3.10/encodings/kz1048.py system/etc/python/lib/python3.10/encodings/cp437.py system/etc/python/lib/python3.10/encodings/raw_unicode_escape.py system/etc/python/lib/python3.10/encodings/utf_8.py system/etc/python/lib/python3.10/encodings/cp1252.py system/etc/python/lib/python3.10/encodings/big5.py system/etc/python/lib/python3.10/encodings/utf_16_be.py system/etc/python/lib/python3.10/encodings/euc_jisx0213.py system/etc/python/lib/python3.10/encodings/iso8859_5.py system/etc/python/lib/python3.10/encodings/mac_farsi.py system/etc/python/lib/python3.10/encodings/unicode_escape.py system/etc/python/lib/python3.10/encodings/cp950.py system/etc/python/lib/python3.10/encodings/euc_kr.py system/etc/python/lib/python3.10/encodings/cp500.py system/etc/python/lib/python3.10/encodings/gb18030.py system/etc/python/lib/python3.10/encodings/iso2022_jp_2004.py system/etc/python/lib/python3.10/encodings/cp1140.py system/etc/python/lib/python3.10/encodings/cp852.py system/etc/python/lib/python3.10/encodings/mac_cyrillic.py system/etc/python/lib/python3.10/encodings/hex_codec.py system/etc/python/lib/python3.10/encodings/iso8859_3.py system/etc/python/lib/python3.10/encodings/mbcs.py system/etc/python/lib/python3.10/encodings/bz2_codec.py system/etc/python/lib/python3.10/encodings/iso8859_16.py system/etc/python/lib/python3.10/encodings/utf_16_le.py system/etc/python/lib/python3.10/encodings/euc_jis_2004.py system/etc/python/lib/python3.10/encodings/iso8859_4.py system/etc/python/lib/python3.10/encodings/iso8859_15.py system/etc/python/lib/python3.10/encodings/iso8859_13.py system/etc/python/lib/python3.10/encodings/cp850.py system/etc/python/lib/python3.10/encodings/cp737.py system/etc/python/lib/python3.10/encodings/iso8859_6.py system/etc/python/lib/python3.10/encodings/cp1256.py system/etc/python/lib/python3.10/encodings/cp875.py system/etc/python/lib/python3.10/encodings/aliases.py system/etc/python/lib/python3.10/encodings/utf_32_le.py system/etc/python/lib/python3.10/site-packages system/lib system/lib/python3.10 system/lib/python3.10/site-packages system/lib/python3.10/lib-dynload system/lib/python3.10/lib-dynload/_struct.cpython-310.so system/lib/python3.10/lib-dynload/binascii.cpython-310.so ┌root@localhost:/data/adb/modules/python3 └─# site-packages configThe Magisk Module contains two directories fo site-packages: ┌shell@localhost:/data/local/tmp/develop/work └─$ python -c 'import site; print(site.getsitepackages())' ['/etc/python/lib/python3.10/site-packages', '/system/lib/python3.10/site-packages'] ┌shell@localhost:/data/local/tmp/develop/work /system/lib/python3.10/site-packages can be used to add python packages to the Magisk Module. /etc/python/lib/python3.10/site-packages is a symbolic link to a directory writable by the user shell that can be used to add site packages to the already installed python: ┌root@localhost:/data/adb/modules/python3 └─# ls -ld /etc/python/lib/python3.10/site-packages lrwxrwxrwx 1 root root 40 1970-03-16 23:40 /etc/python/lib/python3.10/site-packages -> /data/local/tmp/python3.10/site-packages ┌root@localhost:/data/adb/modules/python3 └─# |
python3_3.10.v1.1.0.zip | This Magisk Module contains Python3 3.10 for arm64 CPUs | see here for details |
python3_3.14.v1.1.0.zip |
This Magisk Module
contains Python3 3.14 for arm64 CPUs |
see here for details |
cmake_3.30.4-v2.1.0.zip |
This Magisk Module
contains cmake and ninja binaries for arm64
CPUs |
The Magisk Module installs the executables
in /system/usr/bin and symbolic links in /system/bin. The version of the tools in this Module are: cmake 3.30.4 ninja 1.13.0.git Files in the moduleASUS_I006D:/data/adb/modules/cmake/system/bin # date Fri Dec 13 15:40:47 CET 2024 ASUS_I006D:/data/adb/modules/cmake/system/bin # ASUS_I006D:/data/adb/modules/cmake/system/bin # ls -l total 0 lrwxrwxrwx 1 root root 16 2024-12-13 15:38 cmake -> ../usr/bin/cmake lrwxrwxrwx 1 root root 16 2024-12-13 15:38 cpack -> ../usr/bin/cpack lrwxrwxrwx 1 root root 16 2024-12-13 15:38 ctest -> ../usr/bin/ctest lrwxrwxrwx 1 root root 21 2024-12-13 15:38 ctresalloc -> ../usr/bin/ctresalloc lrwxrwxrwx 1 root root 16 2024-12-13 15:38 ninja -> ../usr/bin/ninja ASUS_I006D:/data/adb/modules/cmake/system/bin # ASUS_I006D:/data/adb/modules/cmake/system/bin # cd ../usr/bin ASUS_I006D:/data/adb/modules/cmake/system/usr/bin # ASUS_I006D:/data/adb/modules/cmake/system/usr/bin # ls -l total 814660 -rwxr-xr-x 1 root root 194349488 2024-12-13 15:38 cmake -rwxr-xr-x 1 root root 198607472 2024-12-13 15:38 cpack -rwxr-xr-x 1 root root 215374192 2024-12-13 15:38 ctest -rwxr-xr-x 1 root root 214896944 2024-12-13 15:38 ctresalloc -rwxr-xr-x 1 root root 10148728 2024-12-13 15:38 ninja ASUS_I006D:/data/adb/modules/cmake/system/usr/bin # ...plus the necessary data files for cmake. DetailsThe file ./system/usr/include/android/api-level.h in the Magisk Module is from the Android NDK r27b To use a different api-level.h set the environment variable PREFIX before starting cmake, e.g: PREFIX=/data/local/tmp/develop/sysroot/usr cmake .. All binaries in the module are either statically linked or dynamically linked but only for the standard libraries from the Android OS. |
autoconf_tools_1.3.1.0.zip | This Magisk Module
contains the autoconf util for Android The executables for autoconf, automake, and libool are all Perl scripts. The other executables in the Magisk Module are are binaries for arm64 CPUs. |
The Magisk Module installs the binaries in
/system/bin. Some of the executables in this module require Perl (/system/bin/perl) Files in the moduleASUS_I006D:/data/adb/modules/autoconf_tools/system/bin # date Wed Nov 13 07:16:03 CET 2024 ASUS_I006D:/data/adb/modules/autoconf_tools/system/bin # ls -l total 1476 lrwxrwxrwx 1 root root 14 2024-11-13 07:14 aclocal -> ./aclocal-1.17 -rwxr-xr-x 1 root root 37744 2024-11-13 07:14 aclocal-1.17 -rwxr-xr-x 1 root root 6708 2024-11-13 07:14 autoconf -rwxr-xr-x 1 root root 9111 2024-11-13 07:14 autoheader -rwxr-xr-x 1 root root 34943 2024-11-13 07:14 autom4te lrwxrwxrwx 1 root root 15 2024-11-13 07:14 automake -> ./automake-1.17 -rwxr-xr-x 1 root root 264364 2024-11-13 07:14 automake-1.17 -rwxr-xr-x 1 root root 26892 2024-11-13 07:14 autoreconf -rwxr-xr-x 1 root root 17196 2024-11-13 07:14 autoscan -rwxr-xr-x 1 root root 34039 2024-11-13 07:14 autoupdate -rwxr-xr-x 1 root root 234520 2024-11-13 07:14 gnupatch -rwxr-xr-x 1 root root 4198 2024-11-13 07:14 ifnames -rwxr-xr-x 1 root root 373710 2024-11-13 07:14 libtool -rwxr-xr-x 1 root root 137168 2024-11-13 07:14 libtoolize -rwxr-xr-x 1 root root 297072 2024-11-13 07:14 m4 ASUS_I006D:/data/adb/modules/autoconf_tools/system/bin # ... and the necessary cata files The version of the tools in the Module are: autoconf 2.72 automake 1.17 m4 1.4.19 libtool 2.5.3 (gnu) patch 2.7 To use an m4 executable in another directory set the environment variable M4 before calling autoconf. |
bison_flex_1.1.0.zip |
This Magisk Module
contains bsion, yacc, and flex for
arm64 CPUs . |
The Magisk Module installs the binaries in
/system/bin. The executables in this module require m4 (/system/bin/m4) Files in the module┌root@localhost:/data/adb/modules/bison_flex/system/bin └─# date Wed Oct 2 12:17:52 CEST 2024 ┌root@localhost:/data/adb/modules/bison_flex/system/bin └─# root@localhost:/data/adb/modules/bison_flex/system/bin └─# ls -ltr total 1460 lrwxrwxrwx 1 root root 4 2024-10-02 12:10 flex++ -> flex -rwxr-xr-x 1 root root 513936 2024-10-02 12:10 flex -rwxr-xr-x 1 root root 4221 2024-10-02 12:10 yacc -rwxr-xr-x 1 root root 969104 2024-10-02 12:10 bison ┌root@localhost:/data/adb/modules/bison_flex/system/bin └─# and the necessary data files The version of the tools in the Module are: bison 3.8 flex 2.6.4 (yacc is a symbolic link to bison) |
openssh_9.9p1.v1.0.0.zip |
This Magisk Module contains OpenSSH for arm64 CPUs | The OpenSSH binaries in this Magisk Module
are compiled without SELinux support see here for details |
openssh_9.9p1.v1.1.0.zip | This Magisk Module contains OpenSSH for arm64 CPUs | The OpenSSH binaries in this Magisk Module
are compiled with SELinux support see here for details |
sqlite3_3.47.0.v1.1.0.zip | This Magisk Module contains sqlite3 for arm64 CPUs | The Magisk Module installs the binaries in
/system/bin. The Magisk Module contains the sqlite3 binary and the library and header files to use it in other programs. Files in the moduleASUS_I006D:/data/adb/modules/sqlite3/system # date Wed Oct 30 22:09:59 CET 2024 ASUS_I006D:/data/adb/modules/sqlite3/system # ASUS_I006D:/data/adb/modules/sqlite3/system # find . . ./usr ./usr/usr ./usr/usr/include ./usr/usr/include/sqlite3ext.h ./usr/usr/include/sqlite3.h ./usr/usr/bin ./usr/usr/bin/sqlite3 ./usr/usr/lib ./usr/usr/lib/libsqlite3.so ./usr/usr/lib/libsqlite3.la ./usr/usr/lib/pkgconfig ./usr/usr/lib/pkgconfig/sqlite3.pc ./usr/usr/lib/libsqlite3.so.0.8.6 ./usr/usr/lib/libsqlite3.so.0 ./usr/usr/lib/libsqlite3.a ./usr/include ./usr/include/sqlite3ext.h ./usr/include/sqlite3.h ./usr/bin ./usr/bin/sqlite3 ./usr/lib ./usr/lib/libsqlite3.la ./usr/lib/pkgconfig ./usr/lib/pkgconfig/sqlite3.pc ./usr/lib/libsqlite3.a ./bin ./bin/sqlite3 ASUS_I006D:/data/adb/modules/sqlite3/system # To only use the sqlite3 binary from the Module use this command: unzip -p ./sqlite3_3.47.0.v1.0.0.zip system/usr/bin/sqlite3>sqlite3 |
bash_5.2-v1.0.0.zip |
This Magisk Module contains bash for arm64, arm, x86, and x86_64 CPUs | The Magisk Module installs the binaries in
/system/bin. The bash executable was compiled using the build script from this repository: https://github.com/Zackptg5/Cross-Compiled-Binaries-Android/tree/master The init file for the bash is /system/etc/bash/bashrc This init script sources the file /data/local/tmp/home/bashrc if it exists |
bash_5.2.0_3-v1.1.1.zip |
This Magisk Module contains bash for arm64 CPUs | The Magisk Module installs the executables
in /system/usr/bin and symbolic links in /system/bin. All patches from the Termux repository for bash: https://github.com/termux/termux-packages/tree/master/packages/bash that are approbiate for a Magisk Module were applied The init file for the bash is /system/etc/bash.bashrc This init script sources the file /data/local/tmp/home/bashrc if it exists The directory used for temporary files is /data/local/tmp/var/tmp The customize script creates this directory if it does not yet exist. |
util-linux_2.40-v1.0.1.zip |
This Magisk Module contains the Linux Utils for arm64 CPUs | This Magisk Module contains Linux utils
from https://github.com/util-linux/util-linux/ The utils are installed in the directory /system/usr/bin/util-linux-binaries a symbolic link to the wrapper script, ./util-linux-wrapper, is created for each of the utils in the directory /system/usr/bin The libraries for the utils are installed in the directory /system/usr/lib/util-linux-libraries Executables in the module┌root@localhost:/data/mkuser/home/root └─# date Tue Oct 15 13:43:43 CEST 2024 ┌root@localhost:/data/mkuser/home/root └─# ┌root@localhost:/data/mkuser/home/root └─# ls -l /system/usr/bin/util-linux-binaries/ total 6324 -rwxr-xr-x 1 root root 23344 2024-10-14 20:07 addpart -rwxr-xr-x 1 root root 29424 2024-10-14 20:07 blkdiscard -rwxr-xr-x 1 root root 125088 2024-10-14 20:07 blkid -rwxr-xr-x 1 root root 30120 2024-10-14 20:07 blkpr -rwxr-xr-x 1 root root 82584 2024-10-14 20:07 blkzone -rwxr-xr-x 1 root root 82688 2024-10-14 20:07 blockdev -rwxr-xr-x 1 root root 141632 2024-10-14 20:07 cal -rwxr-xr-x 1 root root 313568 2024-10-14 20:07 cfdisk -rwxr-xr-x 1 root root 40768 2024-10-14 20:07 chcpu -rwxr-xr-x 1 root root 52992 2024-10-14 20:07 choom -rwxr-xr-x 1 root root 64440 2024-10-14 20:07 chrt -rwxr-xr-x 1 root root 10520 2024-10-14 20:07 colcrt -rwxr-xr-x 1 root root 24616 2024-10-14 20:07 colrm -rwxr-xr-x 1 root root 51640 2024-10-14 20:07 column -rwxr-xr-x 1 root root 36352 2024-10-14 20:07 ctrlaltdel -rwxr-xr-x 1 root root 23184 2024-10-14 20:07 delpart -rwxr-xr-x 1 root root 153864 2024-10-14 20:07 dmesg -rwxr-xr-x 1 root root 40504 2024-10-14 20:07 enosys -rwxr-xr-x 1 root root 6632 2024-10-14 20:07 exch -rwxr-xr-x 1 root root 25072 2024-10-14 20:07 fadvise -rwxr-xr-x 1 root root 29536 2024-10-14 20:07 fallocate -rwxr-xr-x 1 root root 227568 2024-10-14 20:07 fdisk -rwxr-xr-x 1 root root 35968 2024-10-14 20:07 fincore -rwxr-xr-x 1 root root 7608 2024-10-14 20:07 findfs -rwxr-xr-x 1 root root 75880 2024-10-14 20:07 findmnt -rwxr-xr-x 1 root root 30384 2024-10-14 20:07 flock -rwxr-xr-x 1 root root 49312 2024-10-14 20:07 fsck -rwxr-xr-x 1 root root 72168 2024-10-14 20:07 fsck.cramfs -rwxr-xr-x 1 root root 127392 2024-10-14 20:07 fsck.minix -rwxr-xr-x 1 root root 9160 2024-10-14 20:07 fsfreeze -rwxr-xr-x 1 root root 81640 2024-10-14 20:07 fstrim -rwxr-xr-x 1 root root 29208 2024-10-14 20:07 getopt -rwxr-xr-x 1 root root 50184 2024-10-14 20:07 hardlink -rwxr-xr-x 1 root root 124072 2024-10-14 20:07 hexdump -rwxr-xr-x 1 root root 102464 2024-10-14 20:07 hwclock -rwxr-xr-x 1 root root 27320 2024-10-14 20:07 ionice -rwxr-xr-x 1 root root 273848 2024-10-14 20:07 irqtop -rwxr-xr-x 1 root root 25192 2024-10-14 20:07 isosize -rwxr-xr-x 1 root root 32816 2024-10-14 20:07 ldattach lrwxrwxrwx 1 root root 7 1970-04-03 01:46 linux32 -> setarch lrwxrwxrwx 1 root root 7 1970-04-03 01:46 linux64 -> setarch -rwxr-xr-x 1 root root 10448 2024-10-14 20:07 look -rwxr-xr-x 1 root root 120960 2024-10-14 20:07 losetup -rwxr-xr-x 1 root root 295936 2024-10-14 20:07 lsblk -rwxr-xr-x 1 root root 44776 2024-10-14 20:07 lsclocks -rwxr-xr-x 1 root root 145224 2024-10-14 20:07 lscpu -rwxr-xr-x 1 root root 183952 2024-10-14 20:07 lsfd -rwxr-xr-x 1 root root 91448 2024-10-14 20:07 lsipc -rwxr-xr-x 1 root root 37440 2024-10-14 20:07 lsirq -rwxr-xr-x 1 root root 72600 2024-10-14 20:07 lslocks -rwxr-xr-x 1 root root 80128 2024-10-14 20:07 lsns -rwxr-xr-x 1 root root 33072 2024-10-14 20:07 mcookie -rwxr-xr-x 1 root root 9024 2024-10-14 20:07 mkfs -rwxr-xr-x 1 root root 31496 2024-10-14 20:07 mkfs.bfs -rwxr-xr-x 1 root root 86104 2024-10-14 20:07 mkfs.cramfs -rwxr-xr-x 1 root root 116296 2024-10-14 20:07 mkfs.minix -rwxr-xr-x 1 root root 117400 2024-10-14 20:07 mkswap -rwxr-xr-x 1 root root 54304 2024-10-14 20:07 mount -rwxr-xr-x 1 root root 29248 2024-10-14 20:07 namei -rwxr-xr-x 1 root root 73768 2024-10-14 20:07 nsenter -rwxr-xr-x 1 root root 121616 2024-10-14 20:07 partx -rwxr-xr-x 1 root root 56160 2024-10-14 20:07 pipesz -rwxr-xr-x 1 root root 35168 2024-10-14 20:07 prlimit -rwxr-xr-x 1 root root 30152 2024-10-14 20:07 readprofile -rwxr-xr-x 1 root root 13864 2024-10-14 20:07 rename -rwxr-xr-x 1 root root 9856 2024-10-14 20:07 renice -rwxr-xr-x 1 root root 72680 2024-10-14 20:07 resizepart -rwxr-xr-x 1 root root 8976 2024-10-14 20:07 rev -rwxr-xr-x 1 root root 47696 2024-10-14 20:07 rtcwake -rwxr-xr-x 1 root root 68312 2024-10-14 20:07 script -rwxr-xr-x 1 root root 53928 2024-10-14 20:07 scriptlive -rwxr-xr-x 1 root root 39504 2024-10-14 20:07 scriptreplay -rwxr-xr-x 1 root root 80960 2024-10-14 20:07 setarch -rwxr-xr-x 1 root root 8592 2024-10-14 20:07 setpgid -rwxr-xr-x 1 root root 82736 2024-10-14 20:07 setpriv -rwxr-xr-x 1 root root 8872 2024-10-14 20:07 setsid -rwxr-xr-x 1 root root 115584 2024-10-14 20:07 setterm -rwxr-xr-x 1 root root 218696 2024-10-14 20:07 sfdisk -rwxr-xr-x 1 root root 10928 2024-10-14 20:07 swaplabel -rwxr-xr-x 1 root root 15544 2024-10-14 20:07 swapoff -rwxr-xr-x 1 root root 49608 2024-10-14 20:07 swapon -rwxr-xr-x 1 root root 60968 2024-10-14 20:07 taskset -rwxr-xr-x 1 root root 61504 2024-10-14 20:07 uclampset -rwxr-xr-x 1 root root 90576 2024-10-14 20:07 ul -rwxr-xr-x 1 root root 30088 2024-10-14 20:07 umount lrwxrwxrwx 1 root root 7 1970-04-03 01:46 uname26 -> setarch -rwxr-xr-x 1 root root 82472 2024-10-14 20:07 unshare -rwxr-xr-x 1 root root 37224 2024-10-14 20:07 uuidd -rwxr-xr-x 1 root root 28280 2024-10-14 20:07 uuidgen -rwxr-xr-x 1 root root 38888 2024-10-14 20:07 uuidparse -rwxr-xr-x 1 root root 26272 2024-10-14 20:07 waitpid -rwxr-xr-x 1 root root 68944 2024-10-14 20:07 wdctl -rwxr-xr-x 1 root root 24248 2024-10-14 20:07 whereis -rwxr-xr-x 1 root root 42792 2024-10-14 20:07 wipefs -rwxr-xr-x 1 root root 123864 2024-10-14 20:07 zramctl ┌root@localhost:/data/mkuser/home/root └─# Note that some of the programs in this Magisk module are not really useful in Android. The utils useful for Android from this Magisk Module are also in the Magisk Module with the Debug Tools. |
compression_tools_1.1.1.zip | This Magisk Module
contains compression tools for arm64 CPUs |
see here
for details |
binutils_2.43-v1.0.1.zip |
This Magisk Module contains the GNU bin utils for arm64 CPUs | This Magisk Module contains the GNU bin
utils from https://www.gnu.org/software/binutils/ The utils are installed in the directory /system/usr/bin All binary files of the bin utils, except gprofng, are located in the module Executables in the ModuleASUS_I006D:/data/adb/modules/binutils/system/usr/bin # date Sun Oct 27 12:28:40 CET 2024 ASUS_I006D:/data/adb/modules/binutils/system/usr/bin # ls -l total 40020 -rwxr-xr-x 1 root root 2104632 2024-10-27 12:24 addr2line -rwxr-xr-x 1 root root 2147560 2024-10-27 12:24 ar -rwxr-xr-x 1 root root 3976920 2024-10-27 12:24 as -rwxr-xr-x 1 root root 2099256 2024-10-27 12:24 c++filt -rwxr-xr-x 1 root root 59896 2024-10-27 12:24 elfedit -rwxr-xr-x 1 root root 2195064 2024-10-27 12:24 gprof -rwxr-xr-x 1 root root 4735320 2024-10-27 12:24 ld -rwxr-xr-x 1 root root 4735320 2024-10-27 12:24 ld.bfd -rwxr-xr-x 1 root root 2129112 2024-10-27 12:24 nm -rwxr-xr-x 1 root root 2314472 2024-10-27 12:24 objcopy -rwxr-xr-x 1 root root 4332328 2024-10-27 12:24 objdump -rwxr-xr-x 1 root root 2147568 2024-10-27 12:24 ranlib -rwxr-xr-x 1 root root 1427256 2024-10-27 12:24 readelf -rwxr-xr-x 1 root root 2104832 2024-10-27 12:24 size -rwxr-xr-x 1 root root 2108728 2024-10-27 12:24 strings -rwxr-xr-x 1 root root 2314480 2024-10-27 12:24 strip ASUS_I006D:/data/adb/modules/binutils/system/usr/bin # The module also install the Flex library, libfl.so.2.0.0, in /system/lib64. This library is required by some of the binaries in this Magisk Module. |
clang19_19.0.0git-v1.0.2.zip |
This Magisk Module
contains the clang19, make, and all
neccessary files from the Android NDK r27b to
compile binaries and libraries for arm64 CPUs |
see the Documentation
for the Magisk Module with clang19 and the NDK r27b
for details |
create_dynamic_partition_v1.0.0.zip |
This Magisk Module
contains scripts and binaries to add an additional dynamic
partition |
see here
for details |
tcl_9.0-v1.0.0.zip |
This Magisk Module
contains tcl for arm64 CPUs. |
The Magisk Module installs the executables
in /system/usr/bin and symbolic links in /system/bin. The source code for tcl is available here: https://github.com/tcltk/tcl Sample tcl script outputASUS_I006D:/ $ tclsh /data/local/tmp/tclinfo.tclsh tclsh -- infos Running the script /data/local/tmp/tclinfo.tclsh The directory with this script is /data/local/tmp Number of commands that have been executed: 386 Now THIS many commands have been executed: 389 This interpreter is revision level: 9.0 This interpreter is at patch level: 9.0.1 The process id for this program is 14368 There are 0 arguments to this script The name of this script is /data/local/tmp/tclinfo.tclsh ASUS_I006D:/ $ Note: tk requires X11 and is therefore not part of the Magisk Module |
curl_8.11.1-v1.0.0.0.zip
|
This Magisk Module contains curl for arm64 CPUs. | The Magisk Module installs the executable
in /system/usr/bin to avoid overwriting a curl
binary from the OS in /system/bin.DetailsASUS_I006D:/ # /system/usr/bin/curl --version curl 8.11.1-DEV (aarch64-unknown-linux-android) libcurl/8.11.1-DEV OpenSSL/3.3.1 zlib/1.3.1.1-motley brotli/1.0.9 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.0 nghttp2/1.63.0-DEV nghttp3/1.7.0-DEV Build-Date: 2024-11-16 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP UnixSockets zstd ASUS_I006D:/ # curl has been dynamically linked for the OS libraries only, so that the name resolution via DNS works, but no additional libraries are required to use the binary: ASUS_I006D:/ $ ldd /system/usr/bin/curl linux-vdso.so.1 => [vdso] (0x7e15d7b000) libdl.so => /apex/com.android.runtime/lib64/bionic/libdl.so (0x7e10fdd000) libm.so => /apex/com.android.runtime/lib64/bionic/libm.so (0x7e10f85000) libc.so => /apex/com.android.runtime/lib64/bionic/libc.so (0x7e10161000) ASUS_I006D:/ $ The customize script for the Magisk Module creates the file /system/etc/security/ca-certificates.crt with all certificates currently installed on the phone in the directory /system/etc/security/cacerts/ If no certificates are found, curl will use the certificates embedded in the binary. Use the command curl --dump-ca-embed to output the certificates embedded in the binary. Use the curl parameter --cacert to select another bundle file with certificates The module also contains the files necessary to use curl in other programs (libcurl.so and libcurl.a) Config used to compile the binaryconfigure: Configured to build curl/libcurl: Host setup: aarch64-unknown-linux-android Install prefix: /data/develop/android/sysroot Compiler: /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang CFLAGS: --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIE -fPIC -isystem /data/develop/android/sysroot/usr/include -Wno-implicit-function-declaration -Wno-int-conversion -Qunused-arguments -Werror-implicit-function-declaration -O2 CFLAGS extras: CPPFLAGS: --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -fPIE -fPIC -isystem /data/develop/android/sysroot/usr/include -Wno-implicit-function-declaration -Wno-int-conversion -DANDROID -D_GNU_SOURCE -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include -isystem /data/develop/android/sysroot/usr/include LDFLAGS: --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -s -pie -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib curl-config: -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib -L/data/develop/android/sysroot/usr/lib LIBS: -lnghttp3 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lbrotlidec -lbrotlidec -lz -lidn2 -lunistring -ldl -lm curl version: 8.11.1-DEV SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: no (--with-gssapi) GSASL: no (libgsasl not found) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) ca cert bundle: /system/etc/security/ca-certificates.crt (warning: certs not found) ca cert path: /system/etc/security/cacerts (warning: certs not found) ca cert embed: /data/develop/android/source/curl/ca-certificates.crt ca fallback: yes LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled RTMP: no (--with-librtmp) PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (openssl + nghttp3) ECH: no (--enable-ech) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli CAcert HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP UnixSockets zstd The curl binary can also be used without installing the Magisk Module; to extract the curl binary from the ZIP file use the command unzip -p curl_8.11.1-v1.0.0.0.zip system/usr/bin/curl >/tmp/curl |
wget2_2.1.0-v1.0.0.0.zip | This Magisk Module contains wget2 for arm64 CPUs. | The Magisk Module installs the executable
in /system/bin. DetailsASUS_I006D:/ $ wget2 --version GNU Wget2 2.1.0 - multithreaded metalink/file/website downloader +digest +https +ssl/openssl +ipv6 +iri +large-file -nls -ntlm -opie +psl -hsts +iconv +idn2 +zlib +lzma +brotlidec +zstd +bzip2 +lzip +http2 -gpgme Copyright (C) 2012-2015 Tim Ruehsen Copyright (C) 2015-2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://www.gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please send bug reports and questions to <bug-wget@gnu.org>. ASUS_I006D:/ $ wget2 has been dynamically linked for the OS libraries only, so that the name resolution via DNS works, but no additional libraries are required to use the binary: ASUS_I006D:/ $ ldd /system/bin/wget2 linux-vdso.so.1 => [vdso] (0x744fd8e000) libdl.so => /apex/com.android.runtime/lib64/bionic/libdl.so (0x744bb37000) libc.so => /apex/com.android.runtime/lib64/bionic/libc.so (0x744871f000) ASUS_I006D:/ $ The certificate bundle hardcoded in the binary is /system/etc/security/ca-certificates.crt The customize script for the Magisk Module creates the file /system/etc/security/ca-certificates.crt with all certificates currently installed on the phone in the directory /system/etc/security/cacerts/ Use the wget2 parameter --ca-certificate to select another bundle file with certificates The module also contains the files necessary to use wget2 in other programs (libwget.so and libwget.a) Config used to compile wget2configure: Summary of build options: Version: 2.1.0 Host OS: linux-android Install prefix: /data/develop/android/sysroot/usr Compiler: /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang CFlags: -I/data/develop/android/sysroot/usr/include -DPCRE2_STATIC -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/include -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/usr/include -I/data/develop/android/sysroot/usr/include -DNDEBUG --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -O2 -fPIE -fPIC -I/data/develop/android/sysroot/usr/include -Wno-implicit-function-declaration -Wno-int-conversion -O2 -fPIE -fPIC -I/data/develop/android/sysroot/usr/include -Wno-implicit-function-declaration -Wno-int-conversion -UWITH_LIBHSTS -I/data/develop/android/sysroot/usr/include LDFlags: --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot --sysroot /data/develop/android/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot -s -pie -L/data/develop/android/sysroot/usr/lib -s -pie -L/data/develop/android/sysroot/usr/lib Libs: -L/data/develop/android/sysroot/usr/lib -lpcre2-8 -L/data/develop/android/sysroot/usr/lib -lidn2 -llz -L/data/develop/android/sysroot/lib -lzstd -L/data/develop/android/sysroot/usr/lib -R/data/develop/android/sysroot/usr/lib -lbrotlidec -L/data/develop/android/sysroot/usr/lib -llzma -L/data/develop/android/sysroot/usr/lib -lz -lbz2 -L/data/develop/android/sysroot/usr/lib -lnghttp2 -L/data/develop/android/sysroot/usr/lib -lpsl -L/data/develop/android/sysroot/usr/lib -lssl -lcrypto Library types: shared=yes, static=yes Small libraries: no SSL/TLS support: openssl DANE support: no GZIP compression: yes BZIP2 compression: yes LZMA compression: yes Brotli compression: yes Zstd compression: yes Lzip compression: yes IDNA support: IDNA 2008 (libidn2) PSL support: yes HSTS support: no HTTP/2.0 support: yes Documentation: no (disabled) Wget2 docs: Libwget docs: PCRE support: yes, via libpcre2 Tests: Valgrind testing not enabled Assertions: no POSIX xattr: no Microhttpd support: no (CFLAGS: . LIBS: ) Fuzzing build: no, GPGME: no libproxy: no To use the wget2 binary from the Magisk Module without installing the module extract the wget2 binary using this command: unzip -p wget2_2.1.0-v1.0.0.0.zip system/bin/wget2 >/tmp/wget2 |
rsync_3.3.0-43-v1.1.0.zip | This Magisk Module contains rsync for arm64 CPUs. | The Magisk Module installs the executable
in /system/bin. Details
|
magisk_module_template_v1.1.0.zip |
This is an "empty" Magisk Module that can
be used as template for Magisk Modules |
see here
for details |
File |
Content |
Comment |
twrp-3.7.0_12-0-I006D-with_Android14_support.img | in-official (!) TWRP image for the ASUS
Zenfone 8 with support for Android 14 Use at your own risk! |
The source for this TWRP image was checked
out on 25.11.2023. There are additional properties defined in this image: add. properties in the imageASUS_I006D:/ # getprop | grep android_version [ro.product.bootimage.supported_android_version]: [14] [ro.product.odm.supported_android_version]: [14] [ro.product.product.supported_android_version]: [14] [ro.product.system_ext.supported_android_version]: [14] [ro.product.vendor.supported_android_version]: [14] ASUS_I006D:/ # Update 10.01.2024 There is now an official new TWRP version for ASUS Zenfone 8 with Android 14 support: TWRP version 3.7.0.12-1 |
twrp-3.7.0_12-0-I006D-with_Android14_support_and_tools.img |
in-official (!) TWRP image for the ASUS
Zenfone 8 with support for Android 14 and
additional binaries Use at your own risk! |
this is the TWRP image twrp-3.7.0_12-0-I006D-with_Android14_support.img
with these additional binaries:list of add. binariesASUS_I006D:/ # ls -l /system/bin/ed system/bin/gawk /system/bin/gdisk /system/bin/parted /system/bin/sqlite3 /system/bin/vi/system/xbin -rwxrwxrwx 1 root root 744128 2023-11-26 09:08 /system/bin/ed -rwxrwxrwx 1 root root 680612 2023-11-26 09:08 /system/bin/gdisk -rwxrwxrwx 1 root root 470788 2023-11-26 09:08 /system/bin/parted -rwxrwxrwx 1 root root 1714720 2023-11-26 09:08 /system/bin/sqlite3 -rwxrwxrwx 1 root root 4127280 2023-11-26 09:09 /system/bin/vi -rwxrwxrwx 1 root root 1777096 2023-11-26 09:08 system/bin/gawk /system/xbin: total 4500 -rwxrwxrwx 1 root root 938296 2023-11-26 09:06 cpio -rwxrwxrwx 1 root root 960496 2023-11-26 09:06 find -rwxrwxrwx 1 root root 1486120 2023-11-26 09:06 grep -rwxrwxrwx 1 root root 1216256 2023-11-26 09:06 tar ASUS_I006D:/ # This image also defines these two new properties: add. propertiesASUS_I006D:/ # getprop ro.product.type enhanced ASUS_I006D:/ # ASUS_I006D:/ # getprop ro.source_checkout_date 2023-11-25 ASUS_I006D:/ # |
twrp-3.7.0_12-1-I006D-enhanced.img | in-official (!) TWRP image for the
ASUS Zenfone 8 with support for Android 14 Use at your own risk! |
this is a copy of the official twrp-3.7.0_12-1-I006D.img
with some additional files:list of add. binariesASUS_I006D:/system/bin # pwd /system/bin ASUS_I006D:/system/bin # ls -l bootctl* lp* ed gawk gdisk parted sqlite3 vi* /system/xbin -rwxr-x--- 1 root root 34112 2024-01-10 19:54 bootctl -rwxr-x--- 1 root root 19832 2024-01-10 19:54 bootctl.bin -rwxr-xr-x 1 root root 744128 2024-01-10 19:54 ed -rwxr-xr-x 1 root root 1777096 2024-01-10 19:54 gawk -rwxr-xr-x 1 root root 680612 2024-01-10 19:54 gdisk -rwxr-xr-x 1 root root 19872 2024-01-10 19:54 lpdump -rwxr-xr-x 1 root root 31424 2024-01-10 19:54 lpdumpd -rwxr-xr-x 1 root root 100712 2024-01-10 19:54 lptools -rwxr-xr-x 1 root root 470788 2024-01-10 19:54 parted -rwxr-xr-x 1 root root 1714720 2024-01-10 19:54 sqlite3 -rwxr-xr-x 1 root root 4127280 2024-01-10 19:54 vi /system/xbin: total 4500 -rwxr-xr-x 1 root root 938296 2024-01-10 19:54 cpio -rwxr-xr-x 1 root root 960496 2024-01-10 19:54 find -rwxr-xr-x 1 root root 1486120 2024-01-10 19:54 grep -rwxr-xr-x 1 root root 1216256 2024-01-10 19:54 tar ASUS_I006D:/system/bin # see How to add additional files to an TWRP image for how to add additional files to a TWRP image |
twrp_3.7.0_12-0-I006D_for_lineageOS20-2024.img |
26.04.2024 Looks like this dirty created image only works for a specific LineageOS build. Therefor I removed the file. If you need this kind of TWRP image please create it yourself using the instructions from this post: How to use TWRP if LineageOS 20.x is installed (see also How to create a TWRP image for LineageOS based ROMs using a script) |
|
twrp_3.7.1.12-1_ASUS_Zenfone8_2024-12-02_extended.img | in-official (!) TWRP image for the ASUS
Zenfone 8 with additional binaries Use at your own risk! |
The source for this TWRP image was
checked out on 10.09.2024. Additional binaries and files in the image are: list of add. binaries and files
|
OrangeFox-Unofficial-I006D-2024-09-12.img OrangeFox-Unofficial-I006D-2024-09-12.zip |
in-official (!) OrangeFox
Recovery for the ASUS Zenfone 8 Use at your own risk! |
The source for the OrangeFox recovery
sources was checked out 10.09.204. The image was compiled with these custom build vars: Custom build varsexport FOX_REPLACE_BUSYBOX_PS=1 export FOX_REPLACE_TOOLBOX_GETPROP=1 export FOX_USE_TAR_BINARY=1 export FOX_USE_SED_BINARY=1 export FOX_USE_ZIP_BINARY=1 export FOX_USE_NANO_EDITOR=1 export FOX_USE_BASH_SHELL=1 export OF_USE_MAGISKBOOT=1 export OF_USE_MAGISKBOOT_FOR_ALL_PATCHES=1 export FOX_DISABLE_APP_MANAGER=0 export FOX_DELETE_AROMAFM=1 export TARGET_DEVICE_ALT="gssi,ASUS_I006D" seee https://gitlab.com/OrangeFox/vendor/recovery/-/blob/master/orangefox_build_vars.txt for a description of the custom build vars see https://wiki.orangefox.tech for infos about the OrangeFox recovery see How to compile the OrangeFox Recovery for the ASUS Zenfone 8 for instructions to create the image |
URL |
App |
Comment |
https://f-droid.org/ | F-Droid |
"F-Droid is an installable catalogue of
FOSS (Free and Open Source Software) applications for the
Android platform. The client makes it easy to browse,
install, and keep track of updates on your device" |
https://github.com/x13a/Sentry?tab=readme-ov-file | Sentry |
"Tiny app to enforce security policies of
your device." This app can be used to disable the SafeMode |
https://github.com/gibcheesepuffs/Switch-My-Slot-Android | Switch My Slot |
app with a GUI for bootctl |
https://hax4us.github.io/2021-11-22-install-android-sdk-in-termux/ |
Instructions to install the SDK in the Android OS | |
https://github.com/lzhiyong/termux-ndk |
Android ndk for Termux (only supports aarch64 CPUs and Android 9 or above) | |
https://github.com/Lzhiyong/termux-ndk/releases/download/android-sdk/android-sdk-aarch64.zip |
Android SDK compiled for aarch64
CPUs |
|
https://github.com/lzhiyong/android-sdk-tools/releases/download/34.0.3/android-sdk-tools-static-aarch64.zip
|
binaries from the Android SDK for aarch64
CPUs There are also zip available files with the binaries for arm (32 Bit), i686, and x86_64 CPUs on this page Note that I created a Magisk Module with the binaries for aarch64 CPUs from this zip file -- see here. |
Contents of the zip file[ OmniRom 14 Dev - xtrnaw7@t15g /data/img/android/aarch64 ] $ unzip -t android-sdk-tools-static-aarch64.zip Archive: android-sdk-tools-static-aarch64.zip testing: build-tools/aapt OK testing: build-tools/aapt2 OK testing: build-tools/aidl OK testing: build-tools/zipalign OK testing: build-tools/dexdump OK testing: build-tools/split-select OK testing: platform-tools/adb OK testing: platform-tools/fastboot OK testing: platform-tools/sqlite3 OK testing: platform-tools/dmtracedump OK testing: platform-tools/etc1tool OK testing: platform-tools/hprof-conv OK testing: platform-tools/e2fsdroid OK testing: platform-tools/sload_f2fs OK testing: platform-tools/mke2fs OK testing: platform-tools/make_f2fs OK testing: platform-tools/make_f2fs_casefold OK No errors detected in compressed data of android-sdk-tools-static-aarch64.zip. [ OmniRom 14 Dev - xtrnaw7@t15g /data/img/android/aarch64 ] $ |
URL |
Content |
Comment |
https://github.com/topjohnwu/Magisk |
Magisk home page |
Magisk the must have for every Android
phone |
https://topjohnwu.github.io/Magisk/install.html |
Instructions to install Magisk |
|
https://topjohnwu.github.io/Magisk/changes.html |
Magisk changelog |
|
https://topjohnwu.github.io/Magisk/ |
Magisk documentation |
|
https://topjohnwu.github.io/Magisk/guides.html |
Magisk developer guide |
|
https://topjohnwu.github.io/Magisk/tools.html |
Magisk Tools documentation |
|
https://www.didgeridoohan.com/magisk/Magisk |
Magisk TroubleShooting Guide |
|
https://www.didgeridoohan.com/magisk/MagiskModuleIssues | Hints for issues with Magisk Modules | |
https://xdaforums.com/t/magisk-general-support-discussion.3432382/ |
General Magisk Support forum on XDA |
|
https://github.com/DerGoogler/MMRL |
Magisk Module Repo Loader -- a Magisk
Module Manager |
The MMRL requries this MagiskModule https://github.com/DerGoogler/MMRL-CLI |
https://github.com/Fox2Code/FoxMagiskModuleManager |
Fox Magisk ModuleManager |
|
https://github.com/MRepoApp/magisk-modules-repo-util |
A util for creating a Magisk Module
repository |
|
https://gist.github.com/niikoo/3f6bd13a69f2d68f3dd51cc667e79bdc | A startup script for Magisk to store the
logcat messages |
|
https://github.com/topjohnwu/zygisk-module-sample |
zygisk sample module ; can be used start
Zygisk modules |
|
https://xdaforums.com/t/magisk-general-support-discussion.3432382/page-2776#post-88438781 |
post about the Evolution of the Android and
Magisk booting process and architecture |
|
https://infosecwriteups.com/adding-root-certificate-to-android-with-magisk-module-92493a7e9e4f?gi=fd1225db2b4a |
Adding root certificates using a Magisk
module |
|
https://topjohnwu.github.io/Magisk/build.html |
Instructions to build Magisk from source |
Note: It's important to use git clone --recurse-submodules
https://github.com/topjohnwu/Magisk.git to clone the repository see also the instructions for compiling Magisk here. |
https://github.com/topjohnwu/ondk/releases |
Android NDK tar files necessary to build
Magisk |
"Oxidized NDK (ONDK) is an unofficial
repackaged Android NDK that includes a Rust toolchain." |
URL |
Content |
Comment |
https://xdaforums.com/t/collection-of-magisk-modules-v2.3575758/ |
An XDA thread with a collection of Magisk
Modules |
|
https://github.com/Magisk-Modules-Repo/ |
Repository with Magisk Modules |
|
https://github.com/Magisk-Modules-Alt-Repo/ | Another repository with Magisk Modules | |
https://apt.izzysoft.de/magisk/ |
Repository with Magisk Modules | |
Repository with Magisk Modules with fonts |
||
https://github.com/mrh929/magisk-wifiadb |
A Magisk module to automatically enable adb
via WiFI |
|
https://github.com/anasfanani/magisk-autoboot |
"A Magisk module designed to enable automatic booting of your Android device when it's connected to a charger or USB." | |
https://github.com/anasfanani/Adb-Root-Enabler | A Magisk module to disable the
authentication for the adb daemon |
|
https://github.com/tiann/adb_root |
A Magisk module to start the adbd as root
user |
|
https://github.com/Magisk-Modules-Alt-Repo/magisk_overlayfs | Magisk Module to create a writable overlay filesystem for the read-only filesystems | |
https://github.com/Magisk-Modules-Alt-Repo/NoProcStatRestriction | Magisk Module to allow access to /proc/stat for everyone again | This Magisk module can be used as example
for how to apply a SELinux policy via Magisk Module |
https://github.com/sn-00-x/fakestore2playstore/tree/master | A Magisk Module to replace the Fakestore with a patched Playstore | |
https://sourceforge.net/projects/magiskgapps/files/android-13-ALPHA/24.2.23/ |
Magisk Modules with Google Apps |
|
https://github.com/Magisk-Modules-Repo/ssh | Magisk module with ssh and rsync | |
https://github.com/evdenis/disk |
Disk tools for Android |
ASUS_I006D:/ # ls -l
/data/adb/modules/disk/system/bin total 7924 -rwxr-xr-x 1 root root 1788544 2024-07-24 13:23 cgdisk -rwxr-xr-x 1 root root 547924 2024-07-24 13:23 fdisk -rwxr-xr-x 1 root root 1459440 2024-07-24 13:23 fixparts -rwxr-xr-x 1 root root 1566120 2024-07-24 13:23 gdisk -rwxr-xr-x 1 root shell 602784 2024-07-24 13:23 parted -rwxr-xr-x 1 root root 542056 2024-07-24 13:23 sfdisk -rwxr-xr-x 1 root shell 1591192 2024-07-24 13:23 sgdisk ASUS_I006D:/ # |
https://github.com/S-trace/tcpdump_static_aarch64 |
Magisk module with tcpdump for Android | version v4.9.2, static build |
https://github.com/henriknelson/git-magisk-module |
Magisk module with git for Android | version 2.30.2 The scripts from this package need /system/bin/bash |
https://github.com/ianmacd/bash-aarch64 |
Magisk module with bash for Android | version 5.0.2 |
https://github.com/Magisk-Modules-Alt-Repo/mkshrc |
Magisk module with mksh for Android | |
https://github.com/partcyborg/zsh_arm64_magisk |
Magisk module with zsh for Android | The module does not work out of the box |
https://github.com/henriknelson/opensshd-magisk-module |
Magisk module with opensshd for Android | version v8.4p1 |
https://github.com/FerryAr/e2fsprogs-arm/releases/tag/v1.45.6 |
Magisk module with extfs tools for Android: badblocks chattr dumpe2fs e2fsck e2image e2undo fsck lsattr mklost+found tune2fs base_device debugfs e2freefrag e2fuzz e2initrd_helper filefrag logsave mke2fs resize2fs |
|
https://apt.izzysoft.de/magisk/modules/SQLite3UniversalBinaries/1.5_15.zip Source: https://gitlab.com/adrian.m.miller/sqlite3universalbinaries |
Magisk module with sqlite3 for Android | version 3.22 |
https://github.com/Magisk-Modules-Alt-Repo/sqlite3 |
Magisk module with sqlite3 for Android | version 3.46 |
https://github.com/Magisk-Modules-Alt-Repo/ToyBox-Ext |
Magisk module with toybox with additional
appletsList of commands
|
|
https://github.com/Magisk-Modules-Repo/ccbins https://github.com/Zackptg5/Cross-Compiled-Binaries-Android/tree/master |
Cross Compiled binaries for Android |
|
https://github.com/Magisk-Modules-Repo/adb-ndk |
Source for a Magisk Module with fastboot
and adb |
Note that root access is required to start
the adb from this Magisk module |
https://github.com/Zackptg5/Cross-Compiled-Binaries-Android | Source for the Magisk Module with various cross compiled binaries for Android | This zip file contains the binaries for different architectures[ OmniRomDev - xtrnaw7@t15g /data/develop/android/NewModules/Cross-Compiled-Binaries-Android-master ] $ ls -l bash/* -rwxr-xr-x. 1 xtrnaw7 xtrnaw7 1541516 Sep 15 23:50 bash/bash-arm -rwxr-xr-x. 1 xtrnaw7 xtrnaw7 1838864 Sep 15 23:50 bash/bash-arm64 -rwxr-xr-x. 1 xtrnaw7 xtrnaw7 1963936 Sep 15 23:50 bash/bash-x64 -rwxr-xr-x. 1 xtrnaw7 xtrnaw7 1883188 Sep 15 23:50 bash/bash-x86 -rwxr-xr-x. 1 xtrnaw7 xtrnaw7 3072 Sep 15 23:50 bash/etc.zip [ OmniRomDev - xtrnaw7@t15g /data/develop/android/NewModules/Cross-Compiled-Binaries-Android-master ] $ [ OmniRomDev - xtrnaw7@t15g /data/develop/android/NewModules/Cross-Compiled-Binaries-Android-master ] $ file bash/* bash/bash-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped bash/bash-arm64: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped bash/bash-x64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped bash/bash-x86: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped bash/etc.zip: Zip archive data, at least v2.0 to extract, compression method=store [ OmniRomDev - xtrnaw7@t15g /data/develop/android/NewModules/Cross-Compiled-Binaries-Android-master ] $ |
https://github.com/Magisk-Modules-Repo/ccbins |
Magisk Module with a script to download
various Unix tools compiled for Android from this repo: https://github.com/Zackptg5/Cross-Compiled-Binaries-Android |
not compatible with Magisk v27+ according
to the author |
https://github.com/Googlers-Repo/gcc/ |
GCC toolchain for Android |
As of 26.09.2024 the Magisk Module installs
this gcc version: ┌shell@localhost:/data/local/tmp/develop/ncurses-6.3 └─$ gcc --version aarch64-linux-android-gcc (GCC) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ┌shell@localhost:/data/local/tmp/develop/ncurses-6.3 └─$ see Compiling C programs in Android using gcc for usage instructions for this module |
https://github.com/affggh/Magisk_patcher |
Python GUI to patch a boot image file with
Magisk |
The tool needs a Magisk apk file. In my
tests on Fedora 41 the download of the Magisk apk from
within the tool failed. But the patcher worked after I
copied the magisk.apk file manually into the directory ./prebuild
in the directroy with the Magisk_patcher. Note that as of 14.11.2024 the Magisk Patcher v4.0.0 does not work with the apk file with Magisk v28-0. |
URL |
Content |
Comment |
https://omnirom.org/ |
OmniROM Homage |
OmniROM is Custom ROM for Android phones |
https://xdaforums.com/c/omnirom.2601/ | OmniROM Forums on XDA |
Most of the forums are outdated; it seems
that the forums are not used anymore |
https://github.com/omnirom/android |
Github repositories for OmniROM |
|
https://gitlab.com/omnirom |
Gitlab repositories for OmniROM |
|
https://github.com/omnirom/android_prebuilts_prebuiltapks | List of MicroG packages in the OmniROM image with MicroG | |
https://github.com/omnirom/android_vendor_omni/blob/android-14.0/utils/aosp-forked-list |
AOSP repositories forked for OmniROM |
These repositories must be merged with the
original AOSP repositories to apply the Android Security
Updates to the OmniROM |
https://github.com/omnirom/android_vendor_omni/blob/android-14.0/utils/aosp-merge.sh |
Script to merge an Android Security Update
to the local OmniROM repositories |
|
https://www.inovex.de/de/blog/aosp-advanced-development-tricks/ |
ASOP : Advanced Development tricks |
|
https://github.com/omnirom/android/tree/android-15 |
Github repositories for OmniROM 15 |
|
https://gitlab.com/omnirom/android_vendor_gapps |
Repositories with GApps for OmniROM |
|
URL |
Content |
Comment |
https://microg.org/ |
MicroG Homepage |
|
https://github.com/microg |
MicroG source on Github |
|
https://github.com/microg/GmsCore/wiki |
MicroG Wiki |
|
https://github.com/Psk-Ita/microG-GApps | Magisk module with MicroG with a patched Playstore | as of 08.07.2024 : the MicroG version is v0.2.29.233013 the Playstore version is 41.7.16-31 see How to install a more recent version of the Playstore in OmniROM |
https://github.com/nift4/microg_installer_revived/ | Magisk module with MicroG | |
https://github.com/micro5k/microg-unofficial-installer |
"microG unofficial installer is a flashable zip created for a simple installation of microG on Android." | the support thread for this installer in
XDA is available here: https://xdaforums.com/t/mod-flashable-microg-unofficial-installer.3432360/ Note: Version v1.3.1-beta successfully tested on plain OmniROM 14 without MicroG and GAPPS |
https://github.com/microg/GmsCore/releases |
MicroG releases |
URL |
Content |
Comment |
https://gerrit.googlesource.com/git-repo/ |
repo script for buidling your own CustomROM |
|
https://source.android.com/docs/setup/reference/repo |
repo command reference |
|
https://github.com/omnirom/android |
Getting started doc for the OmniROM |
|
https://github.com/omnirom |
Repositories for building the OmniROM |
|
https://developer.android.com/studio/command-line/ |
Documentation for the command line tools
from the Android Studio |
|
https://developer.android.com/studio/command-line/apksigner | Documentation for the apk signer from the Android studio | |
https://developer.android.com/studio/command-line/zipalign | Documentation for zipalign (zipalign must
be used to align an APK file) |
zipalign is part of the Android Studio |
https://developer.android.com/studio |
Android Studio Download |
The link to download the Android Studio
Command line tools is on the bottom of the page |
https://developer.android.com/ndk/downloads | NDK Downloads |
|
https://github.com/android/ndk/wiki/Unsupported-Downloads |
NDK Downloads (old versions) |
|
https://developer.android.com/tools#tools-sdk |
Android Studio Command line tools |
|
https://github.com/omnirom/android_prebuilts_prebuiltapks |
Prebuild MicroG packages for the OmniROM |
|
https://github.com/DonkeyCoyote/proprietary_vendor_asus | Vendor packages for the ASUS Zenfone 8 (neccessary for building your own CustomROM) | |
https://github.com/omnirom/android_device_asus_zenfone8/tree/android-12.1 | Device tree for the ASUS Zenfone 8 (neccessary for building your own CustomROM) | |
https://github.com/TheMuppets/ |
Vendor packages for various devices |
|
https://github.com/DonkeyCoyote/ |
Vendor packages for various devices | |
https://github.com/aosp-mirror/platform_build/tree/android12-platform-release/target/product/security |
How to create a the ssl keys for a
CustomROM image |
|
https://source.android.com/docs/core/architecture/configuration/add-system-properties | How to define system properties |
|
https://android.googlesource.com/platform/system/sepolicy/+/master/private/property_contexts |
defined SELinux contexts |
|
https://android.googlesource.com/platform/system/core/+/master/init/README.md |
Android Init language |
|
https://source.android.com/devices/tech/ota/sign_builds | Instructions to create certificates for an
OS image |
|
https://source.android.com/docs/security/bulletin |
Android Security Bulletins |
|
https://github.com/HyperN00B/Security_Patch_Merge_Helper |
"This is a helper script made by me for Android Custom ROMs This script wil let you merge the selected security patch into the selected source code. This script only works with Custom ROM sources." | |
https://source.android.com/docs/setup/reference/build-numbers |
Android code names, tags, and build numbers
("Patchlevel") |
|
https://github.com/git-lfs/git-lfs |
git command line extension lfs -- this is
necessary to sync the repositories for OmniROM 14 |
|
https://github.com/falk-werner/zipsign |
Tool to sign ZIP files using a SSL
certificate |
googletest (see below) is required to
compile zipsign |
https://github.com/google/googletest |
googletest is required to compile zipsign |
|
https://wiki.lineageos.org/verifying-builds |
A tool verify the signature of a ZIP file
with an ROM for an Android device |
|
https://developer.android.com/ndk/guides/android_mk |
Documentation for the syntax of Android.mk
files |
|
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/ANDROID-MK.TXT | Documentation for the syntax of Android.mk files | |
https://github.com/ThankYouMario |
Repository for Android |
|
https://github.com/ThankYouMario/android_vendor_google_pixel |
Repository with GApps for Android |
URL |
Content |
Comment |
http://java-decompiler.github.io/#jd-gui-download |
Java Decompiler |
(jar file with GUI) |
https://github.com/pxb1988/dex2jar/blob/2.x/README.md | Tools to work with android .dex and java
.class files
|
|
https://xdaforums.com/t/tool-imjtool-unpack-and-extract-a-variety-of-ota-images-from-various-vendors.4078159/ http://newandroidbook.com/tools/imjtool.html |
mjtool - Unpack and extract a variety of OTA images from various vendors | |
https://xdaforums.com/t/tool-android-image-kitchen-unpack-repack-kernel-ramdisk-win-android-linux-mac.2073775/ | Android Image Kitchen - Unpack/Repack Kernel Ramdisk [Win/Android/Linux/Mac] | |
https://github.com/hzw1199/xml2axml/releases | Convert compiled XML files used in apk files to plain XML files and vice versa | |
https://xdaforums.com/t/linux-guide-rom-payload-image-dump.4196055/ |
ROM payload image dumper - a python script to extract the images for the file payload.bin images for Android 12 | |
https://github.com/ssut/payload-dumper-go | An android OTA payload dumper written in Go. | |
https://shatter-box.com/knowledgebase/android-apk-signing-tool-apk-signer/ |
Android APK Signing Tool (APK Signer) |
Note; Android APK Signing Tool (APK Signer) Use the apk signer from the Android studio |
https://ibotpeaches.github.io/Apktool/ | A tool for reverse engineering Android apk
files |
|
https://xdaforums.com/t/tool-tickle-my-android-decompile-recompile-with-ease.1633333/ |
"TMA is a quick, powerful and easy-to-use
tool that uses a piece of java called "apktool" to
decompile and recompile Android app's. " |
|
http://jsharkey.org/logcat/ |
python script that reformats the logcat output into a colorful stream that is much easier to visually follow. | this script is for Python 2.x |
|
||
https://www.temblast.com/android.htm |
Android applications, patches, and tools The binaries for the PC on this page are for Windows |
|
https://github.com/radareorg/radare2 |
Disassembler with support for ARM CPUs |
|
https://github.com/theopolis/uefi-firmware-parser | UEFI Firmware parser |
|
https://github.com/Genymobile/scrcpy |
"This application mirrors Android devices (video and audio) connected via USB or over TCP/IP, and allows to control the device with the keyboard and the mouse of the computer. It does not require any root access. It works on Linux, Windows and macOS." | very useful |
https://github.com/GameTheory-/mktool |
"mktool is for unpacking & repacking
the android boot, recovery, or loki images and also for
loki patching.
|
|
https://github.com/twrpdtgen/twrpdtgen |
"Create a TWRP-compatible device tree only
from an Android recovery image (or a boot image if the
device uses non-dynamic partitions A/B) of your device's
stock ROM It has been confirmed that this script supports
images built starting from Android 4.4 up to Android 12" |
|
https://github.com/sebaubuntu-python/aospdtgen |
"Create a LineageOS-compatible device tree
from an Android stock ROM dump (made with dumpyara). This
script supports any Android firmware from a Treble-enabled
device (Higher than Android 8.0 and with VNDK enabled, you
can check it with Treble Info or with adb shell getprop
ro.treble.enabled). For pre-Treble devices please use
twrpdtgen." |
|
https://github.com/sebaubuntu-python/dumpyara |
dumpyara : "Android firmware dumper" - a
tool to extract files from ROM images for trebled-enabled
devices. |
|
https://github.com/XayahSuSuSu/Android-DataBackup https://f-droid.org/zh_Hans/packages/com.xayah.databackup.foss/ |
Backup tool for Android (needs root access) |
|
https://github.com/Heydarchi/SELinux-Explorer | SELinux explorer (python script for the PC): | |
https://github.com/xmikos/setools-android | setools ported to Android: - I created a Magisk module with these binaries - see the list of Magisk modules below | |
https://github.com/OpenDarwin-CVS/SEDarwin/blob/master/sedarwin7/src/sedarwin/policycoreutils/audit2allow/audit2allow.perl | Perl script to create SELinux tools -- can
be used instead of the Linux executable audit2allow. |
URL |
Content |
Comment |
https://www.asus.com/de/Mobile/Phones/ZenFone/Zenfone-8/HelpDesk_BIOS/ |
ASUS Zenfone 8 Firmware Download |
As of 17.08.2023 ASUS removed all image files with OS images for the Zenfone 8 from their website |
https://www.firmware27.info/2023/03/asus-zenfone-8-zs590ks-flash-file.html |
inofficial page to download ASUS
Zenfone 8 Firmware |
17.08.2023 Most of the download links on this page are links to the original firmware page from ASUS and do not work anymore. The last two links are links to other webserver and still work as of 17.08.2023. See the section ASUS Zenfone 8 FIrmware Download with my comments regarding the image files from this page. |
https://xdaforums.com/t/zenfone-8-firmware-ota-collection.4620171/ |
XDA Forum for ASUS Zenfone 8 Firmware
Download Collection |
|
https://twrp.me/asus/zenfone8.html |
official TWRP for the ASUS Zenfone 8 |
Note that as of 09.01.2024 the
official TWRP 3.7.0_12 for the ASUS Zenfone 8 does not
support mouting the /data partition from Android 14 based
OSse |
https://build.twrp.me/twrp-3.7.0_12-1_TEST-I006D.img |
TWRP for the ASUS Zenfone 8 with support
for mounting /data in Android 14 based OSes |
link checked at 09.01.2024;
successfully mounted in the /data partition of Omnirom 14
booting this image |
https://zentalk.asus.com/en/discussion/27136/unlock-relock-bootloader-unofficially-for-zenfone-3 |
Instructions to unlock the ASUS Zenfone 8 |
|
https://xdaforums.com/f/asus-zenfone-8.12291/ | XDA Forums for the ASUS Zenfone 8 |
|
https://xdaforums.com/t/recovery-twrp-for-zenfone-8.4329139/ |
XDA Forum for TWRP for the ASUS Zenfone 8 |
|
https://xdaforums.com/t/full-recover-to-stock-if-things-went-really-bad.4337467/ |
Instructions to install the Android raw
image from ASUS on the ASUS Zenfone 8 |
|
https://www.asus.com/Content/Android-13-Beta/ |
Android 13 Beta and a raw image for Android
12 The image for Android 13 Beta is also a raw image. |
As of 17.08.2023 ASUS removed all
image files with OS images for the Zenfone 8 from
their website |
https://www.asus.com/Content/Android-12-Beta/ |
Android 12 Beta and a raw image for Android 11 | As of 17.08.2023 ASUS removed all
image files with OS images for the Zenfone 8 from
their website |
https://dl.omnirom.org/zenfone8/ | OmniROM Images for the ASUS Zenfone 8 | |
https://xdaforums.com/t/recovery-twrp-for-zenfone-8.4329139/ |
XDA Support thread for TWRP for ASUS
Zenfone 8 |
|
https://gist.github.com/shakalaca/bbc439916f389a7275083f90539059de |
fastboot oem comands for the ASUS ROG Phone
II Most of the also work for the ASUS Zenfone 8 |
|
https://xdaforums.com/t/cant-unlock-bootloader-failed-to-unlock-your-device-please-try-again-later-24803.4586429/ |
XDA Thread about unlocking ASUS phones
without using the ASUS unlock tool |
As of 23.09.2023 there is not yet a
solution to unlock an ASUS phone without the ASUS unlock
tool |
https://www.pentestpartners.com/security-blog/breaking-the-android-bootloader-on-the-qualcomm-snapdragon-660/ |
Breaking the Android Bootloader on the
Qualcomm Snapdragon 660 |
|
https://worthdoingbadly.com/qcomxbl/ |
Comparing Qualcomm's XBL UEFI bootloaders
on Snapdragon 820, 835, and 845 |
A blog entry about the bootloader for
Android devices with Qualcomm CPUs |
https://xdaforums.com/t/unofficial-bootloader-unlocking-2024-01-06-without-asus-server-q3-2023-muhahahaha.4649465/#post-89260224 https://xdaforums.com/t/unlocking-the-bootloader-and-rooting.4649239/post-89258039 https://mitmproxy.org/ |
XDA threads about how to unlock an ASUS
phone now that the original apk and webserver used to
official unlock the phone is not available anymore |
URL |
Content |
Comment |
https://omnirom.org/ | OmniROM |
|
https://lineageos.org/ | LineageOS Homepage | |
https://lineage.microg.org/ |
LineageOS with MicroG Homepage |
|
https://download.lineageos.org/devices/sake/builds | Images and Recoveries for LineageOS | LineageOS is a Custom ROM for Android ; the Lineage Recovery image can be used to install the OmniROM on an Android phone |
https://wiki.lineageos.org/devices/sake/install? | Instructions to install the Recovery from the LineageOS | |
https://doc.e.foundation/ https://doc.e.foundation/devices/sake |
/e/ |
sake is a code name for the ASUS
Zenfone 8 |
https://xdaforums.com/t/rom-preview-sake-13-statixos-v6-0.4500497/ |
StatiXOS |
development stopped in July 2024; last
release Android 14 with patchlevel 07/2024
-- see https://xdaforums.com/t/closed-rom-upsidedowncake-sake-14-statixos-v7-10.4500497/#post-87515011 |
https://github.com/StatiXOS/android_manifest |
Manifests and instructions to build the
StatixOS |
|
https://github.com/StatiXOS/android_manifest |
||
https://download.lineage.microg.org/sake/ |
LineageOS with MircoG for the ASUS Zenfone
8 |
|
https://github.com/mikooomich/android_device_asus_sake/releases |
un-official LineageOS 21.x Images for the
ASUS Zenfone 8 |
|
https://libremobileos.com/lmodroid |
LMODroid |
|
https://arrowos.net/ |
ArrowOS |
support is discontinued; latest release is
Android 11 based from 01/2022 |
URL |
Content |
Comment |
https://dl.omnirom.org/tmp/rpi4/ |
OmniROM images for the Raspberry PI 4 |
OmniROM 13 is the last version for the
Raspberry PI 4; there are no images for the Raspberry PI 5 I successfully installed OmniROM 13 on my Raspberry PI4 using the latest image from this site. |
https://github.com/raspberry-vanilla/android_local_manifest?tab=readme-ov-file |
Manifests and instructions to create an
Android image for the Raspberry PI 4 |
not tested yet |
https://github.com/omnirom/android_device_brcm_rpi4 |
Device tree for the Raspberry PI 4 |
|
https://rsaxvc.net/blog/2021/7/15/Installing_Magisk_on_Raspberry_Pi_4_OmniROM_Android_11.html |
Instructions to install Magisk in Android
running ona Raspberry PI 4 |
I successfully installed Magisk in Android on
my Raspberry PI 4 using these instructions |
https://github.com/android-rpi/device_arpi_rpi4 |
Repository for building Android for the
Raspberry PI 4 |
not tested yet |
https://github.com/raspberry-vanilla/android_local_manifest?tab=readme-ov-file |
Repository for building Android for the Raspberry PI 4 | not tested yet |