[MODULE/SYSTEM] NanoDroid 23.1.2.20210117 (microG, pseudo-debloat, F-Droid + apps)

starbright_

Senior Member
Apr 11, 2010
1,156
192
83
I add the log for the failed patcher:

Code:
Installing zip file '/sdcard1/Install/NanoDroid-patcher-23.1.20210109.zip'
Checking for Digest file...
Unmounting System...
I:Update binary zip
Verifying package compatibility...
Package doesn't contain compatibility.zip entry
I:Extracting updater binary 'META-INF/com/google/android/update-binary'
I:Zip does not contain SELinux file_contexts file in its root.
I:Legacy property environment not used in updater.
 
********************************
 NanoDroid                     
 Framework Patcher             
 Powered by DexPatcher         
 23.1.20210109                     
********************************
 
chmod: /busybox.arm: No such file or directory
/tmp/updater[21]: /busybox.arm: not found
/tmp/updater[22]: sed: not found
 INFO: #1 [SLOT]
/tmp/updater[22]: sed: not found
 INFO: #2 [SLOT]
/tmp/updater[22]: readlink: not found
/tmp/updater[22]: mount: not found
failed to mount /data!
/tmp/updater[22]: mount: not found
/tmp/updater[22]: find: not found
/tmp/updater[22]: head: not found
/tmp/updater[22]: find: not found
/tmp/updater[22]: head: not found
/tmp/updater[22]: awk: not found
...
/tmp/updater[22]: awk: not found
/tmp/updater[22]: readlink: not found
 INFO: #5 [SYSTEM_BLOCK]
/tmp/updater[22]: mkdir: not found
/tmp/updater[22]: mount: not found
/tmp/updater[22]: find: not found
/tmp/updater[22]: head: not found
/tmp/updater[22]: find: not found
/tmp/updater[22]: head: not found
/tmp/updater[22]: awk: not found
...
/tmp/updater[22]: awk: not found
/tmp/updater[22]: readlink: not found
 INFO: #7 [VENDOR_BLOCK]
/tmp/updater[22]: readlink: not found
/tmp/updater[22]: mount: not found
/tmp/updater[22]: readlink: not found
/tmp/updater[22]: mount: not found
/tmp/updater[22]: readlink: not found
 
/tmp/updater[22]: mount: not found
/tmp/updater[22]: sed: not found
/tmp/updater[22]: awk: not found
 
 INFO: #8 [prop]
/tmp/updater[22]: ls: not found
 
 !! failed to mount /system (unsupported A/B device?)
 

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
Hi everyone,

a new bugfix release 23.1.1, Codname Zora is now availabe!

ChangeLog

Code:
## 23.1.1.20210116 "[Zora](https://memory-alpha.fandom.com/wiki/Zora_(artificial_intelligence))"

## Bug Fixes

* Installer, Uninstaller, SysTest, Patcher
  * fix bugs regarding mounting `/system` from TWRP

* Patcher
  * fix a regression causing Patcher not to be properly executed

## General Changes

* Installer, Uninstaller, SysTest, Patcher
  * improve mounting code `/system` from TWRP

* NanoDroid-Overlay
  * check whether configuration file exists before doing anything (`-x`/`--create`)

## Updates

* automatic
  * microG GmsCore (0.2.17.204714)
  * Amaze (3.5.3)
  * K-9 Mail (5.726)
  * Simple Calendar (6.11.4)
  * Tor Brower (10.0.8)
Download links

Download from Nanolx.

Bug Reporting

In case of errors, please provide
  • when installing from TWRP
    • /data/media/0/nanodroid_logs/MODID_log_INSTALLDATE
    • /data/media/0/nanodroid_logs/MODID_twrp_INSTALLDATE
    • /tmp/recovery.log
  • when installing from Magisk Manager
    • /data/media/0/nanodroid_logs/MODID_log_INSTALLDATE
    • press the save icon and post the Magisk Manager created logfile aswell
  • SysTest package logfile
  • logcat (if applicable)
 

rayman95

Senior Member
Jan 14, 2009
6,018
3,754
253
62
monaco
Applying latest stable patcher 23.1 to a LIneageOS17.1 (Magisk installed) device returns an error:
"Failed to mount /system (unsupported A/B device?)

What exactly can I do? I repeated the test with mounted system, but result keeps same.
Flash latest beta NanoDroid-patcher-22.91.20201021...had same issue
 

TALUAtXDA

Senior Member
Nov 8, 2018
265
426
73
Actually, no. There's something complety wrong on your Samsung device trying to setup busybox, basically the whole installer fails. I'll investigate.
The problem is that the following architecture check for which architecture busybox binary should be used (arm or x86) in the CommonInstaller script doesn't work on TWRP builds which use busybox (I got this check from the MicroG package):
Code:
setup_busybox () {
    if [[ "$(uname -m)" == a* ]]; then
        local bb_arch=arm
    else    local bb_arch=x86
    fi
[...]
When this architecture check fails, the x86 busybox binary will be used instead, which will of course not execute on devices with an ARM CPU, and causes such issues.

You need to use a TWRP build which uses toolbox instead of busybox. This has absolutely nothing to do with who manufactured your device. I tested my own build of TWRP on my Galaxy Tab A 10.1" 2016, which uses toolbox instead of busybox, and the latest nanodroid packages (I tested the MicroG and Bromite webview packages) install perfectly fine.
 

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
The problem is that the following architecture check for which architecture busybox binary should be used (arm or x86) in the CommonInstaller script fails on TWRP builds which use busybox (I got this check from the MicroG package):
Code:
setup_busybox () {
    if [[ "$(uname -m)" == a* ]]; then
        local bb_arch=arm
    else    local bb_arch=x86
    fi
[...]
When this architecture check fails, the x86 busybox binary will be used instead, which will of course not execute on devices with an ARM CPU, and causes such issues.

You need to use a TWRP build which uses toolbox instead of busybox. This has absolutely nothing to do with who manufactured your device. I tested my own build of TWRP on my Galaxy Tab A 10.1" 2016, which uses toolbox instead of busybox, and the latest nanodroid packages (I tested the MicroG and Bromite webview packages) install perfectly fine.
I figured that out meanwhile, I'll change the checks so they work with both toolbox and busybox. I didn't know TWRP comes with different "flavours".
 

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
The problem is that the following architecture check for which architecture busybox binary should be used (arm or x86) in the CommonInstaller script doesn't work on TWRP builds which use busybox (I got this check from the MicroG package):
Code:
setup_busybox () {
    if [[ "$(uname -m)" == a* ]]; then
        local bb_arch=arm
    else    local bb_arch=x86
    fi
[...]
When this architecture check fails, the x86 busybox binary will be used instead, which will of course not execute on devices with an ARM CPU, and causes such issues.

You need to use a TWRP build which uses toolbox instead of busybox. This has absolutely nothing to do with who manufactured your device. I tested my own build of TWRP on my Galaxy Tab A 10.1" 2016, which uses toolbox instead of busybox, and the latest nanodroid packages (I tested the MicroG and Bromite webview packages) install perfectly fine.
 

Sc4r3Crow

Senior Member
May 18, 2017
1,053
193
63
@Setialpha I'm using Nandroid since a couple of months and I love it (y)

Some time ago I've realized that I can't save contacts to my device anymore, that means I can't select my device as standard account for new contacts. I only have the opportunity to use either a Google account or one of my email accounts for saving them.
Is that related to the latest build of NanoDroid/MicroG or to the custom rom I'm using?

I'm not 100% sure but I think when I was using an older build of NanDroid with the same rom I'm using atm, I've been able to save contacts to device directly :unsure:
 

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
@Setialpha I'm using Nandroid since a couple of months and I love it (y)

Some time ago I've realized that I can't save contacts to my device anymore, that means I can't select my device as standard account for new contacts. I only have the opportunity to use either a Google account or one of my email accounts for saving them.
Is that related to the latest build of NanoDroid/MicroG or to the custom rom I'm using?

I'm not 100% sure but I think when I was using an older build of NanDroid with the same rom I'm using atm, I've been able to save contacts to device directly :unsure:
This very likely depends on the Phone/Contacts app included in the ROM. I've experienced both behaviours, irregardless of microG version was used. It may be that some Phone/Contacts expect some certain API to present, which microG maybe does not include, but I haven't checked into that. Additonally if you grab a log that would hint at a microG issue, it should be posted as bugreport directly to the microG project.
 

Setialpha

Senior Member
Jul 24, 2011
2,552
5,857
203
Nürnberg
www.nanolx.org
Hi everyone,

version 23.1.2 is now available. This release fixes critical bugs that only occur on TWRP which uses busybox instead of toolbox. Feel free to give it at try.

Thanks @TALUAtXDA who pointed out the things that have been so obvious, I didn't see them for way too long.

ChangeLog

Code:
## 23.1.2.20210117 "BusyCompat"

## Bug Fixes

* Installer, Uninstaller, SysTest, Patcher
  * fix critial bug when running from TWRP that comes with busybox instead of toolbox

* Patcher
  * fix checking applicable debugging flags in TWRP that comes with busybox instead of toolbox
Download links

Download from Nanolx.

Bug reporting

In case of errors, please provide
  • when installing from TWRP
    • /data/media/0/nanodroid_logs/MODID_log_INSTALLDATE
    • /data/media/0/nanodroid_logs/MODID_twrp_INSTALLDATE
    • /tmp/recovery.log
  • when installing from Magisk Manager
    • /data/media/0/nanodroid_logs/MODID_log_INSTALLDATE
    • press the save icon and post the Magisk Manager created logfile aswell
  • SysTest package logfile
  • logcat (if applicable)
 

matke84

Member
Oct 7, 2012
19
7
23
Belgrade
@Setialpha Patcher it doesn't work for me backwards for several versions. The latest version that worked is beta NanoDroid-patcher-22.6.91.20200821. I have written about this before but the problem is not solved with the new version either.

Code:
I:Set page: 'flash_done'
I:operation_end - status=0
I:Set page: 'clear_vars'
I:Set page: 'install'
I:Set page: 'flash_confirm'
I:Set page: 'install'
I:Set page: 'flash_confirm'
I:Set page: 'flash_zip'
I:operation_start: 'Flashing'
Installing zip file '/emmc/Download/NanoDroid-patcher-23.1.2.20210117.zip'
Checking for MD5 file...
Skipping MD5 check: no MD5 file found
I:Zip does not contain SELinux file_contexts file in its root.
I:Legacy property environment initialized.

********************************
NanoDroid                    
Framework Patcher            
Powered by DexPatcher        
23.1.2.20210117                    
********************************

> preparing environment
/tmp/updater: line 23: decho: not found
/tmp/updater: line 23: decho: not found
INFO: #7 [VENDOR_BLOCK]
mount: can't find /vendor in /etc/fstab
mount: can't find /vendor in /etc/fstab
sh: -d: unknown operand

rootfs on / params: (rw,relatime)
tmpfs on /dev params: (rw,nosuid,relatime,mode=755)
devpts on /dev/pts params: (rw,relatime,mode=600)
proc on /proc params: (rw,relatime)
sysfs on /sys params: (rw,relatime)
tmpfs on /tmp params: (rw,relatime)
/dev/block/mmcblk0p27 on /emmc params: (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/block/mmcblk1p1 on /external_sd params: (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/block/mmcblk1p1 on /external_sd1 params: (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/block/mmcblk0p22 on /cache params: (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/block/mmcblk0p27 on /data params: (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
tmpfs on /dev/random params: (rw,nosuid,relatime,mode=755)
/dev/block/mmcblk0p20 on /system params: (rw,relatime,user_xattr,acl,barrier=1,data=ordered)

INFO: #8 [prop]
-rw-r--r--    1 root     root          5003 Aug  1  2008 /system/build.prop
> Android 4.1 - 6.0 (SDK 22) detected
FATAL: kernel too old
Aborted
*** LD_CONFIG_FILE=
> device architecture: arm
> installation mode: SYSTEM

 
++
++ services.jar status: DEODEX
++

> patching signature spoofing support

>> patching services.jar
*** BOOTCLASSPATH=/apex/*/javalib/*.jar:/system/framework/wm.jar:/system/framework/wifi-service.jar:/system/framework/voip-common.jar:/system/framework/uiautomator.jar:/system/framework/tm.jar:/system/framework/telephony-common.jar:/system/framework/svc.jar:/system/framework/settings.jar:/system/framework/services.jar:/system/framework/requestsync.jar:/system/framework/qcmediaplayer.jar:/system/framework/pm.jar:/system/framework/org.cyanogenmod.platform.jar:/system/framework/org.cyanogenmod.hardware.jar:/system/framework/okhttp.jar:/system/framework/monkey.jar:/system/framework/mms-common.jar:/system/framework/media_cmd.jar:/system/framework/javax.obex.jar:/system/framework/javax.btobex.jar:/system/framework/input.jar:/system/framework/ims-common.jar:/system/framework/ime.jar:/system/framework/framework.jar:/system/framework/ext.jar:/system/framework/ethernet-service.jar:/system/framework/dpm.jar:/system/framework/core-libart.jar:/system/framework/core-junit.jar:/system/framework/content.jar:/system/framework/conscrypt.jar:/system/framework/com.android.mediadrm.signer.jar:/system/framework/com.android.media.remotedisplay.jar:/system/framework/com.android.location.provider.jar:/system/framework/com.android.future.usb.accessory.jar:/system/framework/bu.jar:/system/framework/bouncycastle.jar:/system/framework/bmgr.jar:/system/framework/appwidget.jar:/system/framework/appops.jar:/system/framework/apache-xml.jar:/system/framework/android.test.runner.jar:/system/framework/android.policy.jar:/system/framework/am.jar:
*** DALVIKVM_OPTS= -Xnoimage-dex2oat -verbose:gc -verbose:jni -verbose:class
Aborted

!! failed to apply patches

Updater process ended with ERROR: 1
I:Legacy property environment disabled.
Error installing zip file '/emmc/Download/NanoDroid-patcher-23.1.2.20210117.zip'
Updating partition details...
I:Data backup size is 97MB, free: 4725MB.
I:Can't probe device /dev/block/mmcblk1
I:Unable to mount '/external_sd2'
I:Actual block device: '/dev/block/mmcblk1', current file system: 'auto'
I:Unable to mount '/usbotg'
I:Actual block device: '', current file system: 'auto'
...done
I:Set page: 'flash_done'
I:operation_end - status=1
I:Set page: 'clear_vars'
I:Set page: 'install'
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Set page: 'advanced'
I:Set page: 'confirm_action'
I:Set page: 'action_page'
I:operation_start: 'Copy Log'
I:Copying file /tmp/recovery.log to /external_sd/recovery.log
 

ubuntiger

Member
Nov 13, 2017
15
1
3
Hi everyone,
would it be possible to
Remove it from /data/adb/modules/NanoDroid/system/app and reboot. Ensure to adjust your setup to prevent reinstalling said app. Or flash NanoDroid again, after adjusting setup, but that's likely overkill.
Thanks, that was fast. Would flashing NanoDroid again keep the personal settings done on the other apps?
 

ubuntiger

Member
Nov 13, 2017
15
1
3
Yet another question:
Could I add my personally preferenced apps to the list of apps to install?
E.g. I like the RadioDroid App from F-Droid Repo.
Or could I manually move them to /data/adb/modules/NanoDroid/system/app once installed normally as user app from the repo?