Gapps and SU on SOC?

Problem is that Android is stuck on loading animation - system doesn’t start :neutral_face:

When you start Android (with SuperSU built in) for the first time and open SuperSU app, do you accept that dialog where SuperSU asks to update itself and reboot? Because in my case Android is stuck on boot animation after I accept SuperSU update/installation.

Yes, It is very bad for user.
I have included it in my work list.
But need to wait :smile:

So at the moment user should not accept that update/installation when SuperSU asks for it? Or how?

Yes, Now don’t update SuperSU

Clear, will have in mind.

Any idea why this update fails? Is it something related to what SuperSU modifies in recovery or bootloader partition?

If SuperSU has issues, maybe it’s worth trying to adapt Superuser (one with SeLinux support here, client app here)?

@Terry have you tried to replace supersu with latest 2.82 version and build with it?

S.

I have tried to build latest 2.82 version on Android Nougat.
I can download the latest root repository.

2 Likes

@Terry should https://github.com/khadas/supersu/blob/Nougat/sugote-mksh also be updated to 2.82 su?

S.

It is not necesary to update sugote-mksh
The sugote-mksh is copied from /system/bin/sh. It is the same file.

So the idea is to build with latest SuperSU so that SuperSU app wouldn’t suggest to update?

Yes that is the main idea.

Will try it out and report later.

S.

1 Like

SuperSU app also suggest to update although there is not network.
It is a bug and I will try to fix it up.

Maybe it is worth to try to adapt some open source superuser app? SuperSU is proprietary :wink:

I’m not an expert on this, but guys maybe we can try to port LineageOS (previously Cyanogenmod) to support VIM and VIM2? It has superuser support and additional privacy options almost out-of-the-box and it is open source :smiley:

In Odroid community LineageOS was ported to support Odroid XU4 (very powerful device indeed) and sources provided. Maybe we can do the same for VIM?

@Terry, @Gouwa, @balbes150, @ssehovic what do you think?

Thanks for your idea.
I will search for it.

1 Like

It could be interesting to have LOS build for khadas vim2.

Don’t know how complicated it would be to base khadas on los sources.

I know that SuperSU is closed source but just to inform you that SuperSU 2.82 works just fine on my test build. I am running it right now without issues.

S.

1 Like

@Gytis @ssehovic I fixed the issue. We will add it in next release ROM and you can modify some files to fix it.

1) system/core/init/service.cpp

diff --git a/init/service.cpp b/init/service.cpp
index 3149f8e..6144f73 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -371,11 +371,13 @@ bool Service::Start() {
             scon = ret_scon;
             free(ret_scon);
         }
-        if (rc == 0 && scon == mycon) {
-            ERROR("Service %s does not have a SELinux domain defined.\n", name_.c_str());
-            free(mycon);
-            free(fcon);
-            return false;
+        if (strcmp(args_[0].c_str(),"/system/bin/app_process64") != 0) {
+            if (rc == 0 && scon == mycon) {
+               ERROR("Service %s does not have a SELinux domain defined.\n", name_.c_str());
+               free(mycon);
+               free(fcon);
+               return false;
+            }

2) system/sepolicy/zygote.te

diff --git a/zygote.te b/zygote.te
index 03c64b2..f6ff5c3 100644
--- a/zygote.te
+++ b/zygote.te
@@ -81,6 +81,8 @@ allow zygote rootfs:file r_file_perms;
 allow zygote system_file:dir r_dir_perms;
 allow zygote system_file:file r_file_perms;
 
+allow zygote init:unix_stream_socket { listen getattr read write accept getopt setopt };
+
 allow zygote kernel:system { module_request };
 userdebug_or_eng(`
   # Allow zygote to create and write method traces in /data/misc/trace.

3) system/sepolicy/init.te

diff --git a/init.te b/init.te
index deadaaa..c0ba5ea 100644
--- a/init.te
+++ b/init.te
@@ -292,6 +292,7 @@ unix_socket_connect(init, vold, vold)
 # Raw writes to misc block device
 allow init misc_block_device:blk_file w_file_perms;
 
+allow init kernel:security { read_policy load_policy };
+allow init install_recovery:fd { use };
3 Likes

Thanks @Terry, I’ve applied those changes and now SuperSU installs and works as expected :slightly_smiling_face:

Just there is one error:

Should be:

Sorry for my careless. :blush: