NixOS on ARM/Novena

From NixOS Wiki
Jump to: navigation, search

We now have https://github.com/novena-next/nixos-novena repository that can be used to build Novena specific kernel and few other tools like `novena-eeprom` and `novena-usb-hub`.

Also check out https://github.com/novena-next/docs for general purpose documentation. This guide might move there at some point.

Using generic image

https://nixos.wiki/wiki/NixOS_on_ARM

use generic armv7l image (sd-image-armv7l-linux.img)

U-boot

Build u-boot according to

https://nixos.wiki/wiki/NixOS_on_ARM#Building_u-boot_from_your_NixOS_PC

make novena_defconfig
dd if=SPL of=/dev/sdc seek=1 bs=1k

Store u-boot.bin on /boot (mounted sd-image).

Proceed with standard installation steps and https://nixos.wiki/wiki/NixOS_on_ARM#NixOS_installation_.26_configuration

You can use your own layout when installing on the hard drive (SD-card is still needed to boot from SATA), extlinux insted of grub is important.

Configuring SATA boot

To enable booting from SATA by default enable sataroot feature with novena-eeprom and then break to u-boot shell and run following commands to set different boot order:

TODO: disk ID

printenv
setenv boot_targets sata0
saveenv
reset