minimal NixOS boot to login prompt
note that we pin mobile-nixos and nixpkgs: the nixpkgs pin might be unnecessary, however the mobile-nixos pin is essential because the uboot target creates a non-bootable image shortly after the chosen commit. mobile-nixos is in the process of switching away from uboot and to tow-boot.
This commit is contained in:
commit
a4fd43c1ae
|
@ -0,0 +1,14 @@
|
||||||
|
build from any nix machine with:
|
||||||
|
```sh
|
||||||
|
nix build './#pinephone-img'
|
||||||
|
```
|
||||||
|
|
||||||
|
if nix complains about some "experimental features", then add to the host's nix config: `nix.extraOptions = "experimental-features = nix-command flakes";`
|
||||||
|
|
||||||
|
flash with:
|
||||||
|
```sh
|
||||||
|
sudo dd if=$(readlink result) of=/dev/sdb bs=4M oflag=direct conv=sync status=progress
|
||||||
|
```
|
||||||
|
|
||||||
|
then insert the SD card, battery into your pinephone and hold the power button for a few seconds until the power LED turns red.
|
||||||
|
after releasing the power button, the LED should turn yellow, then green. you'll see the "mobile NixOS" splash screen and then be dropped into a TTY login prompt.
|
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"mobile-nixos": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1653513225,
|
||||||
|
"narHash": "sha256-DjIrBfb3cbLG15cWKpSIfBxorXCMWVBeFOc1K7HOzw4=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "mobile-nixos",
|
||||||
|
"rev": "efbe2c3c5409c868309ae0770852638e623690b5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "mobile-nixos",
|
||||||
|
"rev": "efbe2c3c5409c868309ae0770852638e623690b5",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1653060744,
|
||||||
|
"narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dfd82985c273aac6eced03625f454b334daae2e8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"rev": "dfd82985c273aac6eced03625f454b334daae2e8",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"mobile-nixos": "mobile-nixos",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
# nixpkgs.url = "nixpkgs/nixos-22.05";
|
||||||
|
nixpkgs.url = "nixpkgs/dfd82985c273aac6eced03625f454b334daae2e8";
|
||||||
|
mobile-nixos = {
|
||||||
|
# url = "github:nixos/mobile-nixos";
|
||||||
|
url = "github:nixos/mobile-nixos/efbe2c3c5409c868309ae0770852638e623690b5";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, mobile-nixos }: {
|
||||||
|
pinephone-img = (nixpkgs.lib.nixosSystem {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
modules = [
|
||||||
|
(import "${mobile-nixos}/lib/configuration.nix" {
|
||||||
|
device = "pine64-pinephone";
|
||||||
|
})
|
||||||
|
({ ... }: {
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}).config.mobile.outputs.u-boot.disk-image;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue