nixos-hardware/pine64/star64
Raito Bezarius cac934beb3 fix(pine64/star64): resolve conflicting definition for Linux 5.15
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-04-05 15:30:34 +02:00
..
README.md star64: add mmc firmware updater 2023-09-14 10:57:44 +02:00
default.nix star64: set governor to schedutil 2023-10-05 06:44:00 +00:00
firmware.nix remove unused variables with deadnix 2023-12-25 20:25:23 +00:00
irq-desc-to-data.patch star64: init 2023-07-07 21:54:40 +02:00
linux-5.15.nix fix(pine64/star64): resolve conflicting definition for Linux 5.15 2024-04-05 15:30:34 +02:00
opensbi.nix star64: use stable opensbi release 2023-09-14 10:57:53 +02:00
sd-image-installer.nix star64: init 2023-07-07 21:54:40 +02:00
sd-image.nix remove unused variables with deadnix 2023-12-25 20:25:23 +00:00
spl-tool.nix star64: init 2023-07-07 21:54:40 +02:00
star64-8GB.dts star64: init 2023-07-07 21:54:40 +02:00
uboot.nix star64: init 2023-07-07 21:54:40 +02:00

README.md

Creating a SD-Image

Create and configure the flake.nix file:

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


  outputs = { self, 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 =
            { config, ... }: {
              imports = [
                "${nixos-hardware}/pine64/star64/sd-image.nix"
                # or, for a system like an installation media:
                #"${nixos-hardware}/pine64/star64/sd-image-installer.nix"
              ];

              system.stateVersion = "23.05";
              networking.useDHCP = true;
              services.openssh.enable = true;

              users.users.nixos = {
                isNormalUser = true;
                extraGroups = [ "wheel" ];
              };
              security.sudo.wheelNeedsPassword = false;
              # Set a password
              users.users.nixos.initialPassword = "nixos";
              # OR add your public ssh key
              #users.users.nixos.openssh.authorizedKeys.keys = [ "ssh-rsa ..." ];

              sdImage.compressImage = false;

              # Set if cross compiling
              #nixpkgs.crossSystem = {
              #  config = "riscv64-unknown-linux-gnu";
              #  system = "riscv64-linux";
              #};

              # Additional configuration goes here
            };
          inherit system;
        }).config.system.build.sdImage;
      });
    };
}

Build the sd image.

nix build .#

Additional configuration

8GB memory

If your board has 8GB of RAM add the following to your config:

hardware.deviceTree.overlays = [{
  name = "8GB-patch";
  dtsFile =
    "${nixos-hardware}/pine64/star64/star64-8GB.dts";
}];

Updating the bootloader

eMMC

Install the firmware update script

environment.systemPackages = [
  (pkgs.callPackage
    "${nixos-hardware}/pine64/star64/firmware.nix"
    { }).updater-mmc
];

Then run as root

star64-firmware-update-mmc

SD-Card

Install the firmware update script

environment.systemPackages = [
  (pkgs.callPackage
    "${nixos-hardware}/pine64/star64/firmware.nix"
    { }).updater-sd
];

Then run as root

star64-firmware-update-sd

SPI Flash

Install the firmware update script

environment.systemPackages = [
  (pkgs.callPackage
    "${nixos-hardware}/pine64/star64/firmware.nix"
    { }).updater-flash
];

Then run as root

star64-firmware-update-flash