Skip to content

Files

Latest commit

218ab78 · Apr 8, 2024

History

History
This branch is 158 commits behind NixOS/nixos-hardware:master.

pioneer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 8, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024
Apr 5, 2024

Creating an installation SD card image

Create and customize a flake.nix file:

{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixos-hardware.url = "github:nixos/nixos-hardware";
  };

  outputs = { nixpkgs, nixos-hardware, ... }:
    let
      supportedSystems = [
        "x86_64-linux"
        "aarch64-linux"
        "riscv64-linux"
        "x86_64-darwin"
        "aarch64-darwin"
      ];
      forAllSupportedSystems = nixpkgs.lib.genAttrs supportedSystems;
    in
    {
      packages = forAllSupportedSystems (system: rec {
        default = sd-image;
        sd-image = (import "${nixpkgs}/nixos" {
          configuration = {
            imports = [
              "${nixos-hardware}/milkv/pioneer/sd-image-installer.nix"
            ];

            nixpkgs.buildPlatform.system = system;
            nixpkgs.hostPlatform.system = "riscv64-linux";

            system.stateVersion = "24.05";
          };
          inherit system;
        }).config.system.build.sdImage;
      });
    };
}

Then build the image by running nix build .# in the same folder.

Known issues

LinuxBoot will not output the boot menu on the serial console, only on the graphical console. Unfortuately, it might also pick up boot options from other devices, e.g. an nvme or sata drive. It might end up booting by default from those instead of booting from the SD card.