[ROM][Unofficial][10.0][microG][signed]hardened LineageOS 17.1 Oneplus 7T Pro

Search This thread
Apr 13, 2021
17
1
Hi @MSe1969
I downloaded your rom and it's really impressive work!
May I ask you one question/favour?
Since I would like to experiment with some modifications (I dont' want to root the rom but I would like to try to add some root requiring apps, therefore I would like to try to include it in the rom) and in the end I would like to resign the bootloader, could you give me hints on how to create the modified lineageos recovery you are linking in first post?
I assume since I will sign with my own keys I will need to build and sign the rrecovery too.
Thank you
(y)
 
Hi @MSe1969
I downloaded your rom and it's really impressive work!
May I ask you one question/favour?
Since I would like to experiment with some modifications (I dont' want to root the rom but I would like to try to add some root requiring apps, therefore I would like to try to include it in the rom) and in the end I would like to resign the bootloader, could you give me hints on how to create the modified lineageos recovery you are linking in first post?
I assume since I will sign with my own keys I will need to build and sign the rrecovery too.
Thank you
(y)
Your assumption is correct - the recovery needs to be signed with the same keys as the ROM.
In addition, and that in fact is all, which I did, it should be built along an "unmodified" LineageOS tree.
As you may know, the recovery.img is anyhow built along the ROM and also included into the 'payload.bin' file - but at least one of the hardening measures, which I apply to the ROM, makes the recovery faulty.

Btw, what do you mean with "resign the bootloader"? You mean maybe "re-lock" the BL?
 
Apr 13, 2021
17
1
Your assumption is correct - the recovery needs to be signed with the same keys as the ROM.
In addition, and that in fact is all, which I did, it should be built along an "unmodified" LineageOS tree.
As you may know, the recovery.img is anyhow built along the ROM and also included into the 'payload.bin' file - but at least one of the hardening measures, which I apply to the ROM, makes the recovery faulty.

Btw, what do you mean with "resign the bootloader"? You mean maybe "re-lock" the BL?
yes! relock...
so, using your repository, if I select
./switch_microG.sh default
I shall have to
brunch hotdog
mm -j && m ramdisk-nodeps && m recoveryimage-nodeps
and then sign it?
sorry if I ask dumb queestions but I am learning////
 
yes! relock...
so, using your repository, if I select
./switch_microG.sh default
I shall have to
brunch hotdog
mm -j && m ramdisk-nodeps && m recoveryimage-nodeps
and then sign it?
sorry if I ask dumb queestions but I am learning////
When you do 'brunch' you will find the recovery.img in your target/product/hotdog directory, next to the assembled ROM zip. The recovery file in that case will be signed with the publicly known test keys. If you build the ROM as well only with the test keys (the result of 'brunch'), this will fit together.

If you sign the ROM during the build, as I have described it in my little tutorial (using the build script and a directory containing the certs and keys), the recovery.img will already be properly signed.

To be honest, I am not sure how to sign "only" the recovery.img, after building it with e.g. 'mka recoveryimage', so I have built the entire ROM to throw it away, just to get the recovery image. :)
 
Apr 13, 2021
17
1
When you do 'brunch' you will find the recovery.img in your target/product/hotdog directory, next to the assembled ROM zip. The recovery file in that case will be signed with the publicly known test keys. If you build the ROM as well only with the test keys (the result of 'brunch'), this will fit together.

If you sign the ROM during the build, as I have described it in my little tutorial (using the build script and a directory containing the certs and keys), the recovery.img will already be properly signed.

To be honest, I am not sure how to sign "only" the recovery.img, after building it with e.g. 'mka recoveryimage', so I have built the entire ROM to throw it away, just to get the recovery image. :)
So if I just do a
./switch_microG.sh default
and ./build_hotdog.sh sign
I will have the recovery correctly signed do to the first rom "switcharoo".
thanks.
 
Apr 13, 2021
17
1
Thank you again for the hint,
already have it.
Since it's an unofficial lineage build are you, perchance,
planning to have an option to have p*tch*d st*re instead of Fakestore?
 
Thank you again for the hint,
already have it.
Since it's an unofficial lineage build are you, perchance,
planning to have an option to have p*tch*d st*re instead of Fakestore?
Short answer: No.
Longer answer: To get apks from the G* Play store, AuroraStore is bundled. Fakestore is only a stub, to "satisfy" apps having Google dependencies, which check for the "existence" of the Play store without actually using it.
 
Apr 13, 2021
17
1
I understand your point.
Still I have some apps I bought thru in app purchases no way to have it working any other way.
Still I don't want to have a rooted phone anymore.
Anyways very solid work! Thank you again!
 
Apr 13, 2021
17
1
HI, sorry to bother you again but it seems I cannot produce a user (signed) build.
at some points the system spits a long error queue but I noticed a
Enter password for user-keys/platform.pk8 (password will not be hidden): java.lang.NullPointerException
but the script never asks me for a password.
maybe it's a dumb question how should I pass the password to the script or, otherwise, can I do a user build without signing it and the sign it later?
thank you
 
HI, sorry to bother you again but it seems I cannot produce a user (signed) build.
at some points the system spits a long error queue but I noticed a
Enter password for user-keys/platform.pk8 (password will not be hidden): java.lang.NullPointerException
but the script never asks me for a password.
maybe it's a dumb question how should I pass the password to the script or, otherwise, can I do a user build without signing it and the sign it later?
thank you
I assume, that you have created the keys with a password - for use in builds they should not have a password
Alternatively, yes - you can also create a build signed with the publicly known test keys and then do the signing separately, see e.g. here: https://source.android.com/devices/tech/ota/sign_builds?hl=en
I prefer signing along with building, because - in earlier builds - the signing as separate step sometimes has failed for unknown reasons.
 
Apr 13, 2021
17
1
I assume, that you have created the keys with a password - for use in builds they should not have a password
Alternatively, yes - you can also create a build signed with the publicly known test keys and then do the signing separately, see e.g. here: https://source.android.com/devices/tech/ota/sign_builds?hl=en
I prefer signing along with building, because - in earlier builds - the signing as separate step sometimes has failed for unknown reasons.
thank you, you are of great help in my amateur experiments!
yes, for a reason I thought it was better to password protect the signature, instead it's expected I keep my private key in my well protected caveau!
BTW I am trying to integrate oandbackupx into the build so that I can restore/backup my apps and data without having to have a rooted phone, do you think it will work?
 
Last edited:
BTW I am trying to integrate oandbackupx into the build so that I can restore/backup my apps and data without having to have a rooted phone, do you think it will work?
LineageOS integrates already a backup solution: Seedvault. Have you tried?
Of course, you can also include a different solution. Whether it works, depends on the requirements/documentation of that app and how it integrates.
 
Apr 13, 2021
17
1
thank you again, without password on the keys I concluded successfully the signed build.
I like oandbackup since it allows to have a granular control on the apps I backup/restore.
MOreover I want to experiment a bit with privileged apps without root.

Now I am building the signed recovery.
I canceled, after having moved to a safe place ota and plain build zips and issued
$
./switch_microG.sh default

I received this message and input request.
Patching ~/hardenedlineage17.1/vendor/lineage (build signing method)
patching file config/common.mk
Hunk #1 succeeded at 54 with fuzz 2 (offset 53 lines).
Hunk #2 FAILED at 218.
1 out of 2 hunks FAILED -- saving rejects to file config/common.mk.rej
patching file config/common.mk
Hunk #1 succeeded at 61 with fuzz 1 (offset 52 lines).
The next patch would create the file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml,
which already exists! Assume -R? [n] y
patching file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml

Should have I zeroed some other folder or it's fine jusst telling the script to overwrite?
 
thank you again, without password on the keys I concluded successfully the signed build.
I like oandbackup since it allows to have a granular control on the apps I backup/restore.
MOreover I want to experiment a bit with privileged apps without root.

Now I am building the signed recovery.
I canceled, after having moved to a safe place ota and plain build zips and issued
$
./switch_microG.sh default

I received this message and input request.
Patching ~/hardenedlineage17.1/vendor/lineage (build signing method)
patching file config/common.mk
Hunk #1 succeeded at 54 with fuzz 2 (offset 53 lines).
Hunk #2 FAILED at 218.
1 out of 2 hunks FAILED -- saving rejects to file config/common.mk.rej
patching file config/common.mk
Hunk #1 succeeded at 61 with fuzz 1 (offset 52 lines).
The next patch would create the file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml,
which already exists! Assume -R? [n] y
patching file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml

Should have I zeroed some other folder or it's fine jusst telling the script to overwrite?

thank you again, without password on the keys I concluded successfully the signed build.
I like oandbackup since it allows to have a granular control on the apps I backup/restore.
MOreover I want to experiment a bit with privileged apps without root.

Now I am building the signed recovery.
I canceled, after having moved to a safe place ota and plain build zips and issued
$
./switch_microG.sh default

I received this message and input request.
Patching ~/hardenedlineage17.1/vendor/lineage (build signing method)
patching file config/common.mk
Hunk #1 succeeded at 54 with fuzz 2 (offset 53 lines).
Hunk #2 FAILED at 218.
1 out of 2 hunks FAILED -- saving rejects to file config/common.mk.rej
patching file config/common.mk
Hunk #1 succeeded at 61 with fuzz 1 (offset 52 lines).
The next patch would create the file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml,
which already exists! Assume -R? [n] y
patching file overlay/changelog/amami/packages/apps/Updater/res/values/strings.xml

Should have I zeroed some other folder or it's fine jusst telling the script to overwrite?
Normally, this should not happen!
The script assumes, that the z_patches directory and all directories, it attempts to patch, are checked out for the 'same' branch (I.e. all on 'lineage-17.1', all on 'lin-17.1-microG' or, in case of 'hmalloc', those repos which have a 'lin-17.1-hmalloc' branch being there, otherwise on 'lin-17.1-microG').
If that is not the case, you will get such errors.
There can be two reasons:
Either, you altered something manually, so the branch could not be checked out, or you manually checked out a different branch in z_patches.
Check the code of the switch script and you'll understand.
To fix the situation, do the following:
Code:
cd z_patches
git checkout lineage-17.1
./patches_reverse.sh
git checkout lin-17.1-microG
./patches_reverse.sh
git checkout lin-17.1-hmalloc
./patches_reverse.sh
cd ..
./switch_microG.sh reference
 
Apr 13, 2021
17
1
Normally, this should not happen!
...
Either, you altered something manually
Yes I added some files in prebuilts/prebuiltsapk folder and
modified ~/android/hardenedlineage17.1/vendor/lineage/config/common.mk to make the system aware of it.
I had not thought it will mess things up.
Check the code of the switch script and you'll understand.
OK, I'll study.
To fix the situation,...
thank you I'll do it.
 

cowgaR

Senior Member
Oct 25, 2010
286
83
Londinium
To address elephant in the room... Are you working on Lineage OS 18.1 version please? Plain vanilla already available but misses all your goodies...as this is certainly best ROM for OP7T Pro

Also, what is the best way to flash Android 11 OOS when on your ROM (which I assume will be required first if you decide to upgrade), will TWRP 3.5.1 do the trick?

Or it's the more complicated fastboot way flashing each partition of extracted OOS the only solid way to return to OOS?
 
I am currently not working on 11. Frankly, I do not see any "killer" features, which would make me switch as soon as possible.
To me, besides some nitty-critty details (bubbles, prio chats, use location only once), the only effective difference would be to have the ultimate pleasure to see "Android 11" when picking "about phone" in the Settings app.

To return to Stock, use the search engine of your choice. There is plenty of information available. I haven't done so myself, so I won't point to any specific one.

TWRP isn't officially available for our device yet, and the unofficial builds all lack certain key features. So I am reluctant to comment on TWRP at all.

If you ask me, I'd go for fastboot to return to Stock - but as indicated before, I didn't do so myself, so the risk is on your side.

When it comes to shipping L18.1 for this build, whenever that is going to happen, you should be able to dirty-flash over my current build, I guess.
 
  • Like
Reactions: pa.trick

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Did you select the beta channel in magisk? It won't work with the stable channel.
    Yes, I did that . I got it running now. I had to flash the recovery.img in both partitions and the boot.img with the new version again. That did it. Pfffeuuuu. Hard Job to find out, because i tried all the older versions too.
    2
    Ok, I updated my wifes phone, she got the same and i did not have that problem. All went normal.
    strange, is´nt it?
    1
    No way to get it run. Tried all... I have no more ideas-----------pffffff-------------
    Did you select the beta channel in magisk? It won't work with the stable channel.
    1
    but maybe other forum participants have some experience?
    If you compile the whole rom by yourself, after the repo sync and switch to hardened branch, but before the actual compile, you can replace the fakestore apk for a patched phonesky apk.
    get it from nanolx or somewhere trusted.
    if you just switch the file and rename the new one as fakestore. apk you can compile with no other modifications.
    if, instead, you want to add other apks or other fine tunes, you have to modify /add something more in the base configuration files.
    if you read the readme in the microg prebuilts repository you will understand what you have to add/modify.
    1
    This ROM looks like the perfect fit. Is there a 18.1 version planned ?
    Not in the near future, but eventually, maybe in a couple of months, yes.
    To quote myself from a post here some weeks back (scroll back...):
    "Frankly, I do not see any "killer" features, which would make me switch as soon as possible.
    To me, besides some nitty-critty details (bubbles, prio chats, use location only once), the only effective difference would be to have the ultimate pleasure to see "Android 11" when picking "about phone" in the Settings app."
  • 11
    This thread is dedicated to provide hardened Lineage-OS 17.1 builds with microG included for the OnePlus 7T Pro (hotdog) with current security patches.

    Features of this ROM
    Download here
    • Pre-installed microG and F-Droid like LineageOS for microG project (own fork)
    • Pre-installed AuroraStore
    • OTA Support
    • eSpeakTTS engine
    • Bromite as default browser
    • Additional security hardening features listed below:
    • Cloudflare as default DNS (instead of Google)
    • Privacy-preferred default settings
    • Optional blocking of Facebook- and Google-Tracking (Settings - Network & Internet)
    • Optional disable captive portal detection or choose from various providers (default is GrapheneOS and not Google; Settings - Network & Internet)
    • Firewall UI (under Trust)
    • Increased max. password length of 64
    • No submission of IMSI/phone number to Google when GPS is in use
    • Default hosts file with many blocked ad/tracking sites
    • Privacy-enhanced Bromite SystemWebView
    • Extra control of sensor access for additionally installed user apps (Special access under app permissions)
    • Kernel kept up to date with ASB patches of Google kernel/common 'android-4.14-q-release' branch
    • Debloated from Oneplus blobs for Soter and IFAA
    • Hardened bionic lib and constified JNI method tables


    Current release levels
    Security string: 2021-05-05
    AOSP tag: 10.0.0_r41
    Bromite System Webview: M90


    Source-code and build instructions
    Kernel: https://github.com/lin17-microg/android_kernel_oneplus_sm8150/tree/lin-17.1-mse
    Build manifest: https://github.com/lin17-microg/local_manifests/tree/lin-17.1-hmalloc


    Installation Instructions

    YOU ARE RESPONSIBLE SOLELY YOURSELF FOR ANY ACTIONS YOU DO WITH YOUR DEVICE !!!

    Please note - I won't explain any single aspect (e.g. how to install 'fastboot' on your PC or troubleshoot USB connectivity issues under Windows). Search the net and consult the search engine of your choice or look here in XDA, there is plenty of information available.

    Pre-Requisites
    • Have fastboot and adb installed on your PC and make sure, you can connect via USB to your device in fastboot mode and via adb
    • An unlocked bootloader (see e.g. LineageOS install instructions)
    • If you come from Stock ROM, make sure to upgrade your device to the latest offered software version
    • Know, how to boot into fastboot mode (with powered off device press [Power]+[Vol.down]+[Vol.up])

    Please read carefully:
    I refer in general to the LineageOS install instructions, but there are some deviations!
    It is recommended to really go through the instructions once, before doing anything. You have been warned.


    Install the dedicated Lineage recovery for this ROM
    For the Oneplus 7T Pro (hotdog), there is currently no official TWRP available! The unofficial TWRP did not work for me.
    Please download the specific Lineage revocery for this build. It has been built using this ROM's signing key, because the official Lineage recovery did not work either for me (the official Lineage recovery works with the official build, this one works for this specific build).
    Flash this specific recovery with the below commands:
    Code:
    fastboot flash recovery_a lineage-17.1-20210118-recovery-microG-signed-hotdog.img
    fastboot flash recovery_b lineage-17.1-20210118-recovery-microG-signed-hotdog.img
    Reboot now into recovery from fastboot (follow the menu options) - DO NOT boot into your OS yet.

    If you come from Stock ROM, sideload the "copy partitions" script referred and described in the LineageOS install instructions.
    Please note, that you may get error messages stating
    Partition product_b dd: /dev/block/dm-1: write error: No space left on device
    Partition vendor_b dd: /dev/block/dm-2: write error: No space left on device
    You can ignore those, as long as it is product or vendor.

    Continue as described in the LineageOS installation instructions with formatting /data and sideloading the ROM ZIP.
    It is normal, that you observe at 47% progress a longer break, followed by a step 1/2 and finally 2/2 before a success message appears.

    DO NOT flash Gapps!
    This ROM comes with pre-installed microG. So don't attempt to flash Gapps.


    Update Instructions

    This ROM offers OTA updates through the Updater app. Therefore, normally, no further activities necessary.
    You can however also manually update the ROM by sideloading a newer version of this ROM via recovery.
    IMPORTANT:
    If you would like to manually update by sideloading the ROM, you need to first flash the linked recovery image (see install instructions) again via fastboot! Recovery is always updated when flashing a new ROM version, and that updated recovery can't sideload this ROM version. Don't ask me, why. I will have to find out, how to solve that issue.


    Dealing with signed builds
    Please note, that this builds is signed with an own key. When you come from a different build, you cannot directly "dirty-flash" this build. You have to perform a "clean flash".


    Bug reports:
    If you have a problem, please create a post with these informations:
    Original Kernel shipped with this rom:
    Build Date:
    And try to get log as described here
    Please note that I can't and won't support issues with builds using a different kernel or Xposed.
    In regards to microG, I will try my best to help when it is related to this ROM (I use it myself), but any questions of the type "the YXZ-app can't do <some sort of fancy xyz Google functionality> properly" are better asked in the respective microG forums.

    Credits
    AOSP project
    LineageOS project
    microG project
    Graphene OS project
    csagan5 (Bromite)
    WhyOrean (Aurora)
    5
    Change log

    2021-05-10

    • ASB Security string 2021-05-05
    • Bromite System Webview and Browser updated to 90.0.4430.204
    • Upstreamed microG (no new version)
    • Update: AuroraServices 1.1.1

    2021-04-10
    • ASB Security string 2021-04-01
    • Bromite System Webview and Browser updated to 90.0.4430.59
    • F-Droid updated to 1.12
    • Update: AuroraStore 4.0.4 with AuroraServices 1.1.0

    2021-03-08
    • Security string 2021-03-05
    • Kernel slightly patched
    • Bromite System Webview updated to 88.0.4324.207
    • Bromite Browser updated to 88.0.4324.207
    • F-Droid 1.11
    • microG 0.2.18.204714

    2021-02-05
    • Security string 2021-02-05
    • Kernel slightly patched
    • Bromite System webview updated to 88.0.4324.141
    • Bromite Browser updated to 88.0.4324.141
    • F-Droid 1.10-alpha-234
    • microG 0.2.17.204714-5
    2021-01-22 - Initial build
    • Security string 2020-01-05
    • Pre-installed microG (0.2.16.204713-10) and F-Droid like the LineageOS for microG project (own fork)
    • Pre-installed AuroraStore
    • Bromite as default browser (87.0.4280.106)
    • eSpeak TTS engine (FOSS TTS solution)
    • Additional security hardening features listed below:
    • Cloudflare as default DNS (instead of Google)
    • Privacy-preferred default settings
    • Optional blocking of Facebook- and Google-Tracking (Settings - Network & Internet)
    • Optional disable captive portal detection or choose from various providers (default is GrapheneOS and not Google; Settings - Network & Internet)
    • Firewall UI (under Trust)
    • Increased max. password length of 64
    • No submission of IMSI/phone number to Google when GPS is in use
    • Default hosts file with many blocked ad/tracking sites
    • Privacy-enhanced Bromite SystemWebView (87.0.4280.131)
    • Extra control of sensor access for additionally installed user apps (Special access under app permissions)
    • Constified JNI method tables and hardened bionic lib
    5
    Security Hardening Features - Details

    1. Pre-installed microG and F-Droid

    same as the LineageOS for microG project

    2. Pre-installed AuroraStore
    works w/o having to enable the "unknown sources feature"

    3. Extra control of sensor access for additionally installed user apps
    Special access under app permissions

    4. Cloudflare (instead of Google) default DNS
    Cloudflare DNS has a better privacy policy than Google Public DNS and has DNS-over-TLS and DNS-over-HTTPS. In the deafult DNS settings (as fallback) and network diagnostics, the Cloudflare DNS adresses 1.1.1.1 and 1.0.0.1 are specified as defaults (instead of Google's 8.8.8.8 and 8.8.4.4)

    5. Privacy-preferred default settings
    When newly installed, the below settings are defaulted, different from standard LineageOS 17.1 (all settings can be changed at any time later):
    • Anonymous LineageOS statistics disabled (proposal during Setup)
    • The standard browsing app does not get the location runtime permission automatically assigned
    • Sensitive information is hidden on the lock screen
    • Camera app: Location tagging disabled by default
    Further, when a lock screen protection is set (PIN, pattern, password), the Nfc, Hotspot and airplane mode tiles require authentication and cannot be set without

    6. Optional blocking of Facebook- and Google-Tracking
    Settings => Network & Internet (scroll down)
    When activated, all outgoing connection attempts to Facebook servers will be suppressed.
    Same applies to Google, but certain apps on an internal exception list will still be able to connect (AuroraStore, microG, or e.g. NewPipe, if installed)

    7. Optional disable captive portal detection and to select Captive portal server URL provider
    Settings => Network & Internet (scroll down)
    When deactivated, the system will not ping a specific Google server any longer when establishing a WiFi connection to determine, whether a captive portal is being used. Further, the captive portal URL provider can be set (default is GrapheneOS and not Google; Settings - Network & Internet)

    8. No submission of IMSI or phone number to Google when GPS is in use
    GPS also works fine, if no SIM card is present, so there obviously is no benefit for the phone holder (different from other involved parties :rolleyes:) to provide this data . . .

    9. Default hosts file with many blocked ad/tracking sites
    The system's hosts file redirects a comprehensive list of URLs known to be adware, tracking, etc. to 127.0.0.1 (ipv4) and ::1 (ipv6)

    10. Privacy-enhanced Bromite SystemWebView
    Instead of the default Chromium System Webview component, the Bromite SystemWebView is used offering more privacy, more ad blocking and less Google tracking.

    11. Bromite as shipped Browser
    A chromium based browser with many privacy features.

    12. Firewall UI
    Settings => Privacy - Firewall
    Lists all apps and allows to restrict Internet access per app in regards to WiFi, mobile network or VPN
    This per-app feature is a standard feature in LineageOS, but the UI to show all apps is an Extra (taken from a topic in LineageOS's Gerrit - it may, or may not, become part of the official LineageOS one day)

    13. Maximum password length increased to 64
    4
    Thank you for your support here. Everything works very fine. Last but not least i need root access for the rom.
    is it too late now for root because all is set up now or can i root the phone after all this? If yes, can you point me to the correct img or what ever and explane how to root.
    Sorry for getting on your nerves....
    If I may offer my step-by-step guide to root a fresh installation. I am not so sure whether that works in Linux (so I keep an old computer with Windows for this purpose). You won't lose any data or customization.

    1. You need to extract the boot.img from the rom you are using.
    You can find many guides for payloading a boot image, essentially you have to:
    - Install python for windows, and extract the payload dumper tool into that python folder.
    - Change into the python installation folder.
    - Unpack the rom and copy the payload.bin file into the python folder.
    - Open a command prompt in that folder, use these two commands to install dependencies and extract the payload.bin file:
    # python -m pip install -r requirements.txt
    # python payload_dumper.py payload.bin
    - In the python folder there is a subfolder called "output", in this you will find the extracted boot.img.

    2. Patch the boot.img.
    - Download and install the latest MagiskManager, and change the channel to "beta".
    - Copy the boot.img file to your device (e.g. via adb).
    - In MagiskManager chose "Magisk - install - chose file and patch", chose your boot.img, this will put a magisk_patched.img in your Download-folder on the device.

    3. Root your phone.
    - Copy the magisk_patched.img to your computer.
    - Open a command prompt and reboot your device to bootloader.
    - Type:
    # fastboot boot magisk_patched.img
    - Your phone will reboot after that and is rooted.
    - Don't forget the last step: In Magisk Manager chose "direct install" - this will flash the boot.img and gain permanent root.

    -------------------------------------------

    @MSe1969 - I hope you don't mind me posting this here. I could also remove it if you think it is off-topic for this rom.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone