NixOS on ARM/ODROID-HC4: Difference between revisions
imported>Erdnaxe SATA not working |
m Add category |
||
| (8 intermediate revisions by 2 users not shown) | |||
| Line 8: | Line 8: | ||
|- | |- | ||
!Architecture | !Architecture | ||
| | |AArch64 | ||
|- | |- | ||
!Bootloader | !Bootloader | ||
| Line 14: | Line 14: | ||
|- | |- | ||
!Boot options | !Boot options | ||
| | |microSD (SATA?) | ||
|} | |} | ||
</div> | </div> | ||
| Line 45: | Line 45: | ||
=== NixOS installation === | === NixOS installation === | ||
# First follow the [[NixOS_on_ARM#Installation|generic installation steps]] to get the | # First follow the [[NixOS_on_ARM#Installation|generic installation steps]] to get the latest stable installer image. | ||
# 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 <code>fancontrol</code>) for this. | |||
You may refer to [[https://github.com/NixOS/nixos-hardware/blob/master/hardkernel/odroid-hc4/default.nix nixos-hardware Odroid HC4 module]] for <code>fancontrol</code> configuration. | |||
== No HDMI audio by default == | |||
After enabling ALSA you should see a sound card named "ODROID-HC4". Audio is not correctly routed by default so you might need to open alsa-mixer and change: | |||
* <code>FRDDR_A SINK 1 SEL</code> to <code>OUT 1</code> | |||
* <code>FRDDR_A SRC 1 EN</code> to on | |||
* <code>TDMOUT_B SRC SEL</code> to <code>IN 0</code> | |||
* <code>TOHDMITX</code> to on | |||
* <code>TOHDMITX I2S SRC</code> to <code>I2S B</code> | |||
After these changes, <code>speaker-test -c 2</code> should output white noise. | |||
== Resources == | == Resources == | ||
| Line 67: | Line 78: | ||
* [https://github.com/considerate/nixos-odroidhc4/ NixOS configuration for the ODROID HC4 microcomputer by considerate] | * [https://github.com/considerate/nixos-odroidhc4/ NixOS configuration for the ODROID HC4 microcomputer by considerate] | ||
* [https://www.armbian.com/odroid-hc4/ Armbian Odroid HC4] | * [https://www.armbian.com/odroid-hc4/ Armbian Odroid HC4] | ||
* [https://u-boot.readthedocs.io/en/latest/board/amlogic/odroid-c4.html U-Boot for Odroid C4 documentation] | |||
[[Category:NixOS on ARM]] | |||