NixOS on ARM/ODROID-C2: Difference between revisions
imported>Jasom mNo edit summary |
Phanirithvij (talk | contribs) m fix 500 url with alternate download and update instructions |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 19: | Line 19: | ||
|} | |} | ||
</div> | </div> | ||
{{outdated|The information is likely outdated, but it is likely the ODROID-C2 works well.}} | |||
== Status == | == Status == | ||
Mainline kernel from NixOS has been reported as working<ref>https://logs.nix.samueldr.com/nixos-aarch64/2018-01-25#863144;</ref>. A non-specified build from mainline u-boot also has been reported to work. | |||
== Board-specific installation notes == | == Board-specific installation notes == | ||
Note this assumes u-boot is in partition 1 of your board's connected eMMC. If you haven't done that yet, you can build it with nix and then write it this fusing script (using an emmc/usb adapter) [http://mirror.archlinuxarm.org/aarch64/alarm/uboot-odroid-c2-mainline-2019.07-1-aarch64.pkg.tar.xz download and extract] (replace /dev/sdX with the device for the eMMC): | |||
Note this assumes u-boot is in partition 1 of your board's connected eMMC. If you haven't done that yet, you can build it with nix and then write it this fusing script (using an emmc/usb adapter) [ | |||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
nix-build -A pkgsCross.aarch64-multiplatform.ubootOdroidC2 | nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform.ubootOdroidC2 | ||
cd result | cd result | ||
bash /path/to/sd_fusing.sh | bash /path/to/extracted/boot/sd_fusing.sh /dev/sdX | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# Download the sd-image from Hydra at https://hydra.nixos.org/job/nixos/release- | # Download the sd-image from Hydra at https://hydra.nixos.org/job/nixos/release-22.05-aarch64/nixos.sd_image.aarch64-linux/latest | ||
# Copy it to the SD card | # Copy it to the SD card | ||
# Mount first partition to /mnt with <code>sudo mount /dev/mmcblk0p1 /mnt</code> | # Mount first partition to /mnt with <code>sudo mount /dev/mmcblk0p1 /mnt</code> | ||
Line 86: | Line 86: | ||
== Serial console == | == Serial console == | ||
I used minicom to access the serial: | I used minicom to access the serial console: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
Line 96: | Line 96: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
then run <code>sudo minicom</code> to access the | then run <code>sudo minicom</code> to access the console. | ||
==Xorg== | |||
Nixos 20.03 should install all modules needed for this to work but at least two changes should be made to the xorg configuration: | |||
<pre> | |||
services.xserver.videoDrivers = [ "modesetting" ]; | |||
services.xserver.extraConfig = '' | |||
Section "OutputClass" | |||
Identifier "Meson" | |||
MatchDriver "meson" | |||
Driver "modesetting" | |||
Option "PrimaryGPU" "true" | |||
EndSection | |||
''; | |||
</pre> | |||
The HW cursor support was very laggy when tried on 20.03 so enabling the software cursor may be desired: | |||
< | <pre> | ||
services.xserver.deviceSection = "Option \"SWcursor\" \"on\""; | |||
</pre> | |||
== Resources == | == Resources == |