termux / proot

An chroot-like implementation using ptrace.
https://wiki.termux.com/wiki/PRoot
Other
775 stars 160 forks source link

"Function not implemented" Android Pie #52

Open gmkbenjamin opened 5 years ago

gmkbenjamin commented 5 years ago

Followed instructions here https://wiki.termux.com/wiki/Debian And got the below error

proot -0 -r ~/stable -b /dev/ -b /sys/ -b /proc/ -b /data/data/com.termux/files/home /usr/bin/env -i HOME=/root TERM="xterm-256color" PS1='[root@stable \W]$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/bin /bin/bash --login proot error: execve("/usr/bin/env"): Function not implemented proot info: possible causes: the program is a script but its interpreter (eg. /bin/sh) was not found; the program is an ELF but its interpreter (eg. ld-linux.so) was not found; the program is a foreign binary but qemu was not specified; qemu does not work correctly (if specified); * the loader was not found or doesn't work. fatal error: see proot --help. proot error: can't chmod '/data/data/com.termux/files/usr/tmp/proot-14527-qHm8hM': No such file or directoryproot error: can't chdir to '/data/data/com.termux/files/usr/tmp': No such file or directory

ptrm commented 5 years ago

Same here. Just after an upgrade (Android 8.1 to 9) chrooted Debian started having similar issues. Example:

$ enter_deb_sid
root@localhost:~# apt update
E: setegid 65534 failed - setegid (38: Function not implemented)
E: setegid 0 failed - setegid (38: Function not implemented)
Reading package lists... Done
E: setegid 65534 failed - setegid (38: Function not implemented)
E: setegid 0 failed - setegid (38: Function not implemented)
E: Method gave invalid 400 URI Failure message: Failed to set new group ids - setresgid (38: Function not implemented)
E: Method https has died unexpectedly!
E: Sub-process https returned an error code (112)
root@localhost:~#

EDIT: Running debootsrap anew rendered similar problems when installing packages Just in case, some info about my system (That's Samsung Galaxy Note 9 with Knox and some UI modifications by Samsung):

$ uname -a
Linux localhost 4.9.59-15135523 #1 SMP PREEMPT Mon Jan 7 15:25:35 KST 2019 aarch64 Android

$ pkg update
Hit:1 https://termux.net stable InRelease
Ign:2 https://dl.bintray.com/xeffyr/x11-packages x11 InRelease                                      Get:3 https://dl.bintray.com/xeffyr/x11-packages x11 Release [6055 B]                               Hit:3 https://dl.bintray.com/xeffyr/x11-packages x11 Release
Reading package lists... Done                     Building dependency tree
Reading state information... Done                 All packages are up to date.
Reading package lists... Done                     Building dependency tree                          Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

screenshot_20190202-101133_settings

gmkbenjamin commented 5 years ago

I think it's the kernel update that broke it not sure what exactly it broke though.

michalbednarski commented 5 years ago

Partial fix commited in 60f9151b19ef498e2c7b609d13a6d55bb7d715a6, but might not be ready yet.

ptrm commented 5 years ago

If that's of any help, prooted Ubuntu on UserLAnd works smoothly without any errors of this kind, but I guess the commit does a thing according to this knowledge, too :)

gmkbenjamin commented 5 years ago

Tested the new commit and looks like it's working again yay. Thank you.

gmkbenjamin commented 5 years ago

Strange.... getting IO error when trying to import pgp key. Will do more testing

gmkbenjamin commented 5 years ago

Not sure if it's proot related. See log below.

root@localhost: apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6 Executing: /tmp/apt-key-gpghome.gcoTSb77wB/gpg.1.sh --keyserver hkp://keys.gnupg.net --recv-keys 7D8D0BF6 uid Kali Linux Repository devel@kali.org sig!3 ED444FF07D8D0BF6 2015-02-03 [self-signature] sig!3 ED444FF07D8D0BF6 2012-03-05 [self-signature] sig!3 ED444FF07D8D0BF6 2018-01-25 [self-signature] sub A8373E18FC0D0DCB sig! ED444FF07D8D0BF6 2015-02-03 [self-signature] sig! ED444FF07D8D0BF6 2012-03-05 [self-signature] sig! ED444FF07D8D0BF6 2018-01-25 [self-signature] key ED444FF07D8D0BF6: 2 duplicate signatures removed 161 signatures not checked due to missing keys gpg: key ED444FF07D8D0BF6: "Kali Linux Repository devel@kali.org" 164 new signatures proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error gpg: can't connect to the agent: IPC connect call failed gpg: key 0C70FD6B7D8D0BF6: public key "Totally Legit Signing Key mallory@example.org" imported proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error proot warning: ptrace(PEEKDATA): I/O error gpg: can't connect to the agent: IPC connect call failed gpg: Total number processed: 2 gpg: imported: 1 gpg: new signatures: 164 root@localhost:

ptrm commented 5 years ago

dump.txt

Same errors when running tigervnc. Strangely, running Xvnc as root works fine, however running Xvnc as an unprivileged user returns errors, also in dump.txt, however it worked fine on Oreo.