NixOS configuration for the ODROID HC4 microcomputer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Craige McWhirter 6ef02d34bb
ssh: updated authorized_keys
7 months ago
.github/workflows Try to avoid pushing too much to cachix 1 year ago
modules ssh: updated authorized_keys 7 months ago
overlays Build meson64-tools with buildPackages 11 months ago
.gitignore Ignore outputs of nix-build. 9 months ago
LICENSE.md License as BSD3 11 months ago
README.md Move non-platform-dependent settings from odroidhc4 module to configuration.nix. 9 months ago
default.nix flake support 8 months ago
flake.lock flake support 8 months ago
flake.nix flake support 8 months ago

README.md

Hardkernel NixOS for ODROID HC4

This is an unofficial installation configuration of NixOS 21.05 for the Hardkernel ODROID HC4 microcomputer.

To build an image that can be flashed to an SD card, run:

$ nix-build

However, you might want to add your own SSH keys to the configuration before doing so.

To flash the created image run

$ nix-shell -p etcher
# If you have polkit enabled
$ etcher
# If you don't have polkit
$ sudo etcher --no-sandbox

Select the SD card image from result/sd-image/nixos-sd-image-21.05pre-git-aarch64-linux.img and the SD card device and flash the image onto the device.

Boot the device

Insert the flashed SD card into your HC4 device and let it boot.

Control your device over SSH

Log in to your booted device over SSH and run an initial nixos-rebuild switch to get the non-cross compiled versions of all packages. This will also update the u-boot bootloader to load the recently built version of NixOS.

NixOS generations and limitations of the current configuration

The bootloader is set up using the boot.ini script to enable ease of use with the pre-flashed Petitboot that is installed in the HC4 SPI flash memory. I have yet to find out how to allow this Petitboot setup to support multiple generations of NixOS so that you can choose a previous version of the operating system when booting the device. However, by running the /nix/var/nix/profiles/system-GENERATION-link/bin/switch-to-configuration switch command you can revert to a previous generation if you are able to boot the device on the most recent one.