Live data from Hacker News

Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

github.com

21–30 of 38 posts

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#21

Seeing so many submissions related to Linux on Android makes me surprised that it wasn't common knowledge on HN. Another such gem: userland.tech (let's you run full distros or apps on linux, including Debain and Arch). I use it to run LibreOffice on my Android Tablet.

I tried searching the UserLand repo for how they implemented this, are they running native Linux apps in a GNU userland, possibly with namespaces/chroot, without virtualization? Does it do what Termux does and recompile binaries against the NDK? I've watched projects like this come and go for like 12 years now, and I've always thought that it's an interesting problem with interesting solutions.

I could be wrong, but I believe they were using a modified chroot with some preload libraries to intercept missing kernel calls.

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#22

Seeing so many submissions related to Linux on Android makes me surprised that it wasn't common knowledge on HN. Another such gem: userland.tech (let's you run full distros or apps on linux, including Debain and Arch). I use it to run LibreOffice on my Android Tablet.

>Seeing so many submissions related to Linux on Android makes me surprised that it wasn't common knowledge on HN. HN seems to be mostly Apple & iOS users which are probably not very up to date on what's going on in the Android ecosystem, so HN is a good agregator to learn about these things.

HN audience, despite being overrepresented by Americans, is a global board, and the rest of the world iOS vs. Android is 50/50 (boy do we need to break up this duopoly though).

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#23
post #8

For full NixOS on an android device, something more like postmarketOS, see also https://mobile.nixos.org .

Do you know what the status of this is? I've been interested previously but notice the site hasn't been updated since 2021

Github has more recent activity: https://github.com/NixOS/mobile-nixos

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#24

How does this compare with termux? What are the advantages? (termux is still available on fdroid https://f-droid.org/en/packages/com.termux/ ) I am guessing it is avoiding all the android-lockdown problems besetting termux... though termux still works for me on android 11... It uses proot - doesn't that come with a substantial performance hit?

It's a fork of Termux with all the same restrictions as far as I can tell. The difference is that it uses Nix OS instead of the Termux repos, which has more software available.

OK, so it's a normal unix release, and uses proot for a virtual directory structure. It says it only uses the terminal emulator from termux.

termux doesn't use proot - its distribution has all paths rewritten (usually in source) to cope with the android filesystem (and other changes). I'm always surprised that this hackery works so well!

Therefore, I'd expect identical programs to be slower in nix-on-droid.

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#25
post #5

It seems F-droid version tries to download bootstrap-arm.zip from a folder which only contains bootstrap-aarch64.zip ( https://nix-on-droid.unboiled.info/bootstrap-release-22.11 )

F-droid should be avoided when you can get an apk release directly from the developer or the Google Play Store. Obtanium is great for managing this.

https://github.com/ImranR98/Obtainium https://privsec.dev/posts/android/f-droid-security-issues/

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#27

Earlier quoted context omitted.

>Seeing so many submissions related to Linux on Android makes me surprised that it wasn't common knowledge on HN. HN seems to be mostly Apple & iOS users which are probably not very up to date on what's going on in the Android ecosystem, so HN is a good agregator to learn about these things.

>not very up to date on what's going on in the Android ecosystem I've run various terminals and even cut down distros on Android since all the way back in the Android 2.1 era. Maybe people have simply forgotten, maybe they don't care because they're stuck inside Apple's ecosystem, but there's nothing new here. The biggest news is that Google is actually trying to cut down on running downloadable executables for secur…

That's actually how I got started with Android, running a full Debian off an ext4 partition of which I had to compile the module, I went the route of 'setprop ctl.stop zygote and media' and ran on the FB, it ran surprisingly well, a slight bug in the MSM FB driver with color formatting though that I found and fixed. ( I think it was my first post on XDA actually, https://forum.xda-developers.com/t/howto-install-gnu-linux-o... ) pictures are now gone but I have the web server archived somewhere so maybe one day. But i got to use and maintain a lot of my Linux knowhow I'd not really maintained because of life, 12 years later and I'm still messing with Android phones. New and old. On f-droid there is AnLinux (Run Linux On Android Without Root Access) https://f-droid.org/packages/exa.lnx.a/ that straps around Termux, and using xsdl-xserver (sourceforge) you have a pretty decent desktop, using a usb/hdmi/vga adapter and all is well.

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#28

Earlier quoted context omitted.

I tried searching the UserLand repo for how they implemented this, are they running native Linux apps in a GNU userland, possibly with namespaces/chroot, without virtualization? Does it do what Termux does and recompile binaries against the NDK? I've watched projects like this come and go for like 12 years now, and I've always thought that it's an interesting problem with interesting solutions.

I could be wrong, but I believe they were using a modified chroot with some preload libraries to intercept missing kernel calls.

IIRC it was `proot`, it's not a preload, but ptrace based.

preload based unprivileged chroot exists (libfakechroot), but doesn't work for static linked binaries.

Re: Nix-on-droid: Nix-enabled environment for your Android device (termux-based)

#29

Seeing so many submissions related to Linux on Android makes me surprised that it wasn't common knowledge on HN. Another such gem: userland.tech (let's you run full distros or apps on linux, including Debain and Arch). I use it to run LibreOffice on my Android Tablet.

I tried searching the UserLand repo for how they implemented this, are they running native Linux apps in a GNU userland, possibly with namespaces/chroot, without virtualization? Does it do what Termux does and recompile binaries against the NDK? I've watched projects like this come and go for like 12 years now, and I've always thought that it's an interesting problem with interesting solutions.

IIRC they do complete proot-based distro instead of ndk-recompiles.

There's a termux equivalent package called proot-distro you can install, if you're fine with CLI.

Post reply on HN