ARM / Raspberry Pi上的NixOS

2020-12-26 05:35:18

Raspberry Pi系列设备是由Raspberry Pi Foundation制造的一系列单板计算机。它们都基于Broadcom片上系统(SOC)。

NixOS不支持Raspberry Pi 4B,尽管会生成特定于它的beta质量的磁盘映像。一旦主线内核和主线U-Boot通过通用主线映像启动,它将获得与Pi 3家族相同的支持。

其他Raspberry Pi(0、1和2)是向ARMv6和ARMv7移植的各种社区的一部分。

除了Raspberry Pi 1系列以外,所使用的Linux内核是主线Linux内核,而不是Raspberry Pi Foundation的分支。这可能会降低与某些附加板或第三方库的兼容性[需要更多的说明]。

下表旨在由NixOS贡献者使用板的当前状态进行更新。有关产品列表,请参阅产品档案。

Raspberry Pi 3系列仅支持作为AArch64。社区支持将其用作armv7。

首先,按照常规安装步骤获取安装程序映像,然后使用安装和配置步骤进行安装。

您的configuration.nix需要将console = ttyS1,115200n8添加到boot.kernelParams配置中才能使用串行控制台。

如果使用Raspberry Pi下游内核,则将串行接口命名为serial0。

根据所使用的体系结构,二进制缓存的可用性会有所不同。二进制缓存指令位于ARM主页上的NixOS主页面上。下表描述了每个主板支持的架构。

自定义引导程序是Raspberry Pi固件的一部分,通过使其引导U-Boot而被抽象为NixOS。

除了将引导文件存储在主分区而不是固件分区上之外,U-Boot还使我们能够在引导过程中提供一个生成选择菜单。

尽管已经报告了一些问题,但USB键盘和HDMI显示器应该可以工作(请参阅下面的疑难解答)。

通过引脚接头使用3.3v串行端口(具体位置取决于硬件版本)将获得u-boot输出,并且在配置后还会获得Linux内核控制台。

特别是对于较耗电的Raspberry Pi系列(3、4),重要的是要有足够的电源,否则可能会发生怪异现象。 怪异可能包括: 这个问题是一个难题。 这是由Raspberry Pi关于电源问题的警告引起的,但是当前的驱动程序(从Linux 4.14开始)很难正确处理。 如果电源的额定值正确并且电缆不会造成太多的功率损耗,则可能需要禁用雷电指示器,以便不会弄乱显示驱动器。 [1]可以通过在config.txt中添加行prevent_warnings = 1来禁用闪电指示器[2] 注意:必须使用正确额定的USB电源和良好的电缆。 电缆必须足够短,以免引起整个长度的功率损耗。 请注意,细而便宜的电缆通常会使用较细的铜线,这反过来会加剧功率损耗。