mobile-nixos/mobile-nixos

Distribute demo disk images for Pinephone via the web

tomfitzhenry opened this issue · 2 comments

build.disk-images of examples/demo for Pinephone works great from aarch64 hardware, but it took me a while to figure out how to build this from x86-64, and others have had difficulty too:

Now that I have an aarch64 machine (my phone), I'm bootstrapped and ready to continue experimenting.

To help other Pinephone users bootstrap themselves, it would be useful if https://mobile.nixos.org/ offered a download of SD card images for Pinephones, which they could copy onto an SD card and boot straight into XFCE on NixOS on their Pinephones.

Can this be done via Hydra? https://hydra.nixos.org/build/146100953 already builds this image.

Widely distributing directly through Hydra is, as I'm led to understand, not a workable solution.

I might have some details wrong, but the general idea is the same, that's because Hydra handles the files in some manner, e.g. realises the derivation, before loading it in memory then serving the file.

This is why NixOS mirrors images on another system, which is meant to handle large volume downloads.

The Mobile NixOS site is hosted on GitHub pages, that's not a place where we can put images.

So I would need to get a discussion going with other NixOS peeps to know what their opinions and suggestions are as far as mirroring those in some form for end-users.

Though, for the time being, downloading from Hydra does work, but requires some manual assembly.

You would cross-compile the "unconfigured" "full disk image", which is expected to cross-compile fine, but be useless on its own. Write the image to an SD card. Then, further steps include resizing the last partition manually, and writing the rootfs we're building here to the last partition.

But really, none of that are expected to be worked upon to be "fixed".

This is because the plan is to provide some form of installer that will handle things much more gracefully for the end-user.

Work has barely been started on that, but until this is done, this clunky way to do things remains. Since I'm the only developer working on all that, taking time to make a temporary fix is better spent actually working on the solution, since anyway the temporary fix has a bunch of other issues to consider.