blog: nixos-pinephone: publish

This commit is contained in:
colin 2022-06-15 18:08:14 -07:00
parent 7cb80b8fd9
commit 705baab0f6
2 changed files with 3 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -2,7 +2,6 @@
title = "Bootstrapping a NixOS Pinephone Installation"
date = 2022-06-15
description = "a flake-based quickstart for nixos-22.05"
extra.hidden = true
+++
there is no official, easy-to-grab NixOS image to download and flash to devices like the pinephone today. although there is [a way](https://news.ycombinator.com/item?id=30010178) to do that via the hydra build cache, it's a bit tortured and the images built in automation don't have a user. the bootstrapping process would require manually editing `/etc/fstab` (from a different machine) to add a user and then logging in with a USB-C keyboard to setup ssh or a desktop -- neither user-friendly nor easily reproducible.
@ -45,7 +44,7 @@ for our Pinephone machine, we'll let [mobile-nixos](https://github.com/NixOS/mob
}
```
i've frozen the mobile-nixos commit here because they're in the process of switching from U-Boot to towboot -- the pinned commit is among the last which support U-Boot, which this guide assumes. pinning `nixpkgs` is hopefully paranoia: try switching to `nixpkgs/nixos-<release>` after you're bootstrapped.
i've frozen the mobile-nixos commit here because they're in the process of switching from U-Boot to towboot -- the pinned commit is among the last which support U-Boot, which this guide assumes. pinning `nixpkgs` may be paranoia: try switching to `nixpkgs/nixos-<release>` after you're bootstrapped.
if your host machine isn't aarch64, you'll have to enable cross compiling. the trivial way is emulation (i.e. qemu), though it could make the build take a full afternoon depending on how much of your system is available through nixcache.
@ -282,6 +281,8 @@ validate this with a reboot, and you should be golden! i recommend mirroring you
happy nixing :-)
![](booted-running-firefox.jpg)
## Troubleshooting