VegaBobo / DSU-Sideloader

A simple app made to help users easily install GSIs via DSU's Android feature.
Apache License 2.0
1.49k stars 113 forks source link

Installation fails with errors, permission denied #143

Open AdmiralAnimE opened 1 year ago

AdmiralAnimE commented 1 year ago

I am on Android 10. I tried installing with root and root/system. Without and with Magisk modules normal and gsid. Showed errors, I am attaching the logs. Then I tried with Unmount SDcard. It shows that I can try SELinux permissive. Which I am not sure if I want right now.

logs.txt logs2.txt

Mizumo-prjkt commented 1 year ago
D/DynSystemInstallationService: onStartCommand(): action=android.os.image.action.START_INSTALL
D/DynamicSystemService: GsiService is not ready, wait for 64ms
D/DynSystemInstallationService: postStatus(): statusCode=2, causeCode=0
W/DynamicSystemService: gsiservice died; reconnecting
D/DynamicSystemService: GsiService is not ready, wait for 64ms
I/DynamicSystemService: startInstallation -> /mnt/media_rw/0123-4567
D/DynamicSystemService: GsiService is not ready, wait for 64ms
E/gsid    : open failed: /mnt/media_rw/0123-4567/: Permission denied
E/gsid    : cannot install GSI to /mnt/media_rw/0123-4567/
D/DynSystemInstallationService: postStatus(): statusCode=1, causeCode=3

it actually tries to boot but permission failed

does your device has a custom kernel that has permissive mode? (like Galaxy A12s needs custom kernel to set its kernel to permissive mode, samsung kernel prevents changing it)

although if your device supports setpermissive adb shell flag then i think you should set it to 0

AdmiralAnimE commented 1 year ago

My device is Hisense A7CC e-ink phone. Sort of chinese Android 10, with different settings menu, launcher.... No custom ROM or kernel yet. Was this not the final step in installation? I thought booting would be later if I allow it from somewhere. Someone with Hisense A9, which has Android 11, has successfully booted, so I thought I would try too.

Mizumo-prjkt commented 1 year ago

is your device magisked?

also i cant believe how locked down on some hisense devices

Mizumo-prjkt commented 1 year ago

ah its UniSOC

bruh, tbh UniSOC is a pain to work with Unreliable Modems, wifi cant even connect properly meanwhile my exynos does with no problem when standing behind a wooden wall

also if your device is magisked, did you try to install the module?

AdmiralAnimE commented 1 year ago

Yes, I have Magisk, I tried with module. Same error. Yea, Unisoc. For me it's has been okay, but I did not have any choice anyway :D Color e-ink = Unisoc at the moment.

Mizumo-prjkt commented 1 year ago

oof, well, wait for a member to respond because this is unique

there are alt tho:

https://developer.android.com/topic/dsu

but ignore the developer option method, some dsu from manufacturer only works on gsi manufactured by oem, so adb-ing may be your last resort

VegaBobo commented 11 months ago

First of all, sorry for late answer, pretty busy nowadays, but, as i can see from the both logs you send, DSU is trying to install images, but it fails because it cannot read sdcard, the default DSU behavior, is to install images on sdcard if possible, so if cannot read sdcard, it will fail, to fix that, you can disable sdcard temporary, there is a option in DSU Sideloader, called "Unmount SD", enabling it, should fix your problem, or you can just eject the sdcard temporary, so image installation should happen on internal storage, which shouldn't have this error.

As you told on this issue, you tried this option, and seem to work, but after that, you got the "SELinux error", it is likely that there are some SELinux rules preventing DSU installation, DSU Sideloader should offer you a option to change to permissive selinux, permissive selinux is unsecure, but you can change to permissive just to see if installation work, keep in mind that, besides selinux permissive being unsecure, that option is temporary, once you reboot your phone, old selinux state will be restored, so, just to make sure the problem you're experiencing is selinux, set it to permissive, if that fix your issue, would be really nice if you can send us logs from that installation, maybe there are some rules we can add to module, so other people may not get this problem in the future.

AdmiralAnimE commented 11 months ago

Well.... I tried with permissive. When I restarted, it showed screen for recovery. There were two options, one is something in chinese with the word "recovery" in english, the other option is completely in chinese. I pressed the second and I am back to normal OS. I guess that pressing the first will not be what I want. I think it might be for resetting the phone. Not sure if there is anything else I can do... Or even find any logs somewhere.

VegaBobo commented 11 months ago

After switching to permissive, installation succeed? did you got the DSU notification with discard and reboot options? if so, then installation succeed (i guess so haha). When you try to boot into installed DSU, GSI dosen't boot? it throws you to fastboot or recovery mode instead? or it tries to boot, but returns to your original OS? anyway, in both cases, it is likely that the GSI you're trying to boot is not booting, did you disable boot verification by flashing blank vbmeta? also, your bootloader is unlocked, right? did you tried installed other GSIs?