I am failing to install NixOS 22.05 onto a 4GB RPi4B v1.1. The process fails with the following message when trying to boot the image on the SSD:
Net: eth0: ethernet07d580000
PCIe BRCM: Link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devices... Unexpected XHCI event TRB, skipping...
BUG at drivers/usb/host/xhci-ring.c:503/abort_td()!
BUG!
resetting...
Details:
- List item I’ve tried installing the following SD images to the SSD with dd: https://hydra.nixos.org/job/nixos/release-22.05/nixos.sd_image_new_kernel.aarch64-linux/latest/download/1 and https://hydra.nixos.org/job/nixos/release-22.05/nixos.sd_image.aarch64-linux/latest/download/1.
- List item I have tried manually building a NixOS image by formatting, mounting, nixos-generate-config, tweak, and nixos-install.
- List item I have been running Ubuntu 64-bit for more than a year on this unit. It uses an ADATA SP550 240 GB SSD connected via a StarTech USB3S2SAT3CB adapter for storage.
- List item rpi-eeprom-update reports the latest firmwares:
BOOTLOADER: up to date
CURRENT: Tue Jan 25 02:30:41 PM UTC 2022 (1643121041)
LATEST: Tue Jan 25 02:30:41 PM UTC 2022 (1643121041)
RELEASE: default (/nix/store/kamvn40ksgr3cpivvbxbkp926mi9x7az-raspberrypi-eeprom-unstable-2022-03-10/share/rpi-eeprom/default)
Use raspi-config to change the release.
VL805_FW: Dedicated VL805 EEPROM
VL805: up to date
CURRENT: 000138a1
LATEST: 000138a1
- List item The configuration.nix file I’ve been using:
{ config, pkgs, lib, ... }:
let
user = "matt";
password = "********";
hostname = "berry";
in {
imports =
[
./hardware-configuration.nix # Include the results of the hardware scan.
"${fetchTarball "https://github.com/NixOS/nixos-hardware/archive/936e4649098d6a5e0762058cb7687be1b2d90550.tar.gz" }/raspberry-pi/4"
];
system.stateVersion = "22.05";
boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" "uas" "usb_storage" ];
networking = {
hostName = hostname;
wireless.enable = false;
};
time.timeZone = "America/New_York";
environment.systemPackages = with pkgs; [
vim
wget
zstd
];
services.openssh = {
enable = true;
};
users = {
mutableUsers = false;
users."${user}" = {
isNormalUser = true;
password = password;
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
};
};
}