NixOS on ARM/ODROID-HC4: Difference between revisions
imported>Erdnaxe No edit summary |
imported>Artemislena Updated the U-Boot build, which means SATA is working, also added information on the fan |
||
Line 48: | Line 48: | ||
# Uncompress the .zst file. One may use the <code>unzstd</code> command (equivalent to <code>zstd -d</code>) on supported machines. The zstd commands can be accessed from the <code>zstd</code> package. | # Uncompress the .zst file. One may use the <code>unzstd</code> command (equivalent to <code>zstd -d</code>) on supported machines. The zstd commands can be accessed from the <code>zstd</code> package. | ||
# Patch this image (.img file) with U-Boot for Odroid HC4. <syntaxhighlight lang="bash"> | # Patch this image (.img file) with U-Boot for Odroid HC4. <syntaxhighlight lang="bash"> | ||
# Clone content of | # Clone content of samueldr's wip/odroidc4 branch, edit the defconfig file, and build | ||
git clone https://github.com/ | git clone https://github.com/samueldr/nixpkgs --depth 1 -b wip/odroidc4 && cd nixpkgs | ||
test "$(uname)" '==' 'Darwin' && sed -i '' 's/defconfig = "odroid-c4_defconfig"/defconfig = "odroid-hc4_defconfig"/' pkgs/misc/uboot/default.nix || sed -i 's/defconfig = "odroid-c4_defconfig"/defconfig = "odroid-hc4_defconfig"/' pkgs/misc/uboot/default.nix | |||
nix-build -I "nixpkgs=$PWD" -A pkgsCross.aarch64-multiplatform.ubootOdroidC4 | nix-build -I "nixpkgs=$PWD" -A pkgsCross.aarch64-multiplatform.ubootOdroidC4 | ||
sudo dd if=result/u-boot.bin of=PATH/TO/nixos-sd-image-21.05.XXXX.XXXXXXXX-aarch64-linux.img conv=fsync,notrunc bs=512 seek=1 | sudo dd if=result/u-boot.bin of=PATH/TO/nixos-sd-image-21.05.XXXX.XXXXXXXX-aarch64-linux.img conv=fsync,notrunc bs=512 seek=1 | ||
Line 55: | Line 56: | ||
# Flash the modified SD image file (.img) to a microSD card. '''This will erase all the data on the card!''' | # Flash the modified SD image file (.img) to a microSD card. '''This will erase all the data on the card!''' | ||
== Known | == Known issues == | ||
=== Fan doesn't work by default === | |||
=== | You need to use software fan control (via <syntaxhighlight>fancontrol</syntaxhighlight>) for this. Add the following to your <syntaxhighlight>configuration.nix</syntaxhighlight>: | ||
<syntaxhighlight> | |||
# Based on the config from https://www.armbian.com/odroid-hc4/. Made MINTEMP and MAXTEMP a bit more relaxed so the fan doesn't run on idle. | |||
hardware.fancontrol = { | |||
enable = true; | |||
config = '' | |||
INTERVAL=10 | |||
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon2=devices/platform/pwm-fan | |||
DEVNAME=hwmon0=cpu_thermal hwmon2=pwmfan | |||
FCTEMPS=hwmon2/pwm1=hwmon0/temp1_input | |||
MINTEMP=hwmon2/pwm1=55 | |||
MAXTEMP=hwmon2/pwm1=65 | |||
MINSTART=hwmon2/pwm1=20 | |||
MINSTOP=hwmon2/pwm1=28 | |||
MINPWM=hwmon2/pwm1=0 | |||
MAXPWM=hwmon2/pwm1=255 | |||
''; | |||
}; | |||
</syntaxhighlight> | |||
== Resources == | == Resources == |