nixos-hardware/starfive/visionfive/v2/README.md
2023-04-16 23:18:29 +02:00

1.8 KiB

Creating a SD-Image

Create and configure the flake.nix file:

{
  # Kernel is broken on riscv64 see https://github.com/NixOS/nixpkgs/issues/225756
  inputs.nixpkgs.url =
    "github:nixos/nixpkgs/c3e12e57c3e3d5c84cc500420be4507b3de33e90";
  inputs.nixos-hardware.url = "github:nixos/nixos-hardware";
  inputs.flake-utils.url = "github:numtide/flake-utils";
  outputs = { self, nixpkgs, nixos-hardware, flake-utils }:
    flake-utils.lib.eachDefaultSystem (system:
      rec {
        packages.default = packages.sd-image;
        packages.sd-image = (import "${nixpkgs}/nixos" {
          configuration =
            { config, ... }: {
              imports = [
                "${nixos-hardware}/starfive/visionfive/v2/sd-image-installer.nix"
              ];

              # If you want to use ssh set a password
              # users.users.nixos.password = "super secure password";
              # OR add your public ssh key
              # users.users.nixos.openssh.authorizedKeys.keys = [ "ssh-rsa ..." ];

              # AND configure networking
              # networking.interfaces.end0.useDHCP = true;
              # networking.interfaces.end1.useDHCP = true;

              # If you have the 2A variant uncomment the following line
              # hardware.deviceTree.name =
              #   lib.mkDefault "starfive/jh7110-starfive-visionfive-2-v1.2a.dtb";

              # Additional configuration goes here

              sdImage.compressImage = false;

              nixpkgs.crossSystem = {
                config = "riscv64-unknown-linux-gnu";
                system = "riscv64-linux";
              };

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

Build the sd image.

nix build .#