Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path problem on Android 13 - Tiramisu - LineageOS 20 - Kernel 3.0 - Debian Stretch #1346

Open
softwarecreations opened this issue Jan 12, 2023 · 2 comments

Comments

@softwarecreations
Copy link

softwarecreations commented Jan 12, 2023

I've got an old device running a 3.0 Kernel.
Running Android 13 - Tiramisu - LineageOS 20
Magisk 24.1
Root it working etc.

After uninstalling LinuxDeploy app and ensuring no directories left behind.
I install LinuxDeploy app from Play Store.

I select Directory, sysv, Debian stretch (which worked previously on this device and kernel with older version of Android)
I enable SSH.
I install, installation completes successfully.

I try start the container, it says extra/ssh failed.
So I go to the options, untick SSH.
Stop / Start
It says the container has started.

But now I can't access a terminal for it, so that I can manually install/configure SSH.

I found this old command on the internet

./data/data/ru.meefik.linuxdeploy/files/bin/linuxdeploy shell -u root

Weirdly if I run it on ADB, stuff starts happening, I see proc dev sys etc and then my ADB craps out (having ADB instability due to crap proprietary USB cable or PC's USB ports)

I can't run the above command in Terminal Emulator (as root) because /data/data/ru.meefik.linuxdeploy does not exist on my Android 13 - Tiramisu - LineageOS 20.
If I run this as root

find / -name '*linuxdeploy*' 2>/dev/null

Then I can only find the ru.meefik.linuxdeploy (whatever) linuxdeploy/files/bin/linuxdeploy script at /data_mirror/data_ce/null/0

Anyway, so I edited the linuxdeploy/files/bin/linuxdeploy script with nano, it's trying to refer to /data/data/ru.meefik.linuxdeploy which might be the reason it's broken.
I replaced that with some other path that actually leads to the path ending in linuxdeploy/files
But then I couldn't run the script, because it couldn't find the sh listed in the shebang.
And the problem with all of the files in linuxdeploy/files/bin is they're actually symlinks to /data/data blah blah directory that does not exist.
At some point I tried changing the #! shebang for the linuxdeploy to the path shown by which sh. And then I was actually able to start the script and it gave a few lines out output but broke looking for /bin/su
I tried adding a symlink in linuxdeploy/files/bin to the which su path. Also tried just copying the su file to linuxdeploy/files/bin
Didn't work.

Then I tried in the LinuxDeploy app, going to Settings, then correcting the (obsolete?) /data/data/ path to the /data_mirror/data_ce/null/0 blah linuxdeploy blah /files path that I found. Then clicking Update Environment... hoping it might fix all of the symlinks in linuxdeploy/files/bin that point to /data/data/... but then the container would not start.

@softwarecreations
Copy link
Author

softwarecreations commented Jan 14, 2023

I found this. I will try it soon. https://github.com/meefik/linuxdeploy/wiki/Install-on-external-storage-with-newer-versions-of-Android-(Storage-Access-Framework)

Newer versions of Android do not allow apps to access external SD card normally without using the built-in APIs. This can be overcome with the following adb command:
adb shell cmd appops set ru.meefik.linuxdeploy android:legacy_storage allow

@DesktopECHO
Copy link

Debian 9 (Stretch) shipped with glibc 2.24

You need Kernel 3.2+ because it's a requirement for glibc 2.24

* The minimum Linux kernel version that this version of the GNU C Library
  can be used with is 3.2, except on i[4567]86 and x86_64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants