diff --git a/sas-creator/files/apex-setup.rc b/sas-creator/files/apex-setup.rc new file mode 100644 index 00000000..59347f90 --- /dev/null +++ b/sas-creator/files/apex-setup.rc @@ -0,0 +1,173 @@ +import /system/etc/init/hw/init.${ro.zygote}.rc + +on early-fs + export LD_PRELOAD : + mkdir /mnt/runtime/full 0755 root root + mkdir /mnt/runtime/full/self 0755 root root + mkdir /apex 0777 root root + mount tmpfs tmpfs /apex mode=0755,uid=0,gid=0 + restorecon /apex + + export ANDROID_RUNTIME_ROOT /apex/com.android.runtime + export ANDROID_TZDATA_ROOT /apex/com.android.tzdata + symlink /system/product /product + symlink /system/system_ext /system_ext + + mount none /system/phh/empty /sbin/adbd bind + + mkdir /apex/com.android.mediaprovider 0777 root root + mkdir /apex/com.android.apex.cts.shim.v1_with_prebuilts 0777 root root + mkdir /apex/com.android.vndk.current 0777 root root + mkdir /apex/com.android.vndk.v28 0777 root root + mkdir /apex/com.android.sdkext 0777 root root + mkdir /apex/com.android.i18n 0777 root root + mkdir /apex/com.android.art 0777 root root + mkdir /apex/com.android.media.swcodec 0777 root root + mkdir /apex/com.android.media 0777 root root + mkdir /apex/com.android.os.statsd 0777 root root + mkdir /apex/com.android.extservices 0777 root root + mkdir /apex/com.android.runtime 0777 root root + mkdir /apex/com.android.neuralnetworks 0777 root root + mkdir /apex/com.android.cellbroadcast 0777 root root + mkdir /apex/com.android.vndk.v27 0777 root root + mkdir /apex/com.android.vndk.v26 0777 root root + mkdir /apex/com.android.adbd 0777 root root + mkdir /apex/com.android.tzdata 0777 root root + mkdir /apex/com.android.permission 0777 root root + mkdir /apex/com.android.tethering 0777 root root + mkdir /apex/com.android.resolv 0777 root root + mkdir /apex/com.android.ipsec 0777 root root + mkdir /apex/com.android.vndk.v29 0777 root root + mkdir /apex/com.android.conscrypt 0777 root root + mkdir /apex/com.android.wifi 0777 system system + + mount none /system_ext/apex/com.android.mediaprovider /apex/com.android.mediaprovider bind + mount none /system_ext/apex/com.android.apex.cts.shim.v1_with_prebuilts /apex/com.android.apex.cts.shim.v1_with_prebuilts bind + mount none /system_ext/apex/com.android.vndk.current /apex/com.android.vndk.current bind + mount none /system_ext/apex/com.android.vndk.v28 /apex/com.android.vndk.v28 bind + mount none /system_ext/apex/com.android.sdkext /apex/com.android.sdkext bind + mount none /system_ext/apex/com.android.i18n /apex/com.android.i18n bind + mount none /system_ext/apex/com.android.art.debug /apex/com.android.art bind + mount none /system_ext/apex/com.android.art.release /apex/com.android.art bind + mount none /system_ext/apex/com.android.media.swcodec /apex/com.android.media.swcodec bind + mount none /system_ext/apex/com.android.media /apex/com.android.media bind + mount none /system_ext/apex/com.android.os.statsd /apex/com.android.os.statsd bind + mount none /system_ext/apex/com.android.extservices /apex/com.android.extservices bind + mount none /system_ext/apex/com.android.runtime /apex/com.android.runtime bind + mount none /system_ext/apex/com.android.neuralnetworks /apex/com.android.neuralnetworks bind + mount none /system_ext/apex/com.android.cellbroadcast /apex/com.android.cellbroadcast bind + mount none /system_ext/apex/com.android.vndk.v27 /apex/com.android.vndk.v27 bind + mount none /system_ext/apex/com.android.vndk.v26 /apex/com.android.vndk.v26 bind + mount none /system_ext/apex/com.android.adbd /apex/com.android.adbd bind + mount none /system_ext/apex/com.android.tzdata /apex/com.android.tzdata bind + mount none /system_ext/apex/com.android.permission /apex/com.android.permission bind + mount none /system_ext/apex/com.android.tethering /apex/com.android.tethering bind + mount none /system_ext/apex/com.android.resolv /apex/com.android.resolv bind + mount none /system_ext/apex/com.android.ipsec /apex/com.android.ipsec bind + mount none /system_ext/apex/com.android.vndk.v29 /apex/com.android.vndk.v29 bind + mount none /system_ext/apex/com.android.conscrypt /apex/com.android.conscrypt bind + mount none /system_ext/apex/com.android.wifi /apex/com.android.wifi bind + + mkdir /apex/com.android.art.debug 0777 root root + mount none /apex/com.android.art /apex/com.android.art.debug bind + mkdir /apex/com.android.art.release 0777 root root + mount none /apex/com.android.art /apex/com.android.art.release bind + + exec -- /system/bin/apexd --bootstrap + + mkdir /linkerconfig 0777 root root + mount tmpfs tmpfs /linkerconfig mode=0755,uid=0,gid=0 + restorecon /linkerconfig + + #vndk-detect is a shell script so requires a working linker config. But linkerconfig will default to vndk v27 + #So we need to 1. setup some linkerconfig (being v27 is ok on v26 just to run a shellscript), 2. autodetect vndk; 3. regenerate linkerconfig + exec -- /system/bin/linkerconfig --target /linkerconfig + exec - root -- /system/bin/vndk-detect + exec u:r:phhsu_daemon:s0 root -- /system/bin/resetprop_phh ro.vndk.version ${persist.sys.vndk} + setprop ro.vndk.version ${persist.sys.vndk} + exec -- /system/bin/linkerconfig --target /linkerconfig + + setprop ro.product.manufacturer phh + setprop ro.product.model phh + setprop persist.sys.usb.config adb + + mkdir /data/system_de 0770 system system + mkdir /data/system_ce 0770 system system + mkdir /data/misc_de 01771 system misc + mkdir /data/misc_ce 01771 system misc + mkdir /data/user 0711 system system + mkdir /data/user_de 0711 system system + mkdir /data/vendor 0711 system system + mkdir /data/vendor_de 0711 system system + rm /data/user/0 + mkdir /data/user/0 0700 system system + mount none /data/data /data/user/0 bind rec + mkdir /data/misc/installd 0700 root root + mkdir /data/misc/credstore 0777 system system + mkdir /data/rollback 0700 system system + + setprop sys.usb.config adb + setprop ro.build.fingerprint unknown/unknown/unknown:11/RP1A.200720.011/phh:userdebug/test-keys + + # Create mirror directory for jit profiles + mkdir /data_mirror/cur_profiles 0700 root root + mount none /data/misc/profiles/cur /data_mirror/cur_profiles bind rec + mkdir /data_mirror 0777 root root + + start adbd_apex + +on post-fs-data + mkdir /data/system_de 0770 system system + mkdir /data/system_ce 0770 system system + mkdir /data/misc_de 01771 system misc + mkdir /data/misc_ce 01771 system misc + mkdir /data/user 0711 system system + mkdir /data/user_de 0711 system system + mkdir /data/vendor 0711 system system + mkdir /data/vendor_de 0711 system system + rm /data/user/0 + mkdir /data/user/0 0700 system system + mount none /data/data /data/user/0 bind rec + mkdir /data/misc/installd 0700 root root + mkdir /data/misc/credstore 0777 system system + mkdir /data/misc/apexdata 0711 root root + mkdir /data/misc/apexdata/com.android.wifi 0771 system system + chown system system /data/misc/apexdata/com.android.wifi + mkdir /data/rollback 0700 system system + + init_user0 + +service adbd_apex /apex/com.android.adbd/bin/adbd --root_seclabel=u:r:su:s0 + class core + socket adbd stream 660 system system + disabled + override + seclabel u:r:adbd:s0 + +on post-fs-data + mkdir /data/misc/installd 0700 root root + mkdir /data/misc/credstore 0777 system system + + mount tmpfs tmpfs /data_mirror nodev noexec nosuid mode=0700,uid=0,gid=1000 + restorecon /data_mirror + mkdir /data_mirror/data_ce 0700 root root + mkdir /data_mirror/data_de 0700 root root + + # Create CE and DE data directory for default volume + mkdir /data_mirror/data_ce/null 0700 root root + mkdir /data_mirror/data_de/null 0700 root root + + # Bind mount CE and DE data directory to mirror's default volume directory + mount none /data/user /data_mirror/data_ce/null bind rec + mount none /data/user_de /data_mirror/data_de/null bind rec + +on fs + exec u:r:su:s0 -- /system/bin/umount -l /product + exec u:r:su:s0 -- /system/bin/rmdir /product + symlink /system/product /product + +on property:sys.usb.state=adb + restart adbd_apex + +on property:sys.usb.state=mtp,adb + restart adbd_apex diff --git a/sas-creator/lib64/libc++.so b/sas-creator/lib64/libc++.so new file mode 100755 index 00000000..efc42abd Binary files /dev/null and b/sas-creator/lib64/libc++.so differ diff --git a/sas-creator/lite-adapter.sh b/sas-creator/lite-adapter.sh new file mode 100644 index 00000000..8385bec2 --- /dev/null +++ b/sas-creator/lite-adapter.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/home/ich/src/LeOS-20/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/phhgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/phhgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +"$origin"/simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img +bash securize.sh s.img + +mv s-secure.img LeOS-20-VNDKLITE-arm64_bvN.img + +sudo bash lite-adapterS.sh 64 /home/ich/src/LeOS-20/out/target/product/phhgsi_arm64_ab/system.img diff --git a/sas-creator/lite-adapterN.sh b/sas-creator/lite-adapterN.sh new file mode 100644 index 00000000..f6ff7ae5 --- /dev/null +++ b/sas-creator/lite-adapterN.sh @@ -0,0 +1,88 @@ +#!/bin/bash +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/home/ich/src/LeOS19.1/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +#mount -o loop,rw LeOS.img d + +sudo touch d/system/phh/secure +rm d/system/xbin/su +rm d/system/etc/init/su.rc +rm d/system/bin/phh-securize.sh +rm -Rf d/system/{app,priv-app}/me.phh.superuser/ +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-arm64-bvN.img + + + diff --git a/sas-creator/lite-adapterN_m.sh b/sas-creator/lite-adapterN_m.sh new file mode 100644 index 00000000..bc1f9883 --- /dev/null +++ b/sas-creator/lite-adapterN_m.sh @@ -0,0 +1,85 @@ +#!/bin/bash +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/home/ich/src/LeOS19.1/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +#mount -o loop,rw LeOS.img d + +sudo touch d/system/phh/secure + +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-arm64-bvN.img + + + diff --git a/sas-creator/lite-adapterNa64.sh b/sas-creator/lite-adapterNa64.sh new file mode 100644 index 00000000..e32cf99c --- /dev/null +++ b/sas-creator/lite-adapterNa64.sh @@ -0,0 +1,88 @@ +#!/bin/bash +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/home/ich/src/LeOS19.1/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +#mount -o loop,rw LeOS.img d + +sudo touch d/system/phh/secure +rm d/system/xbin/su +rm d/system/etc/init/su.rc +rm d/system/bin/phh-securize.sh +rm -Rf d/system/{app,priv-app}/me.phh.superuser/ +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-a64-bvN.img + + + diff --git a/sas-creator/lite-adapterNa64_m.sh b/sas-creator/lite-adapterNa64_m.sh new file mode 100644 index 00000000..5a6c58a3 --- /dev/null +++ b/sas-creator/lite-adapterNa64_m.sh @@ -0,0 +1,84 @@ +#!/bin/bash +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/home/ich/src/LeOS19.1/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +#mount -o loop,rw LeOS.img d + +sudo touch d/system/phh/secure +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-a64-bvN.img + + + diff --git a/sas-creator/lite-adapterS.sh b/sas-creator/lite-adapterS.sh new file mode 100644 index 00000000..a2550b4e --- /dev/null +++ b/sas-creator/lite-adapterS.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/ome/ich/src/LeOS-20/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +"$origin"/simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +umount d + + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-arm64_bvS.img + +#sudo bash lite-adapterN.sh 64 /home/ich/src/LeOS-20/out/target/product/tdgsi_arm64_ab/system.img diff --git a/sas-creator/lite-adapterSa64.sh b/sas-creator/lite-adapterSa64.sh new file mode 100644 index 00000000..895c7523 --- /dev/null +++ b/sas-creator/lite-adapterSa64.sh @@ -0,0 +1,78 @@ +#!/bin/bash + +#Usage: +#bash lite-adapter.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/ome/ich/src/LeOS-20/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_a64_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/tdgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash lite-adapter.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +"$origin"/simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d +find -name \*.capex -or -name \*.apex -type f -delete +for vndk in 28 29;do + for arch in 32 64;do + d="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ ! -d "$d" ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + [ ! -d system/system_ext/apex/com.android.vndk.v${vndk}/${p}/ ] && continue + for lib in $(cd "$d"; echo *);do + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + + grep -v -e libgui.so -e libft2.so system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt > v + mv -f v system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system/system_ext/apex/com.android.vndk.v${vndk}/etc/vndkprivate.libraries.${vndk}.txt + done +done +mkdir -p firmware/radio +xattr -w security.selinux u:object_r:firmware_file:s0 firmware +xattr -w security.selinux u:object_r:firmware_file:s0 firmware/radio +) +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img + +mv s.img LeOS-20-VNDKLITE-a64_bvS.img +#sudo bash lite-adapterNa64.sh 64 /home/ich/src/LeOS-20/out/target/product/tdgsi_a64_ab/system.img diff --git a/sas-creator/run.sh b/sas-creator/run.sh new file mode 100755 index 00000000..8104e68e --- /dev/null +++ b/sas-creator/run.sh @@ -0,0 +1,217 @@ +#!/bin/bash + +#Usage: +#bash run.sh <32|64> [/path/to/system/image] + +#cleanups +umount d + +set -ex + +origin="$(readlink -f -- "$0")" +origin="$(dirname "$origin")" + +[ ! -d vendor_vndk ] && git clone https://github.com/phhusson/vendor_vndk -b android-10.0 + +targetArch=64 +[ "$1" == 32 ] && targetArch=32 + +[ -z "$ANDROID_BUILD_TOP" ] && ANDROID_BUILD_TOP=/build2/AOSP-11.0/ +if [ "$targetArch" == 32 ];then + srcFile="$ANDROID_BUILD_TOP/out/target/product/phhgsi_arm_ab/system.img" +else + srcFile="$ANDROID_BUILD_TOP/out/target/product/phhgsi_arm64_ab/system.img" +fi +if [ -f "$2" ];then + srcFile="$2" +fi + +if [ ! -f "$srcFile" ];then + echo "Usage: sudo bash run.sh <32|64> [/path/to/system.img]" + exit 1 +fi + +"$origin"/simg2img "$srcFile" s.img || cp "$srcFile" s.img + +rm -Rf tmp +mkdir -p d tmp +e2fsck -y -f s.img +resize2fs s.img 3500M +e2fsck -E unshare_blocks -y -f s.img +mount -o loop,rw s.img d +( +cd d + +cp init.environ.rc "$origin"/tmp + +find -maxdepth 1 -not -name system -not -name . -not -name .. -exec rm -Rf '{}' + +mv system/* . +rmdir system + +rm -Rf system_ext/apex/com.android.vndk.v29 +rm -Rf apex/*.apex +rm -Rf system_ext/apex/*.apex + +sed -i \ + -e '/ro.radio.noril/d' \ + -e '/sys.usb.config/d' \ + -e '/ro.build.fingerprint/d' \ + -e '/persist.sys.theme/d' \ + -e '/ro.opengles.version/d' \ + -e '/ro.sf.lcd_density/d' \ + -e '/sys.usb.controller/d' \ + -e '/persist.dbg.volte_avail_ovr/d' \ + -e '/persist.dbg.wfc_avail_ovr/d' \ + -e '/persist.radio.multisim.config/d' \ + -e /persist.dbg.vt_avail_ovr/d \ + -e /ro.build.description/d \ + -e /ro.build.display.id/d \ + -e /ro.build.version.base_os/d \ + -e /ro.com.android.dataroaming/d \ + -e /ro.telephony.default_network/d \ + -e /ro.vendor.build.fingerprint/d \ + etc/selinux/plat_property_contexts + +xattr -w security.selinux u:object_r:property_contexts_file:s0 etc/selinux/plat_property_contexts + +cp "$origin"/files/apex-setup.rc etc/init/ +xattr -w security.selinux u:object_r:system_file:s0 etc/init/apex-setup.rc + +cp "$origin"/tmp/init.environ.rc etc/init/init-environ.rc +sed -i 's/on early-init/on init/g' etc/init/init-environ.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/init-environ.rc + +sed -i \ + -e s/MREMAP_MAYMOVE/1/g \ + etc/seccomp_policy/mediaextractor.policy \ + etc/seccomp_policy/mediacodec.policy \ + system_ext/apex/com.android.media/etc/seccomp_policy/mediaextractor.policy \ + system_ext/apex/com.android.media.swcodec/etc/seccomp_policy/mediaswcodec.policy +sed -i '0,/^@include/s/^@include.*/getdents64: 1\n&/' etc/seccomp_policy/mediaextractor.policy \ + system_ext/apex/com.android.media/etc/seccomp_policy/mediaextractor.policy +sed -i '0,/^@include/s/^@include.*/rt_sigprocmask: 1\n&/' etc/seccomp_policy/mediaextractor.policy \ + system_ext/apex/com.android.media/etc/seccomp_policy/mediaextractor.policy +sed -i '0,/^@include/s/^@include.*/rt_sigprocmask: 1\nrt_sigaction: 1\n&/' etc/seccomp_policy/mediacodec.policy + +xattr -w security.selinux u:object_r:system_file:s0 system_ext/apex/com.android.media/etc/seccomp_policy/mediaextractor.policy system_ext/apex/com.android.media.swcodec/etc/seccomp_policy/mediaswcodec.policy +xattr -w security.selinux u:object_r:system_seccomp_policy_file:s0 etc/seccomp_policy/mediacodec.policy etc/seccomp_policy/mediaextractor.policy etc/seccomp_policy/mediacodec.policy + +#"lmkd" user and group don't exist +#"readproc" doesn't exist, use SYS_PTRACE instead +sed -i -E \ + -e '/user lmkd/d' \ + -e 's/group .*/group root/g' \ + -e 's/capabilities (.*)/capabilities \1 SYS_PTRACE/g' \ + etc/init/lmkd.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/lmkd.rc + +sed -i -E \ + -e '/user/d' \ + -e '/group/d' \ + etc/init/credstore.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/credstore.rc + +cp system_ext/apex/com.android.media.swcodec/etc/init.rc etc/init/media-swcodec.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/media-swcodec.rc + +cp system_ext/apex/com.android.adbd/etc/init.rc etc/init/adbd.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/adbd.rc + +if [ -f system_ext/apex/com.android.adbd/lib64/libadb_protos.so ];then +cp system_ext/apex/com.android.adbd/lib64/libadb_protos.so lib64/libadb_protos.so +xattr -w security.selinux u:object_r:system_file:s0 lib64/libadb_protos.so +fi + +if [ -f system_ext/apex/com.android.adbd/lib/libadb_protos.so ];then +cp system_ext/apex/com.android.adbd/lib/libadb_protos.so lib/libadb_protos.so +xattr -w security.selinux u:object_r:system_file:s0 lib/libadb_protos.so +fi + +sed -i s/ro.iorapd.enable=true/ro.iorapd.enable=false/g etc/prop.default +xattr -w security.selinux u:object_r:system_file:s0 etc/prop.default + +cp -R system_ext/apex/com.android.vndk.v27 system_ext/apex/com.android.vndk.v26 +for i in vndkcore llndk vndkprivate vndksp;do + mv system_ext/apex/com.android.vndk.v26/etc/${i}.libraries.27.txt system_ext/apex/com.android.vndk.v26/etc/${i}.libraries.26.txt +done +find system_ext/apex/com.android.vndk.v26 -exec xattr -w security.selinux u:object_r:system_file:s0 '{}' \; + +vndk=26 +archs="64 32" +if [ "$targetArch" == 32 ];then + archs=32 +fi + +echo libstdc++.so >> system_ext/apex/com.android.vndk.v26/etc/vndksp.libraries.26.txt + +for arch in $archs;do + for lib in $(cd "$origin/vendor_vndk/vndk-sp-${vndk}-arm${arch}"; echo *);do + #TODO: handle "hw" + [ ! -f "$origin/vendor_vndk/vndk-sp-${vndk}-arm${arch}"/$lib ] && continue + p=lib + [ "$arch" = 64 ] && p=lib64 + cp "$origin/vendor_vndk/vndk-sp-${vndk}-arm${arch}/$lib" system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system_ext/apex/com.android.vndk.v${vndk}/etc/vndksp.libraries.${vndk}.txt + done + sort -u system_ext/apex/com.android.vndk.v${vndk}/etc/vndksp.libraries.${vndk}.txt > v + mv -f v system_ext/apex/com.android.vndk.v${vndk}/etc/vndksp.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system_ext/apex/com.android.vndk.v${vndk}/etc/vndksp.libraries.${vndk}.txt +done + +for vndk in 28 27 26;do + archs="64 32" + if [ "$targetArch" == 32 ];then + archs="32 32-binder32" + fi + for arch in $archs;do + t="$origin/vendor_vndk/vndk-${vndk}-arm${arch}" + [ -d "$t" ] && for lib in $(cd "$origin/vendor_vndk/vndk-${vndk}-arm${arch}"; echo *);do + p=lib + [ "$arch" = 64 ] && p=lib64 + cp "$origin/vendor_vndk/vndk-${vndk}-arm${arch}/$lib" system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + xattr -w security.selinux u:object_r:system_lib_file:s0 system_ext/apex/com.android.vndk.v${vndk}/${p}/$lib + echo $lib >> system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done + sort -u system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt > v + mv -f v system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + xattr -w security.selinux u:object_r:system_file:s0 system_ext/apex/com.android.vndk.v${vndk}/etc/vndkcore.libraries.${vndk}.txt + done +done + +sed -i 's/v27/v26/g' system_ext/apex/com.android.vndk.v26/apex_manifest.pb +xattr -w security.selinux u:object_r:system_file:s0 system_ext/apex/com.android.vndk.v26/apex_manifest.pb + +sed -E -i 's/(.*allowx adbd functionfs .*0x6782)/\1 0x67e7/g' etc/selinux/plat_sepolicy.cil +xattr -w security.selinux u:object_r:sepolicy_file:s0 etc/selinux/plat_sepolicy.cil + +sed -E -i 's/\+passcred//g' etc/init/logd.rc +sed -E -i 's/\+passcred//g' etc/init/lmkd.rc +sed -E -i 's/reserved_disk//g' etc/init/vold.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/vold.rc etc/init/logd.rc etc/init/lmkd.rc + +sed -E -i /rlimit/d etc/init/bpfloader.rc etc/init/cameraserver.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/bpfloader.rc etc/init/cameraserver.rc + +sed -i -e s/readproc//g -e s/reserved_disk//g etc/init/hw/init.zygote64.rc etc/init/hw/init.zygote64_32.rc etc/init/hw/init.zygote32_64.rc etc/init/hw/init.zygote32.rc +xattr -w security.selinux u:object_r:system_file:s0 etc/init/hw/init.zygote64.rc etc/init/hw/init.zygote64_32.rc etc/init/hw/init.zygote32_64.rc etc/init/hw/init.zygote32.rc + +ln -s /apex/com.android.vndk.v26/lib/ lib/vndk-sp-26 +xattr -sw security.selinux u:object_r:system_lib_file:s0 lib/vndk-sp-26 +ln -s /apex/com.android.vndk.v26/lib/ lib/vndk-26 +xattr -sw security.selinux u:object_r:system_lib_file:s0 lib/vndk-26 + +if [ -d lib64 ];then +ln -s /apex/com.android.vndk.v26/lib64/ lib64/vndk-sp-26 +xattr -sw security.selinux u:object_r:system_lib_file:s0 lib64/vndk-sp-26 +ln -s /apex/com.android.vndk.v26/lib64/ lib64/vndk-26 +xattr -sw security.selinux u:object_r:system_lib_file:s0 lib64/vndk-26 +fi + +) +sleep 1 + +umount d + +e2fsck -f -y s.img || true +resize2fs -M s.img diff --git a/sas-creator/simg2img b/sas-creator/simg2img new file mode 100755 index 00000000..e0500f78 Binary files /dev/null and b/sas-creator/simg2img differ diff --git a/sas-creator/vendor_vndk b/sas-creator/vendor_vndk new file mode 160000 index 00000000..f67d0d57 --- /dev/null +++ b/sas-creator/vendor_vndk @@ -0,0 +1 @@ +Subproject commit f67d0d575dd044f9cd929b198a72c86fda8454ff diff --git a/sas-creator/vndk-27-arm32/libEGL.so b/sas-creator/vndk-27-arm32/libEGL.so new file mode 100755 index 00000000..0c3bc413 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libEGL.so differ diff --git a/sas-creator/vndk-27-arm32/libETC1.so b/sas-creator/vndk-27-arm32/libETC1.so new file mode 100755 index 00000000..e66d2894 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libETC1.so differ diff --git a/sas-creator/vndk-27-arm32/libGLESv2.so b/sas-creator/vndk-27-arm32/libGLESv2.so new file mode 100755 index 00000000..5bc066d6 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libGLESv2.so differ diff --git a/sas-creator/vndk-27-arm32/libGLESv3.so b/sas-creator/vndk-27-arm32/libGLESv3.so new file mode 100755 index 00000000..1fd08e63 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libGLESv3.so differ diff --git a/sas-creator/vndk-27-arm32/libRScpp.so b/sas-creator/vndk-27-arm32/libRScpp.so new file mode 100755 index 00000000..6f44fc8a Binary files /dev/null and b/sas-creator/vndk-27-arm32/libRScpp.so differ diff --git a/sas-creator/vndk-27-arm32/libandroid.so b/sas-creator/vndk-27-arm32/libandroid.so new file mode 100755 index 00000000..99e31adf Binary files /dev/null and b/sas-creator/vndk-27-arm32/libandroid.so differ diff --git a/sas-creator/vndk-27-arm32/libandroid_runtime.so b/sas-creator/vndk-27-arm32/libandroid_runtime.so new file mode 100755 index 00000000..c16af003 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libandroid_runtime.so differ diff --git a/sas-creator/vndk-27-arm32/libandroidfw.so b/sas-creator/vndk-27-arm32/libandroidfw.so new file mode 100755 index 00000000..92671d4b Binary files /dev/null and b/sas-creator/vndk-27-arm32/libandroidfw.so differ diff --git a/sas-creator/vndk-27-arm32/libappfuse.so b/sas-creator/vndk-27-arm32/libappfuse.so new file mode 100755 index 00000000..8b3039b9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libappfuse.so differ diff --git a/sas-creator/vndk-27-arm32/libaudioclient.so b/sas-creator/vndk-27-arm32/libaudioclient.so new file mode 100755 index 00000000..cca31904 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libaudioclient.so differ diff --git a/sas-creator/vndk-27-arm32/libaudiomanager.so b/sas-creator/vndk-27-arm32/libaudiomanager.so new file mode 100755 index 00000000..dcd8d3ed Binary files /dev/null and b/sas-creator/vndk-27-arm32/libaudiomanager.so differ diff --git a/sas-creator/vndk-27-arm32/libaudiospdif.so b/sas-creator/vndk-27-arm32/libaudiospdif.so new file mode 100755 index 00000000..46344196 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libaudiospdif.so differ diff --git a/sas-creator/vndk-27-arm32/libcamera_client.so b/sas-creator/vndk-27-arm32/libcamera_client.so new file mode 100755 index 00000000..b46ef07c Binary files /dev/null and b/sas-creator/vndk-27-arm32/libcamera_client.so differ diff --git a/sas-creator/vndk-27-arm32/libdebuggerd_client.so b/sas-creator/vndk-27-arm32/libdebuggerd_client.so new file mode 100755 index 00000000..b66f887a Binary files /dev/null and b/sas-creator/vndk-27-arm32/libdebuggerd_client.so differ diff --git a/sas-creator/vndk-27-arm32/libdng_sdk.so b/sas-creator/vndk-27-arm32/libdng_sdk.so new file mode 100755 index 00000000..7d1cf731 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libdng_sdk.so differ diff --git a/sas-creator/vndk-27-arm32/libdrmframework.so b/sas-creator/vndk-27-arm32/libdrmframework.so new file mode 100755 index 00000000..344b25cf Binary files /dev/null and b/sas-creator/vndk-27-arm32/libdrmframework.so differ diff --git a/sas-creator/vndk-27-arm32/libeffectsconfig.so b/sas-creator/vndk-27-arm32/libeffectsconfig.so new file mode 100755 index 00000000..b09485f9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libeffectsconfig.so differ diff --git a/sas-creator/vndk-27-arm32/libharfbuzz_ng.so b/sas-creator/vndk-27-arm32/libharfbuzz_ng.so new file mode 100755 index 00000000..765e5a2d Binary files /dev/null and b/sas-creator/vndk-27-arm32/libharfbuzz_ng.so differ diff --git a/sas-creator/vndk-27-arm32/libheif.so b/sas-creator/vndk-27-arm32/libheif.so new file mode 100755 index 00000000..728f7782 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libheif.so differ diff --git a/sas-creator/vndk-27-arm32/libhwui.so b/sas-creator/vndk-27-arm32/libhwui.so new file mode 100755 index 00000000..5cafb8e8 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libhwui.so differ diff --git a/sas-creator/vndk-27-arm32/libicui18n.so b/sas-creator/vndk-27-arm32/libicui18n.so new file mode 100755 index 00000000..9e4c59bd Binary files /dev/null and b/sas-creator/vndk-27-arm32/libicui18n.so differ diff --git a/sas-creator/vndk-27-arm32/libicuuc.so b/sas-creator/vndk-27-arm32/libicuuc.so new file mode 100755 index 00000000..1d9c9217 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libicuuc.so differ diff --git a/sas-creator/vndk-27-arm32/libimg_utils.so b/sas-creator/vndk-27-arm32/libimg_utils.so new file mode 100755 index 00000000..93eeeac8 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libimg_utils.so differ diff --git a/sas-creator/vndk-27-arm32/libinput.so b/sas-creator/vndk-27-arm32/libinput.so new file mode 100755 index 00000000..fceea971 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libinput.so differ diff --git a/sas-creator/vndk-27-arm32/libjavacore.so b/sas-creator/vndk-27-arm32/libjavacore.so new file mode 100755 index 00000000..4f1c083f Binary files /dev/null and b/sas-creator/vndk-27-arm32/libjavacore.so differ diff --git a/sas-creator/vndk-27-arm32/libjnigraphics.so b/sas-creator/vndk-27-arm32/libjnigraphics.so new file mode 100755 index 00000000..55d79cfa Binary files /dev/null and b/sas-creator/vndk-27-arm32/libjnigraphics.so differ diff --git a/sas-creator/vndk-27-arm32/libkeystore_binder.so b/sas-creator/vndk-27-arm32/libkeystore_binder.so new file mode 100644 index 00000000..af6f0fd3 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libkeystore_binder.so differ diff --git a/sas-creator/vndk-27-arm32/liblogwrap.so b/sas-creator/vndk-27-arm32/liblogwrap.so new file mode 100755 index 00000000..1de33ee1 Binary files /dev/null and b/sas-creator/vndk-27-arm32/liblogwrap.so differ diff --git a/sas-creator/vndk-27-arm32/libmedia.so b/sas-creator/vndk-27-arm32/libmedia.so new file mode 100755 index 00000000..e4483da9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libmedia.so differ diff --git a/sas-creator/vndk-27-arm32/libmediadrm.so b/sas-creator/vndk-27-arm32/libmediadrm.so new file mode 100755 index 00000000..d15e361a Binary files /dev/null and b/sas-creator/vndk-27-arm32/libmediadrm.so differ diff --git a/sas-creator/vndk-27-arm32/libmediametrics.so b/sas-creator/vndk-27-arm32/libmediametrics.so new file mode 100755 index 00000000..7d647764 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libmediametrics.so differ diff --git a/sas-creator/vndk-27-arm32/libmediautils.so b/sas-creator/vndk-27-arm32/libmediautils.so new file mode 100755 index 00000000..1eda1c86 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libmediautils.so differ diff --git a/sas-creator/vndk-27-arm32/libmemunreachable.so b/sas-creator/vndk-27-arm32/libmemunreachable.so new file mode 100755 index 00000000..ba91d5ea Binary files /dev/null and b/sas-creator/vndk-27-arm32/libmemunreachable.so differ diff --git a/sas-creator/vndk-27-arm32/libminijail.so b/sas-creator/vndk-27-arm32/libminijail.so new file mode 100755 index 00000000..6e70a636 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libminijail.so differ diff --git a/sas-creator/vndk-27-arm32/libminikin.so b/sas-creator/vndk-27-arm32/libminikin.so new file mode 100755 index 00000000..2e438994 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libminikin.so differ diff --git a/sas-creator/vndk-27-arm32/libnativebridge.so b/sas-creator/vndk-27-arm32/libnativebridge.so new file mode 100755 index 00000000..58383905 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libnativebridge.so differ diff --git a/sas-creator/vndk-27-arm32/libnativehelper.so b/sas-creator/vndk-27-arm32/libnativehelper.so new file mode 100755 index 00000000..d0d89a52 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libnativehelper.so differ diff --git a/sas-creator/vndk-27-arm32/libnetd_client.so b/sas-creator/vndk-27-arm32/libnetd_client.so new file mode 100755 index 00000000..7f0a071e Binary files /dev/null and b/sas-creator/vndk-27-arm32/libnetd_client.so differ diff --git a/sas-creator/vndk-27-arm32/libpackagelistparser.so b/sas-creator/vndk-27-arm32/libpackagelistparser.so new file mode 100755 index 00000000..fb6599b0 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libpackagelistparser.so differ diff --git a/sas-creator/vndk-27-arm32/libpdfium.so b/sas-creator/vndk-27-arm32/libpdfium.so new file mode 100755 index 00000000..865021c6 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libpdfium.so differ diff --git a/sas-creator/vndk-27-arm32/libpowermanager.so b/sas-creator/vndk-27-arm32/libpowermanager.so new file mode 100755 index 00000000..9bfc2048 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libpowermanager.so differ diff --git a/sas-creator/vndk-27-arm32/libprocessgroup.so b/sas-creator/vndk-27-arm32/libprocessgroup.so new file mode 100755 index 00000000..953e0369 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libprocessgroup.so differ diff --git a/sas-creator/vndk-27-arm32/libselinux.so b/sas-creator/vndk-27-arm32/libselinux.so new file mode 100755 index 00000000..e3fd0770 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libselinux.so differ diff --git a/sas-creator/vndk-27-arm32/libsensor.so b/sas-creator/vndk-27-arm32/libsensor.so new file mode 100755 index 00000000..1ec235a8 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsensor.so differ diff --git a/sas-creator/vndk-27-arm32/libsensorservice.so b/sas-creator/vndk-27-arm32/libsensorservice.so new file mode 100755 index 00000000..551bbf6d Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsensorservice.so differ diff --git a/sas-creator/vndk-27-arm32/libskia.so b/sas-creator/vndk-27-arm32/libskia.so new file mode 100755 index 00000000..6b4219c7 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libskia.so differ diff --git a/sas-creator/vndk-27-arm32/libsoftkeymaster.so b/sas-creator/vndk-27-arm32/libsoftkeymaster.so new file mode 100644 index 00000000..038cd3a9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsoftkeymaster.so differ diff --git a/sas-creator/vndk-27-arm32/libsonivox.so b/sas-creator/vndk-27-arm32/libsonivox.so new file mode 100755 index 00000000..9f353dc9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsonivox.so differ diff --git a/sas-creator/vndk-27-arm32/libsoundtrigger.so b/sas-creator/vndk-27-arm32/libsoundtrigger.so new file mode 100755 index 00000000..50edd2ab Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsoundtrigger.so differ diff --git a/sas-creator/vndk-27-arm32/libsparse.so b/sas-creator/vndk-27-arm32/libsparse.so new file mode 100755 index 00000000..c54cf7d9 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libsparse.so differ diff --git a/sas-creator/vndk-27-arm32/libstagefright.so b/sas-creator/vndk-27-arm32/libstagefright.so new file mode 100755 index 00000000..8a9f758a Binary files /dev/null and b/sas-creator/vndk-27-arm32/libstagefright.so differ diff --git a/sas-creator/vndk-27-arm32/libstdc++.so b/sas-creator/vndk-27-arm32/libstdc++.so new file mode 100755 index 00000000..0ce62356 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libstdc++.so differ diff --git a/sas-creator/vndk-27-arm32/libvintf.so b/sas-creator/vndk-27-arm32/libvintf.so new file mode 100755 index 00000000..3855fa0b Binary files /dev/null and b/sas-creator/vndk-27-arm32/libvintf.so differ diff --git a/sas-creator/vndk-27-arm32/libvulkan.so b/sas-creator/vndk-27-arm32/libvulkan.so new file mode 100755 index 00000000..67ff9a12 Binary files /dev/null and b/sas-creator/vndk-27-arm32/libvulkan.so differ