nix-community / nix-on-droid

Nix-enabled environment for your Android device. [maintainers=@t184256,@Gerschtli]
https://nix-on-droid.unboiled.info
MIT License
1.23k stars 65 forks source link

No support for 32-bit ARM CPUs (32-bit ARMNix was unable to install the bootstrap package) #5

Closed KiaraGrouwstra closed 5 years ago

KiaraGrouwstra commented 5 years ago

I'm probably in need for slightly more explicit usage instructions, but currently, opening Nix yields me the error dialog Nix was unable to install the bootstrap package.

Steps:

t184256 commented 5 years ago

Does an apk from https://nix-on-droid.unboiled.info work?

Is https://nix-on-droid.unboiled.info/bootstrap/bootstrap-aarch64.zip reachable and downloadable from the device?

Is the device aarch64?

KiaraGrouwstra commented 5 years ago

I do think it's aarch64 yeah (nexus 6). The apk from there does yield me the same result. I can download the zip from there.

t184256 commented 5 years ago

I don't like to bring the bad news, but as far as I can google, it has a Snapdragon 805 and it's 32-bit.

Unfortunately there are no Nix builds for 32-bit ARM that I'm aware of, and Hydra doesn't make prebuilt packages for these ones either, so this is a bit out of reach for my small project.

Actually, I tried to cross-compile statically-linked Nix for 32 bit ARM. That's actually how all these project of mine did start: I've read another excellent @matthewbauer's blog post on statically-linking Nix and attempted to combine it with another excellent post of his on cross-compiling binaries to Android with Nix. I failed at so many levels that I just went ahead and bought an aarch64 tablet, and it was so well-supported that I got a working demo in single afternoon.

So, for now at least, it seems like you're out of luck. But if you could teach me how to build Nix that runs on your device, Nix-way or manually from Termux, I'm all ears.

KiaraGrouwstra commented 5 years ago

That definitely explains it -- sorry for bugging! :)

matthewbauer commented 5 years ago

Someone did have a binary cache for arm32, but it's not officially supported:

https://discourse.nixos.org/t/armv7l-builds-on-cachix/788