Skip to content

Commit

Permalink
Use Android linker for magiskpolicy
Browse files Browse the repository at this point in the history
Fix #267
  • Loading branch information
yujincheng08 committed Mar 19, 2022
1 parent a72b00f commit 85d98c8
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions .github/workflows/magisk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ jobs:
- name: Dependencies
run: |
pip3 install beautifulsoup4 lxml
sudo apt-get update && sudo apt-get install setools lzip qemu-utils wine winetricks
wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- -C ~ --strip-component=2 '*/wine/*'
sudo apt-get update && sudo apt-get install setools lzip qemu-utils wine winetricks patchelf
wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- -C ~ --strip-component=2 '*/wine/*' '*/linker/*'
winetricks msxml6
- name: Download WSA
shell: python
Expand Down Expand Up @@ -296,6 +296,10 @@ jobs:
sudo find system/sbin -type f -exec chmod 0755 {} \;
sudo find system/sbin -type f -exec chown root:root {} \;
sudo find system/sbin -type f -exec chcon --reference system/product {} \;
sudo patchelf --replace-needed libc.so "${HOME}/libc.so" ./magiskpolicy
sudo patchelf --replace-needed libm.so "${HOME}/libm.so" ./magiskpolicy
sudo patchelf --replace-needed libdl.so "${HOME}/libdl.so" ./magiskpolicy
sudo patchelf --set-interpreter "${HOME}/linker64" ./magiskpolicy
chmod +x ./magiskpolicy
echo '/dev/wsa-magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts
echo '/data/adb/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts
Expand Down Expand Up @@ -397,6 +401,10 @@ jobs:
sudo find system/system/{app,framework,priv-app} -type f -exec chcon --reference=system/system/framework/ext.jar {} \;
ls gapps/etc/ | xargs -n 1 -I dir sudo find system/system/etc/dir -type f -exec chcon --reference=system/system/etc/permissions {} \;
sudo find system/product/{app,etc,overlay,priv-app} -type f -exec chcon --reference=system/product/etc/permissions/privapp-permissions-venezia.xml {} \;
sudo patchelf --replace-needed libc.so "${HOME}/libc.so" ./magiskpolicy
sudo patchelf --replace-needed libm.so "${HOME}/libm.so" ./magiskpolicy
sudo patchelf --replace-needed libdl.so "${HOME}/libdl.so" ./magiskpolicy
sudo patchelf --set-interpreter "${HOME}/linker64" ./magiskpolicy
chmod +x ./magiskpolicy
sudo ./magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy "allow gmscore_app gmscore_app vsock_socket { create connect write read }" "allow gmscore_app device_config_runtime_native_boot_prop file read" "allow gmscore_app system_server_tmpfs dir search" "allow gmscore_app system_server_tmpfs file open"
- name: Fix GApps prop
Expand Down
Binary file added linker/libc.so
Binary file not shown.
Binary file added linker/libdl.so
Binary file not shown.
Binary file added linker/libm.so
Binary file not shown.
Binary file added linker/linker64
Binary file not shown.

0 comments on commit 85d98c8

Please sign in to comment.