forked from AsDeep/NFC4PRA-GSI
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3eadeba
commit ab89263
Showing
13 changed files
with
837 additions
and
221 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,173 @@ | ||
#!/sbin/sh | ||
# This is a dummy file that should be replaced with a proper installer script | ||
|
||
# If you are creating a module locally for personal usage or testing, | ||
# download the script in the following URL: | ||
# https://github.com/topjohnwu/Magisk/blob/master/scripts/module_installer.sh | ||
# And replace this script with the downloaded script | ||
################# | ||
# Initialization | ||
################# | ||
|
||
# Error, this script should always be replaced | ||
exit 1 | ||
umask 022 | ||
|
||
# Global vars | ||
TMPDIR=/dev/tmp | ||
PERSISTDIR=/sbin/.magisk/mirror/persist | ||
|
||
rm -rf $TMPDIR 2>/dev/null | ||
mkdir -p $TMPDIR | ||
|
||
# echo before loading util_functions | ||
ui_print() { echo "$1"; } | ||
|
||
require_new_magisk() { | ||
ui_print "*******************************" | ||
ui_print " Please install Magisk v19.0+! " | ||
ui_print "*******************************" | ||
exit 1 | ||
} | ||
|
||
is_legacy_script() { | ||
unzip -l "$ZIPFILE" install.sh | grep -q install.sh | ||
return $? | ||
} | ||
|
||
print_modname() { | ||
local len | ||
len=`echo -n $MODNAME | wc -c` | ||
len=$((len + 2)) | ||
local pounds=`printf "%${len}s" | tr ' ' '*'` | ||
ui_print "$pounds" | ||
ui_print " $MODNAME " | ||
ui_print "$pounds" | ||
ui_print "*******************" | ||
ui_print " Powered by Magisk " | ||
ui_print "*******************" | ||
} | ||
|
||
############## | ||
# Environment | ||
############## | ||
|
||
OUTFD=$2 | ||
ZIPFILE=$3 | ||
|
||
mount /data 2>/dev/null | ||
|
||
# Load utility functions | ||
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk | ||
. /data/adb/magisk/util_functions.sh | ||
[ $MAGISK_VER_CODE -gt 18100 ] || require_new_magisk | ||
|
||
# Preperation for flashable zips | ||
setup_flashable | ||
|
||
# Mount partitions | ||
mount_partitions | ||
|
||
# Detect version and architecture | ||
api_level_arch_detect | ||
|
||
# Setup busybox and binaries | ||
$BOOTMODE && boot_actions || recovery_actions | ||
|
||
############## | ||
# Preparation | ||
############## | ||
|
||
# Extract prop file | ||
unzip -o "$ZIPFILE" module.prop -d $TMPDIR >&2 | ||
[ ! -f $TMPDIR/module.prop ] && abort "! Unable to extract zip file!" | ||
|
||
$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules | ||
MODULEROOT=$NVBASE/$MODDIRNAME | ||
MODID=`grep_prop id $TMPDIR/module.prop` | ||
MODPATH=$MODULEROOT/$MODID | ||
MODNAME=`grep_prop name $TMPDIR/module.prop` | ||
|
||
# Create mod paths | ||
rm -rf $MODPATH 2>/dev/null | ||
mkdir -p $MODPATH | ||
|
||
########## | ||
# Install | ||
########## | ||
|
||
if is_legacy_script; then | ||
unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2 | ||
|
||
# Load install script | ||
. $TMPDIR/install.sh | ||
|
||
# Callbacks | ||
print_modname | ||
on_install | ||
|
||
# Custom uninstaller | ||
[ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh | ||
|
||
# Skip mount | ||
$SKIPMOUNT && touch $MODPATH/skip_mount | ||
|
||
# prop file | ||
$PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop | ||
|
||
# Module info | ||
cp -af $TMPDIR/module.prop $MODPATH/module.prop | ||
|
||
# post-fs-data scripts | ||
$POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh | ||
|
||
# service scripts | ||
$LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh | ||
|
||
ui_print "- Setting permissions" | ||
set_permissions | ||
else | ||
print_modname | ||
|
||
unzip -o "$ZIPFILE" customize.sh -d $MODPATH >&2 | ||
|
||
if ! grep -q '^SKIPUNZIP=1$' $MODPATH/customize.sh 2>/dev/null; then | ||
ui_print "- Extracting module files" | ||
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2 | ||
|
||
# Default permissions | ||
set_perm_recursive $MODPATH 0 0 0755 0644 | ||
fi | ||
|
||
# Load customization script | ||
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh | ||
fi | ||
|
||
# Handle replace folders | ||
for TARGET in $REPLACE; do | ||
ui_print "- Replace target: $TARGET" | ||
mktouch $MODPATH$TARGET/.replace | ||
done | ||
|
||
if $BOOTMODE; then | ||
# Update info for Magisk Manager | ||
mktouch $NVBASE/modules/$MODID/update | ||
cp -af $MODPATH/module.prop $NVBASE/modules/$MODID/module.prop | ||
fi | ||
|
||
# Copy over custom sepolicy rules | ||
if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then | ||
ui_print "- Installing custom sepolicy patch" | ||
PERSISTMOD=$PERSISTDIR/magisk/$MODID | ||
mkdir -p $PERSISTMOD | ||
cp -af $MODPATH/sepolicy.rule $PERSISTMOD/sepolicy.rule | ||
fi | ||
|
||
# Remove stuffs that don't belong to modules | ||
rm -rf \ | ||
$MODPATH/system/placeholder $MODPATH/customize.sh \ | ||
$MODPATH/README.md $MODPATH/.git* 2>/dev/null | ||
|
||
############## | ||
# Finalizing | ||
############## | ||
|
||
cd / | ||
$BOOTMODE || recovery_cleanup | ||
rm -rf $TMPDIR | ||
|
||
ui_print "- Done" | ||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +0,0 @@ | ||
# **NFC for PRA-LX1 on GSI** <img src="https://img.shields.io/badge/XDA-Thread-yellow.svg?longCache=true&style=flat-square"> <img src="https://img.shields.io/badge/Status-Stable-green.svg?longCache=true&style=flat-square"> | ||
|
||
## Description | ||
All you need to get NFC on GSI ROM's for Kirin 655 devices. | ||
It may work on other devices too. | ||
It's tested on Huawei P8 Lite 2017 (Kirin 655) while running phhusson's Treble AOSP. | ||
|
||
## Changelog | ||
- v3.2 | ||
- Updated Magisk module structure | ||
- v3.1 | ||
- Updated libs | ||
- v3.0 | ||
- Removed unnecessary libs | ||
- v2.0 | ||
- Bump to Pie (9.0) | ||
- v1.0 | ||
- Initial release | ||
|
||
## Troubleshooting | ||
- If stuck at boot, simply reboot once and see if boot resumes | ||
- If boot fails again, please provide device and Magisk logs | ||
|
||
## Credits | ||
- [topjohnwu](https://forum.xda-developers.com/member.php?u=4470081) for Magisk and its module template | ||
- [Darkest-Dark](https://forum.xda-developers.com/member.php?u=9044321) for his Magisk Module that inspired this work | ||
- [Dil3mm4](https://forum.xda-developers.com/member.php?u=9034316) for his version of LineageOS where the initial v1.0 files belonged to | ||
- [haky86](https://forum.xda-developers.com/member.php?u=4883214) for his version of ArrowOS where the current v3.1 files belong to | ||
- [kountry83](https://forum.xda-developers.com/member.php?u=3756725) for his Pie NFC fix and where the v2.0 and v3.0 files belong to | ||
|
||
## Links | ||
- [XDA Forum Thread](https://forum.xda-developers.com/p8lite/p8-lite-2017-development/flashable-nfc-kirin655-devices-t3811916) | ||
- [Magisk](https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445) | ||
Empty file.
Oops, something went wrong.