在 RISC-V 架构设备上安装
系统环境
本文编写基于 Sipeed Lichee Pi 4A 16G, 使用 RevyOS 20250526_182059 固件,感谢 甲辰计划 提供的硬件支持, 感谢 Anillc 和 NickCao 提供的帮助。
初始化 Nix 环境
为了节约生命,配置额外的 binary cache: https://cache.nichi.co https://nix-community.cachix.org
nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= hydra.nichi.co-0:P3nkYHhmcLR3eNJgOAnHDjmQLkfqheGyhZ6GLrUVHwk=
构建 MongoDB
MongoDB 没有提供官方的 RISC-V 支持,因此我们需要自行编译 MongoDB (如果使用 MongoDB Atlas 则可跳过该步骤)。
克隆 MongoDB 存储库:
下载 mozjs release:
给同目录的 gen-config.sh
添加 RISC-V 支持:
运行 gen-config.sh
得到 platform/riscv64/linux
目录:
修改 MongoDB 的 platform/pause.h
,添加 RISC-V 支持:
将上述 patch 传入 nixpkgs:
以上修改可参照 Nixpkgs PR#430577
构建得到 MongoDB 7.0.22 的 RISC-V 版本,使用 nix copy
传入目标设备。
安装各种组件并启动
编译器/语言兼容性
- 测试正常:bash, c, c++, python3, nodejs, go, ruby
- 暂无法使用:java, pascal, kotlin, php, rust, csharp