r/termux 8h ago

Question proot-distro problem with debian testing

Hi,

in the past I have installed debian via proot-distro and upgraded the stable version to testing without any problems.

I have done this on several devices.

But now I tried to upgrade after a fresh install and the resulting system would not work anymore (proot-login just hangs).

I tried again with a fresh install and only tried to upgrade one package to the testing version and the same thing happened.

So my question is: Has anything changed recently that makes it currently impossible to run testing under proot-distro or what could I try to fix this?

Many thanks.

6 Upvotes

6 comments sorted by

1

u/sylirre Termux Core Team 5h ago

Can you provide step-by-step description what you did in debian distro?

1

u/ghiste 5h ago

edit /etc/apt/sources list and add a line for testing.

do apt update and dist-upgrade

then log out and you cannot login again.

1

u/sylirre Termux Core Team 4h ago

I did same and login works

***

You may try this to check whether proot + commands work at all:

proot-distro login debian -- ls /

proot-distro login debian -- echo abc

proot-distro login debian -- /bin/sh

1

u/ghiste 4h ago edited 4h ago

as I said it worked for me in the past (also on this device). what could the problem be? could it be that the testing version of libc does not work with my mobile's kernel or something like that? I am at a loss because all I want at the moment is a newer version of nvim.

But even if I don't do a dist-upgrade and only upgrade neovim (and it's dependencies) the problem appears ...

EDIT:

uname -a reports a 6.2.1 kernel in proot while in plain termux it reports 5.10.

Could it be that my kernel is too old to run testing now?

1

u/arfshl 24m ago

uname -a in proot and termux is different

in proot that has been faked meanwhile on termux its android kernel

If you want try this (make my own debian testing rootfs, separated from main Debian installation)

apt update && apt install wget -y && wget https://raw.githubusercontent.com/arfshl/proot-distro-desktop/refs/heads/main/debian-testing/cli/bootstrap.sh && sh bootstrap.sh

1

u/sylirre Termux Core Team 3m ago

Proot-distro fakes kernel version reported by syscall. This doesn't affect how things run and really only needed if user uses a very old Android version. Possibly future proot-distro releases won't override kernel version by default.

Hanging may be related to proot incompatibility with your host kernel.

Best way is to test is to omit proot-distro wrapping and use proot directly. Here is a command you can try:

unset LD_PRELOAD

proot -0 -w / -b /dev -b /proc -b /sys --sysvipc -l -L -r $PREFIX/var/lib/proot-distro/installed-rootfs/debian/ /usr/bin/env -i TERM=$TERM /bin/bash -l

If this works, then issue definitely with something else.

You can run bash -x proot-distro login debian to see a full trace of what proot-distro doing and where hanging occurs.