RISC-V: Difference between revisions
Import from https://pad.lassul.us/NixOS-riscv64-linux |
Rework on RISC-V landing page |
||
Line 1: | Line 1: | ||
{{Expansion}} | {{Expansion}} | ||
<!-- TODO: write preface --> | |||
== | == Supported devices == | ||
== | Table legend: | ||
* SoC - https://en.wikipedia.org/wiki/System_on_a_chip | |||
* ISA - https://en.wikipedia.org/wiki/Instruction_set_architecture | |||
=== Upstream (NixOS) supported devices === | |||
NixOS has no official support for riscv64-linux architecture on the nixpkgs-unstable and stable channel. | |||
<!-- | |||
Order for the device table is: | |||
* By manufacturer name, alphabetical. | |||
* By release date, chronological (older first). | |||
--> | |||
<!-- TODO | |||
{|class="table" | |||
!width="2%"| Manufacturer | |||
!width="2%"| Board | |||
!width="2%"| SoC | |||
!width="1%"| ISA | |||
!width="2%"| CPU | |||
!width="1%"| RAM | |||
!width="2%"| Storage | |||
|- | |||
| — | |||
| — | |||
| — | |||
| — | |||
| — | |||
| — | |||
| — | |||
|} | |||
--> | |||
=== Community supported devices === | |||
<!-- | |||
Order for the device table is: | |||
* By manufacturer name, alphabetical. | |||
* By release date, chronological (older first). | |||
--> | |||
<div class="table"> | |||
{|class="table" | |||
!width="2%"| Manufacturer | |||
!width="2%"| Board | |||
!width="2%"| SoC | |||
!width="1%"| ISA | |||
!width="2%"| CPU | |||
!width="2%"| RAM | |||
!width="2%"| Storage | |||
|- | |||
| StarFive | |||
| [[NixOS_on_RISCV/VisionFive|StarFive VisionFive]] | |||
| JH7100 | |||
| RV64GC | |||
| 2× SiFive U74 @ 1.5 GHz | |||
| 8GB LPDDR4 | |||
| microSD | |||
|- | |||
| StarFive | |||
| [[NixOS_on_RISCV/VisionFive_2|StarFive VisionFive 2]] | |||
| JH7110 | |||
| RV64GC | |||
| 4× SiFive U74 @ 1.5 GHz | |||
| 2GB/4GB/8GB LPDDR4 | |||
| microSD, eMMC, M.2 M-Key | |||
|} | |||
</div> | |||
==== Special Devices ==== | |||
It is possible to emulate a RISC-V platform with QEMU. | |||
<div class="table-responsive"> | |||
{|class="table" | |||
!width="2%"| Manufacturer | |||
!width="2%"| Board | |||
!width="2%"| SoC | |||
!width="2%"| ISA | |||
!width="2%"| CPU | |||
!width="2%"| RAM | |||
!width="2%"| Storage | |||
|- | |||
| QEMU | |||
| <!-- [[NixOS_on_RISCV/QEMU|QEMU]] --> | |||
| — | |||
| Anything QEMU supports | |||
| Anything QEMU supports | |||
| Anything QEMU supports | |||
| Anything QEMU supports | |||
|} | |||
</div> | |||
== Installation == | |||
=== Getting the installer === | |||
<!-- TODO | |||
==== UEFI iso ==== | |||
--> | |||
==== SD card images (SBCs and similar platforms) ==== | |||
For <code>riscv64</code> it is possible to download images from the community. | |||
* [https://github.com/zhaofengli/nixos-riscv64 Hifive Unmatched] | * [https://github.com/zhaofengli/nixos-riscv64 Hifive Unmatched] | ||
Line 19: | Line 115: | ||
* [https://github.com/ryan4yin/nixos-licheepi4a Lichee Pi 4A] | * [https://github.com/ryan4yin/nixos-licheepi4a Lichee Pi 4A] | ||
== Binary | Build or download the image. | ||
If the image has the extension <code>.zst</code>, it will need to be decompressed before writing to installation device. Use <code>nix-shell -p zstd --run "unzstd <img-name>.img.zst"</code> to decompress the image. | |||
<!-- TODO | |||
=== Installation steps === | |||
--> | |||
== Binary cache == | |||
* [https://github.com/misuzu/nixos-vf2/blob/master/flake.nix#L3 misuzu] | * [https://github.com/misuzu/nixos-vf2/blob/master/flake.nix#L3 misuzu] | ||
== | == NixOS Support == | ||
All RISC-V platforms are experimental for the time being. | |||
There is a dedicated room for the upstream effort on Matrix, | |||
[https://matrix.to/#/#riscv:nixos.org matrix:r/riscv:nixos.org]. | |||
=== Awaiting upstream RISC-V support === | === Awaiting upstream RISC-V support === | ||
Line 36: | Line 145: | ||
** [https://gitlab.haskell.org/ghc/ghc/-/issues/?label_name%5B%5D=RISC-V RISC-V Label] | ** [https://gitlab.haskell.org/ghc/ghc/-/issues/?label_name%5B%5D=RISC-V RISC-V Label] | ||
* [https://bugs.kde.org/show_bug.cgi?id=468575 Valgrind] | * [https://bugs.kde.org/show_bug.cgi?id=468575 Valgrind] | ||
== Resources == | |||
* https://wiki.riscv.org/display/HOME/Language+Runtimes | |||
* https://github.com/NixOS/nixos-hardware | |||
=== Meetings === | |||
{{Special:PrefixIndex/RISCV/Meetings/ |hideredirects=1 |stripprefix=1}} | |||
=== Subpages === | |||
The following is a list of all sub-pages of the ''NixOS on RISC-V'' topic. | |||
{{Special:PrefixIndex/NixOS_on_RISCV/ |hideredirects=1 |stripprefix=1}} |
Revision as of 21:59, 2 April 2024
Supported devices
Table legend:
- SoC - https://en.wikipedia.org/wiki/System_on_a_chip
- ISA - https://en.wikipedia.org/wiki/Instruction_set_architecture
Upstream (NixOS) supported devices
NixOS has no official support for riscv64-linux architecture on the nixpkgs-unstable and stable channel.
Community supported devices
Manufacturer | Board | SoC | ISA | CPU | RAM | Storage |
---|---|---|---|---|---|---|
StarFive | StarFive VisionFive | JH7100 | RV64GC | 2× SiFive U74 @ 1.5 GHz | 8GB LPDDR4 | microSD |
StarFive | StarFive VisionFive 2 | JH7110 | RV64GC | 4× SiFive U74 @ 1.5 GHz | 2GB/4GB/8GB LPDDR4 | microSD, eMMC, M.2 M-Key |
Special Devices
It is possible to emulate a RISC-V platform with QEMU.
Manufacturer | Board | SoC | ISA | CPU | RAM | Storage |
---|---|---|---|---|---|---|
QEMU | — | Anything QEMU supports | Anything QEMU supports | Anything QEMU supports | Anything QEMU supports |
Installation
Getting the installer
SD card images (SBCs and similar platforms)
For riscv64
it is possible to download images from the community.
Build or download the image.
If the image has the extension .zst
, it will need to be decompressed before writing to installation device. Use nix-shell -p zstd --run "unzstd <img-name>.img.zst"
to decompress the image.
Binary cache
NixOS Support
All RISC-V platforms are experimental for the time being.
There is a dedicated room for the upstream effort on Matrix, matrix:r/riscv:nixos.org.
Awaiting upstream RISC-V support
- LuaJIT
- OpenJDK
- GHC
- Main issue
- NCG
- LLVM backend
- Binary tarballs (needed for bootstrap)
- RISC-V Label
- Valgrind
Resources
Meetings
Subpages
The following is a list of all sub-pages of the NixOS on RISC-V topic.