NixOS Router: Banana PI R4¶
Der Banana Pi R4 ist ein leistungsfähiges und dabei preislich sehr attraktives Netzwerkgerät, das speziell für anspruchsvolle Anwendungen entwickelt wurde. Ausgestattet mit dem MediaTek MT7988 SoC und bis zu 8 GB DDR4-RAM bietet er eine starke Grundlage für moderne Netzwerkinfrastrukturen. Besonders hervorzuheben sind die beiden integrierten SFP+ Schnittstellen, die High-Speed-Datenübertragungen mit bis zu 10 Gbit/s ermöglichen. Durch die Unterstützung von Wi-Fi 6, einem M.2-Steckplatz für NVMe- oder 5G-Module sowie vielseitigen GPIO-Pins ist der BPI-R4 äußerst flexibel und erweiterbar.
Für das Vorgängermodell, den Banana Pi R3, gibt es bereits eine größtenteils funktionale NixOS-Implementierungen. Siehe Router 2023: Part 1, Router 2023: Part 2, Beispielkonfiguration.
Mitte 2024 entwickelte sich aus dieser Beispielkonfiguration ein NixOS Modul für Einplatinencomputer, welches auch die Unterstützung des BPI-R4 anstrebt. Unabhängig davon dokumentierte ein anderer Nutzer seinen Fortschritt in einem eigenen Git Repository.
Die Suche nach einem Anbieter, der die 8-GB-Variante des Banana Pi R4 inklusive Zubehör nach Deutschland liefert, erwies sich als herausfordernd. Letztendlich habe ich mich für folgenden Artikel entschieden: amazon.de/dp/B0F2HZSH3L. Abweichend zur Produktbeschreibung und den Abbildungen wurde anstatt eines US-Netzteils ein EU-Netzteil mitgeliefert.
Der Zusammenbau gestaltet sich dank der ausführlichen Anleitung unter docs.banana-pi.org/en/BPI-R4/BPI-R4_Accessory_installation äußerst einfach und problemlos. Vorerst habe ich bewusst auf den Einbau des Wireless-Moduls verzichtet, da dieses für die ersten Tests und einen der geplanten Anwendungszwecke nicht zwingend erforderlich ist und sich dadurch potenzielle Fehlerquellen vermeiden lassen.
Zwei DIP-Schalter erlauben die Auswahl des Bootmediums. Zunächst stellte ich diese auf die Position 01, um vom NAND-Chip zu booten. Auf meinem Board war dort OpenWRT in der Version 21.02 installiert.
Bootlog von OpenWRT 21.02 auf NAND
F0: 102B 0000 FA: 1042 0000 FA: 1042 0000 [0200] F9: 0000 0000 V0: 0000 0000 [0001] 00: 0000 0000 BP: 0600 0041 [0000] G0: 1190 0000 EC: 0000 0000 [1000] MK: 0000 0000 [0000] T0: 0000 01AD [0101] Jump to BL NOTICE: BL2: v2.11.0(release): NOTICE: BL2: Built : 11:21:00, Mar 8 2025 NOTICE: WDT: [40000000] Software reset (reboot) NOTICE: CPU: MT7988 NOTICE: EMI: DDR4 4BG mode NOTICE: EMI: Using DDR unknown settings NOTICE: EMI: Detected DRAM size: 8192 MB NOTICE: EMI: complex R/W mem test passed WARNING: CASN page check failed WARNING: Fail to read CASN page. Try reading parameter page NOTICE: SPI_NAND parses attributes from parameter page. NOTICE: SPI_NAND Detected ID 0xef NOTICE: Page size 2048, Block size 131072, size 268435456 NOTICE: Initializing NMBM ... NOTICE: Signature found at block 2047 [0x0ffe0000] NOTICE: First info table with writecount 0 found in block 1920 NOTICE: Second info table with writecount 0 found in block 1923 NOTICE: NMBM has been successfully attached in read-only mode NOTICE: BL2: Booting BL31 NOTICE: BL31: v2.11.0(release): NOTICE: BL31: Built : 11:21:04, Mar 8 2025 U-Boot 2024.10-rc2 (Mar 08 2025 - 11:10:17 +0800) CPU: MediaTek MT7988 Model: mt7988-rfb (mediatek,mt7988-spim-nand-rfb) DRAM: 8 GiB Core: 48 devices, 12 uclasses, devicetree: separate Initializing NMBM ... spi-nand: spi_nand spi_nand@0: CASN page check failed spi-nand: spi_nand spi_nand@0: Fallback to read ID spi-nand: spi_nand spi_nand@0: Winbond SPI NAND was found. spi-nand: spi_nand spi_nand@0: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 128 Could not find a valid device for nmbm0 Signature found at block 2047 [0x0ffe0000] First info table with writecount 0 found in block 1920 Second info table with writecount 0 found in block 1923 NMBM has been successfully attached Loading Environment from MTD... *** Warning - bad CRC, using default environment In: serial@11000000 Out: serial@11000000 Err: serial@11000000 Net: Warning: ethernet@15100000 (eth0) using random MAC address - 1e:71:e6:23:3d:be eth0: ethernet@15100000 *** U-Boot Boot Menu *** 1. Startup system (Default) 2. Upgrade firmware 3. Upgrade ATF BL2 4. Upgrade ATF FIP 5. Upgrade ATF BL31 only 6. Upgrade bootloader only 7. Upgrade single image 8. Load image 9. Start Web failsafe 0. U-Boot console Press UP/DOWN to move, ENTER to select, ESC to quit ubi0: attaching mtd6 ubi0: scanning is finished ubi0: attached mtd6 (name "ubi", size 112 MiB) ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 ubi0: good PEBs: 900, bad PEBs: 0, corrupted PEBs: 0 ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128 ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1717567889 ubi0: available PEBs: 0, total reserved PEBs: 900, PEBs reserved for bad PEB handling: 38 Volume firmware not found! No size specified -> Using max size (4190208) Read 4190208 bytes from volume kernel to 0000000044000000 ## Loading kernel from FIT Image at 44000000 ... Using 'config-1' configuration Trying 'kernel-1' kernel subimage Description: ARM64 OpenWrt Linux-5.4.271 Type: Kernel Image Compression: lzma compressed Data Start: 0x440000e8 Data Size: 4079828 Bytes = 3.9 MiB Architecture: AArch64 OS: Linux Load Address: 0x48080000 Entry Point: 0x48080000 Hash algo: crc32 Hash value: 66074b12 Hash algo: sha1 Hash value: 9e960a57792a18b1218da2e9808060d1336fa155 Verifying Hash Integrity ... crc32+ sha1+ OK ## Loading fdt from FIT Image at 44000000 ... Using 'config-1' configuration Trying 'fdt-1' fdt subimage Description: ARM64 OpenWrt BPI-R4-NAND device tree blob Type: Flat Device Tree Compression: uncompressed Data Start: 0x443e42f8 Data Size: 35220 Bytes = 34.4 KiB Architecture: AArch64 Hash algo: crc32 Hash value: f38f6e07 Hash algo: sha1 Hash value: 70587200d406deca7988ece4511e85aa3a1407ec Verifying Hash Integrity ... crc32+ sha1+ OK Booting using the fdt blob at 0x443e42f8 Working FDT set to 443e42f8 Uncompressing Kernel Image to 48080000 Loading Device Tree to 00000000ff7ea000, end 00000000ff7f5993 ... OK Working FDT set to ff7ea000 Add 'ramoops@42ff0000' node failed: FDT_ERR_EXISTS Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd090] [ 0.000000] Linux version 5.4.271 ([email protected]) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 unknown)) #0 SMP Wed Jun 5 06:11:29 2024 [ 0.000000] Machine model: Bananapi BPI-R4 [ 0.000000] earlycon: uart8250 at MMIO32 0x0000000011000000 (options '') [ 0.000000] printk: bootconsole [uart8250] enabled [ 0.000000] On node 0 totalpages: 2094272 [ 0.000000] DMA32 zone: 12288 pages used for memmap [ 0.000000] DMA32 zone: 0 pages reserved [ 0.000000] DMA32 zone: 783552 pages, LIFO batch:63 [ 0.000000] Normal zone: 20480 pages used for memmap [ 0.000000] Normal zone: 1310720 pages, LIFO batch:63 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.0 [ 0.000000] percpu: Embedded 20 pages/cpu s44376 r8192 d29352 u81920 [ 0.000000] pcpu-alloc: s44376 r8192 d29352 u81920 alloc=20*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: kernel page table isolation disabled by kernel configuration [ 0.000000] CPU features: detected: Spectre-BHB [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2061504 [ 0.000000] Kernel command line: console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11000000 pci=pcie_bus_perf [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: mapped [mem 0xfb7ea000-0xff7ea000] (64MB) [ 0.000000] Memory: 8138456K/8377088K available (8382K kernel code, 602K rwdata, 2468K rodata, 512K init, 293K bss, 238632K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: CONFIG_RCU_FANOUT set to non-default value of 32. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 416 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: Distributor has no Range Selector support [ 0.000000] GICv3: 16 PPIs implemented [ 0.000000] GICv3: no VLPI support, no direct LPI support [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000 [ 0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns [ 0.000003] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns [ 0.008265] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=52000) [ 0.018659] pid_max: default: 32768 minimum: 301 [ 0.023396] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.031076] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.039778] ASID allocator initialised with 65536 entries [ 0.045285] rcu: Hierarchical SRCU implementation. [ 0.050384] smp: Bringing up secondary CPUs ... [ 0.055177] Detected VIPT I-cache on CPU1 [ 0.055196] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000 [ 0.055210] CPU1: Booted secondary processor 0x0000000001 [0x411fd090] [ 0.055425] Detected VIPT I-cache on CPU2 [ 0.055433] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000 [ 0.055441] CPU2: Booted secondary processor 0x0000000002 [0x411fd090] [ 0.055642] Detected VIPT I-cache on CPU3 [ 0.055650] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000 [ 0.055657] CPU3: Booted secondary processor 0x0000000003 [0x411fd090] [ 0.055686] smp: Brought up 1 node, 4 CPUs [ 0.112710] SMP: Total of 4 processors activated. [ 0.117472] CPU features: detected: 32-bit EL0 Support [ 0.122674] CPU features: detected: CRC32 instructions [ 0.127957] CPU: All CPU(s) started at EL2 [ 0.132106] alternatives: patching kernel code [ 0.139023] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.148905] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.155925] pinctrl core: initialized pinctrl subsystem [ 0.161635] NET: Registered protocol family 16 [ 0.166326] DMA: preallocated 256 KiB pool for atomic allocations [ 0.173206] printk: console [pstore-1] enabled [ 0.177741] pstore: Registered ramoops as persistent store backend [ 0.184002] ramoops: using 0x10000@0x42ff0000, ecc: 0 [ 0.191825] GPIO line 432 (asm_sel) hogged as output/high [ 0.197333] GPIO line 433 (pca9545_rst) hogged as output/high [ 0.208356] cryptd: max_cpu_qlen set to 1000 [ 0.213938] SCSI subsystem initialized [ 0.217810] libata version 3.00 loaded. [ 0.221795] usbcore: registered new interface driver usbfs [ 0.227416] usbcore: registered new interface driver hub [ 0.232808] usbcore: registered new device driver usb [ 0.238485] Bluetooth: Core ver 2.22 [ 0.242128] NET: Registered protocol family 31 [ 0.246623] Bluetooth: HCI device and connection manager initialized [ 0.253058] Bluetooth: HCI socket layer initialized [ 0.257992] Bluetooth: L2CAP socket layer initialized [ 0.263109] Bluetooth: SCO socket layer initialized [ 0.268245] rbus 18000000.wbsys: PCI host bridge to bus 0004:00 [ 0.274242] pci_bus 0004:00: root bus resource [mem 0x18000000-0x18ffffff] [ 0.281206] pci_bus 0004:00: root bus resource [bus 00-ff] [ 0.286762] pci_bus 0004:00: scanning bus [ 0.290826] pci 0004:00:00.0: [14c3:7981] type 00 class 0x000280 [ 0.296915] pci 0004:00:00.0: reg 0x10: [mem 0x18000000-0x1800000f 64bit] [ 0.303789] pci 0004:00:00.0: reg 0x18: [mem 0x00000000-0x0000000f] [ 0.310133] pci 0004:00:00.0: reg 0x1c: [mem 0x00000000-0x0000000f] [ 0.316476] pci 0004:00:00.0: reg 0x20: [mem 0x00000000-0x0000000f] [ 0.322821] pci 0004:00:00.0: reg 0x24: [mem 0x00000000-0x0000000f] [ 0.330084] pci_bus 0004:00: fixups for bus [ 0.334317] pci_bus 0004:00: bus scan returning with max=00 [ 0.340131] clocksource: Switched to clocksource arch_sys_counter [ 0.346633] thermal_sys: Registered thermal governor 'fair_share' [ 0.346635] thermal_sys: Registered thermal governor 'bang_bang' [ 0.352809] thermal_sys: Registered thermal governor 'step_wise' [ 0.358892] thermal_sys: Registered thermal governor 'user_space' [ 0.364972] thermal_sys: Registered thermal governor 'power_allocator' [ 0.371487] NET: Registered protocol family 2 [ 0.382704] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.392329] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear) [ 0.401020] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.409242] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear) [ 0.417140] TCP: Hash tables configured (established 65536 bind 65536) [ 0.423835] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 0.430802] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear) [ 0.438302] NET: Registered protocol family 1 [ 0.442742] PCI: CLS 0 bytes, default 64 [ 0.447305] workingset: timestamp_bits=46 max_order=21 bucket_order=0 [ 0.455614] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.461596] ntfs: driver 2.1.32 [Flags: R/W]. [ 0.466060] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.494865] Debug interface error [ 0.498273] io scheduler mq-deadline registered [ 0.502865] io scheduler kyber registered [ 0.506974] io scheduler bfq registered [ 0.511408] phy [email protected]: type_sw - reg 0x218, index 0 [ 0.518248] mtk-pcie 11300000.pcie: host bridge /pcie@11300000 ranges: [ 0.524872] mtk-pcie 11300000.pcie: Parsing ranges property... [ 0.530783] mtk-pcie 11300000.pcie: IO 0x30000000..0x301fffff -> 0x30000000 [ 0.538104] mtk-pcie 11300000.pcie: MEM 0x30200000..0x37ffffff -> 0x30200000 [ 0.545445] mtk-pcie 11300000.pcie: failed to get max link width [ 0.756159] mtk-pcie 11300000.pcie: PCIe link down, ltssm reg val: 0x1 [ 0.762803] mtk-pcie: probe of 11300000.pcie failed with error -110 [ 0.769217] mtk-pcie 11310000.pcie: host bridge /pcie@11310000 ranges: [ 0.775832] mtk-pcie 11310000.pcie: Parsing ranges property... [ 0.781746] mtk-pcie 11310000.pcie: IO 0x38000000..0x381fffff -> 0x38000000 [ 0.789066] mtk-pcie 11310000.pcie: MEM 0x38200000..0x3fffffff -> 0x38200000 [ 0.796394] mtk-pcie 11310000.pcie: failed to get max link width [ 1.008174] mtk-pcie 11310000.pcie: PCIe link down, ltssm reg val: 0x1 [ 1.014804] mtk-pcie: probe of 11310000.pcie failed with error -110 [ 1.021209] mtk-pcie 11280000.pcie: host bridge /pcie@11280000 ranges: [ 1.027821] mtk-pcie 11280000.pcie: Parsing ranges property... [ 1.033733] mtk-pcie 11280000.pcie: IO 0x20000000..0x201fffff -> 0x20000000 [ 1.041046] mtk-pcie 11280000.pcie: MEM 0x20200000..0x27ffffff -> 0x20200000 [ 1.048377] mtk-xsphy usb-phy@11e10000: incompatible phy type [ 1.054209] mtk-pcie 11280000.pcie: failed to get max link width [ 1.268149] mtk-pcie 11280000.pcie: PCIe link down, ltssm reg val: 0x1 [ 1.274784] mtk-pcie: probe of 11280000.pcie failed with error -110 [ 1.281181] mtk-pcie 11290000.pcie: host bridge /pcie@11290000 ranges: [ 1.287791] mtk-pcie 11290000.pcie: Parsing ranges property... [ 1.293703] mtk-pcie 11290000.pcie: IO 0x28000000..0x281fffff -> 0x28000000 [ 1.301018] mtk-pcie 11290000.pcie: MEM 0x28200000..0x2fffffff -> 0x28200000 [ 1.308351] mtk-pcie 11290000.pcie: failed to get max link width [ 1.520153] mtk-pcie 11290000.pcie: PCIe link down, ltssm reg val: 0x1 [ 1.526781] mtk-pcie: probe of 11290000.pcie failed with error -110 [ 1.533714] mtk-power-controller 11d10000.topmisc: /topmisc@11d10000/eth2p5@2: A default off power domain has been ON [ 1.544624] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled [ 1.551406] printk: console [ttyS0] disabled [ 1.575845] 11000000.serial: ttyS0 at MMIO 0x11000000 (irq = 17, base_baud = 2500000) is a ST16650V2 [ 1.585115] printk: console [ttyS0] enabled [ 1.585115] printk: console [ttyS0] enabled [ 1.593475] printk: bootconsole [uart8250] disabled [ 1.593475] printk: bootconsole [uart8250] disabled [ 1.603645] mtk_rng trng@1020f000: registered RNG driver [ 1.603683] random: crng init done [ 1.613580] loop: module loaded [ 1.618694] spi-nand spi0.0: calibration result: 0x2 [ 1.623750] spi-nand spi0.0: Winbond SPI NAND was found. [ 1.629055] spi-nand spi0.0: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 128 [ 1.638683] mt7988-pinctrl 1001f000.pinctrl: invalid function mdio in map table [ 1.646560] [mtk_hw_init] reset_lock:0, force:1 [ 1.651237] [mtk_hw_init] execute fe cold reset [ 1.666767] mtk_soc_eth 15100000.ethernet: MDC is running on 8333333 Hz [ 1.694017] mtk_soc_eth 15100000.ethernet: generated random MAC address 6a:18:88:75:f8:f9 [ 1.702637] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc012100000, irq 14 [ 1.711706] mtk_soc_eth 15100000.ethernet: generated random MAC address 6a:b4:a2:bc:2c:4f [ 1.720218] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc012100000, irq 14 [ 1.729275] mtk_soc_eth 15100000.ethernet: generated random MAC address 32:7b:6d:53:29:8a [ 1.737777] mtk_soc_eth 15100000.ethernet eth2: mediatek frame engine at 0xffffffc012100000, irq 14 [ 1.746814] (unnamed net_device) (dummy): netif_napi_add() called with weight 256 [ 1.754437] PPP generic driver version 2.4.2 [ 1.758756] PPP BSD Compression module registered [ 1.763452] PPP Deflate Compression module registered [ 1.768494] NET: Registered protocol family 24 [ 1.772966] usbcore: registered new interface driver r8152 [ 1.778450] usbcore: registered new interface driver ax88179_178a [ 1.784541] usbcore: registered new interface driver cdc_ether [ 1.790371] usbcore: registered new interface driver rndis_host [ 1.796295] usbcore: registered new interface driver cdc_ncm [ 1.801956] usbcore: registered new interface driver qmi_wwan_q [ 1.807874] usbcore: registered new interface driver qmi_wwan [ 1.813618] usbcore: registered new interface driver cdc_mbim [ 1.819517] xhci-mtk 11200000.xhci: 11200000.xhci supply vbus not found, using dummy regulator [ 1.828146] xhci-mtk 11200000.xhci: 11200000.xhci supply vusb33 not found, using dummy regulator [ 1.837025] phy [email protected]: try to get sw efuse [ 1.842595] phy [email protected]: try to get sw efuse [ 1.848310] xhci-mtk 11200000.xhci: xHCI Host Controller [ 1.853687] xhci-mtk 11200000.xhci: new USB bus registered, assigned bus number 1 [ 1.864207] xhci-mtk 11200000.xhci: hcc params 0x01403f99 hci version 0x110 quirks 0x0000000000210010 [ 1.873439] xhci-mtk 11200000.xhci: irq 122, io mem 0x11200000 [ 1.879323] xhci-mtk 11200000.xhci: xHCI Host Controller [ 1.884627] xhci-mtk 11200000.xhci: new USB bus registered, assigned bus number 2 [ 1.892100] xhci-mtk 11200000.xhci: Host supports USB 3.2 Enhanced SuperSpeed [ 1.899468] hub 1-0:1.0: USB hub found [ 1.903283] hub 1-0:1.0: 1 port detected [ 1.907355] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. [ 1.915593] hub 2-0:1.0: USB hub found [ 1.919347] hub 2-0:1.0: 1 port detected [ 1.923459] usbcore: registered new interface driver cdc_wdm [ 1.929180] usbcore: registered new interface driver uas [ 1.934514] usbcore: registered new interface driver usb-storage [ 1.940552] usbcore: registered new interface driver usbserial_generic [ 1.947076] usbserial: USB Serial support registered for generic [ 1.953083] usbcore: registered new interface driver option [ 1.958650] usbserial: USB Serial support registered for GSM modem (1-port) [ 1.965649] usbcore: registered new interface driver pl2303 [ 1.971216] usbserial: USB Serial support registered for pl2303 [ 1.977137] usbcore: registered new interface driver qcaux [ 1.982618] usbserial: USB Serial support registered for qcaux [ 1.988452] usbcore: registered new interface driver qcserial [ 1.994195] usbserial: USB Serial support registered for Qualcomm USB modem [ 2.001277] i2c /dev entries driver [ 2.012479] vcore: supplied by rt5190a-buck1 [ 2.019443] proc: supplied by rt5190a-buck1 [ 2.025887] rt5190a-buck4: supplied by rt5190a-buck1 [ 2.031787] rt5190a-ldo: supplied by regulator-dummy [ 2.038957] at24 3-0057: 256 byte 24c02 EEPROM, writable, 1 bytes/write [ 2.051031] rtc-pcf8563 3-0051: registered as rtc0 [ 2.056698] i2c i2c-2: Added multiplexed i2c bus 3 [ 2.061538] i2c i2c-2: Added multiplexed i2c bus 4 [ 2.066370] i2c i2c-2: Added multiplexed i2c bus 5 [ 2.126369] i2c i2c-2: Added multiplexed i2c bus 6 [ 2.131158] pca954x 2-0070: registered 4 multiplexed busses for I2C switch pca9545 [ 2.139070] mtk-soc-temp-lvts 1100a000.lvts: [lvts_cal] golden_temp = 60 [ 2.145767] mtk-soc-temp-lvts 1100a000.lvts: [lvts_cal] num:g_count:g_count_rc 0:19580:5269 1:19602:0 2:19616:0 3:19618:0 4:19505:5266 5:19524:0 6:19531:0 7:19564:0 [ 2.162346] mtk-soc-temp-lvts 1100a000.lvts: [COUNT_RC_NOW] 0:5276 1:5286 2:5275 3:5289 4:5274 5:5275 6:5274 7:5275 [ 2.172878] mtk-soc-temp-lvts 1100a000.lvts: set_polling_speed 0, LVTSMONCTL1_0= 0x10000c,LVTSMONCTL2_0= 0x10001 [ 2.183041] mtk-soc-temp-lvts 1100a000.lvts: set_hw_filter 0, LVTSMSRCTL0_0= 0xb6d [ 2.190599] mtk-soc-temp-lvts 1100a000.lvts: lvts0: read all 4 sensors in 10080 us, one in 2404 us [ 2.199577] mtk-soc-temp-lvts 1100a000.lvts: set_polling_speed 1, LVTSMONCTL1_0= 0x10000c,LVTSMONCTL2_0= 0x10001 [ 2.209745] mtk-soc-temp-lvts 1100a000.lvts: set_hw_filter 1, LVTSMSRCTL0_0= 0xb6d [ 2.217302] mtk-soc-temp-lvts 1100a000.lvts: lvts1: read all 4 sensors in 10080 us, one in 2404 us [ 2.226247] mtk-soc-temp-lvts 1100a000.lvts: set_tc_hw_reboot_threshold: LVTS0, the dominator sensing point= 0 [ 2.236234] mtk-soc-temp-lvts 1100a000.lvts: set_tc_hw_reboot_threshold: LVTS1, the dominator sensing point= 0 [ 2.246517] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised: [email protected] [ 2.254996] Bluetooth: HCI UART driver ver 2.3 [ 2.259433] Bluetooth: HCI UART protocol H4 registered [ 2.264560] Bluetooth: HCI UART protocol BCSP registered [ 2.269899] Bluetooth: HCI UART protocol Broadcom registered [ 2.275556] Bluetooth: HCI UART protocol QCA registered [ 2.304952] exFAT: Version 1.3.0 [ 2.308709] Initializing XFRM netlink socket [ 2.313136] NET: Registered protocol family 10 [ 2.317976] Segment Routing with IPv6 [ 2.321676] NET: Registered protocol family 17 [ 2.326134] Bridge firewalling registered [ 2.328138] usb 1-1: new high-speed USB device number 2 using xhci-mtk [ 2.330175] 8021q: 802.1Q VLAN Support v1.8 [ 2.348673] nmbm nmbm_spim_nand: Signature found at block 2047 [0x0ffe0000] [ 2.356619] nmbm nmbm_spim_nand: First info table with writecount 0 found in block 1920 [ 2.367403] nmbm nmbm_spim_nand: Second info table with writecount 0 found in block 1923 [ 2.375496] nmbm nmbm_spim_nand: NMBM has been successfully attached [ 2.381952] 5 fixed-partitions partitions found on MTD device nmbm_spim_nand [ 2.388995] Creating 5 MTD partitions on "nmbm_spim_nand": [ 2.394490] 0x000000000000-0x000000100000 : "BL2" [ 2.399579] 0x000000100000-0x000000180000 : "u-boot-env" [ 2.405131] 0x000000180000-0x000000580000 : "Factory" [ 2.410413] 0x000000580000-0x000000780000 : "FIP" [ 2.415356] 0x000000780000-0x000007800000 : "ubi" [ 2.420622] sfp sfp@0: Host maximum power 3.0W [ 2.425087] sfp sfp@0: tx disable 1 -> 1 [ 2.429174] sfp sfp@0: SM: enter empty:detached:down event dev_attach [ 2.435616] sfp sfp@0: SM: exit empty:down:down [ 2.440281] sfp sfp@1: Host maximum power 3.0W [ 2.444734] sfp sfp@1: tx disable 1 -> 1 [ 2.448790] sfp sfp@1: SM: enter empty:detached:down event dev_attach [ 2.455227] sfp sfp@1: SM: exit empty:down:down [ 2.463398] mtk-msdc 11230000.mmc: phase: [map:fffffff] [maxlen:28] [final:9] [ 2.470953] mmc0: new HS400 MMC card at address 0001 [ 2.476377] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB [ 2.481282] mmcblk0boot0: mmc0:0001 8GTF4R partition 1 4.00 MiB [ 2.487576] mmcblk0boot1: mmc0:0001 8GTF4R partition 2 4.00 MiB [ 2.490707] hub 1-1:1.0: USB hub found [ 2.493526] mmcblk0rpmb: mmc0:0001 8GTF4R partition 3 512 KiB, chardev (247:0) [ 2.497333] hub 1-1:1.0: 5 ports detected [ 2.630179] usb 2-1: new SuperSpeed Gen 1x2 USB device number 2 using xhci-mtk [ 2.658591] hub 2-1:1.0: USB hub found [ 2.662518] hub 2-1:1.0: 4 ports detected [ 3.196133] usb 1-1.5: new high-speed USB device number 3 using xhci-mtk [ 3.410559] MediaTek MT7988 PHY dsa-0.0:00: TX-VCM SW cal result: 0x3 [ 3.435972] MediaTek MT7988 PHY dsa-0.0:01: TX-VCM SW cal result: 0x2 [ 3.462228] MediaTek MT7988 PHY dsa-0.0:02: TX-VCM SW cal result: 0x2 [ 3.487244] MediaTek MT7988 PHY dsa-0.0:03: TX-VCM SW cal result: 0x2 [ 3.506013] mt7530 mdio-bus:1f lan0 (uninitialized): PHY [dsa-0.0:00] driver [MediaTek MT7988 PHY] [ 3.526186] mt7530 mdio-bus:1f lan1 (uninitialized): PHY [dsa-0.0:01] driver [MediaTek MT7988 PHY] [ 3.546260] mt7530 mdio-bus:1f lan2 (uninitialized): PHY [dsa-0.0:02] driver [MediaTek MT7988 PHY] [ 3.566297] mt7530 mdio-bus:1f lan3 (uninitialized): PHY [dsa-0.0:03] driver [MediaTek MT7988 PHY] [ 3.575449] mt7530 mdio-bus:1f: configuring for fixed/10gbase-kr link mode [ 3.582328] DSA: tree 0 setup [ 3.582332] mt7530 mdio-bus:1f: Link is Up - 10Gbps/Full - flow control rx/tx [ 3.585287] mt7530-nl: genl_register_family_with_ops [ 3.585640] UBI: auto-attach mtd5 [ 3.600767] ubi0: attaching mtd5 [ 3.874856] ubi0: scanning is finished [ 3.882215] ubi0: attached mtd5 (name "ubi", size 112 MiB) [ 3.887695] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes [ 3.894558] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 [ 3.901334] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 [ 3.908282] ubi0: good PEBs: 900, bad PEBs: 0, corrupted PEBs: 0 [ 3.914277] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128 [ 3.921486] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1717567889 [ 3.930603] ubi0: available PEBs: 0, total reserved PEBs: 900, PEBs reserved for bad PEB handling: 38 [ 3.939812] ubi0: background thread "ubi_bgt0d" started, PID 1022 [ 3.946392] block ubiblock0_1: created from ubi0:1(rootfs) [ 3.951871] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem [ 3.960267] rtc-pcf8563 3-0051: low voltage detected, date/time is not reliable. [ 3.967653] rtc-pcf8563 3-0051: hctosys: unable to read the hardware clock [ 3.978221] VFS: Mounted root (squashfs filesystem) readonly on device 253:0. [ 3.985458] Freeing unused kernel memory: 512K [ 4.012197] Run /sbin/init as init process [ 4.157383] init: Console is alive [ 4.703499] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 4.746382] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 4.753195] fsl-ehci: Freescale EHCI Host controller driver [ 4.759077] ehci-platform: EHCI generic platform driver [ 4.764999] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 4.771398] ohci-platform: OHCI generic platform driver [ 4.778753] mediatek_soc_hnat 15100000.hnat: wan = eth2 [ 4.784001] mediatek_soc_hnat 15100000.hnat: lan = lan [ 4.789141] mediatek_soc_hnat 15100000.hnat: lan2 = eth1 [ 4.794444] mediatek_soc_hnat 15100000.hnat: ppd = eth0 [ 4.799659] mediatek_soc_hnat 15100000.hnat: gmac num = 3 [ 4.805047] mediatek_soc_hnat 15100000.hnat: ppe num = 1 [ 4.810784] mediatek_soc_hnat 15100000.hnat: PPE0 entry number = 8192 [ 4.827466] mediatek_soc_hnat 15100000.hnat: PPE0 hwnat start [ 4.833258] hnat roaming work enable [ 4.838789] warp_module_init(): module init and register callback for warp [ 4.845693] create warp_ctrl ok!!! [ 4.849135] wed_get_slot_map(): assign slot_id:0 for entry: 0! [ 4.854970] wed_get_slot_map(): assign slot_id:1 for entry: 1! [ 4.860802] wed_get_slot_map(): assign slot_id:2 for entry: 2! [ 4.866967] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 4.875371] init: - preinit - [ 5.188992] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/10gbase-kr link mode [ 5.197267] mtk_soc_eth 15100000.ethernet: mtk_gmac_usxgmii_path_setup path gmac1_usxgmii in [ 5.205728] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx [ 5.215234] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode [ 5.221946] 8021q: adding VLAN 0 to HW filter on device lan1 Press the [f] key and hit [enter] to enter failsafe mode Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level [ 9.273603] mount_root: loading kmods from internal overlay [ 9.285017] kmodloader: loading kernel modules from //etc/modules-boot.d/* [ 9.292905] kmodloader: done loading kernel modules from //etc/modules-boot.d/* [ 9.870204] UBIFS (ubi0:2): Mounting in unauthenticated mode [ 9.875925] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 1122 [ 9.893651] UBIFS (ubi0:2): recovery needed [ 9.961106] UBIFS (ubi0:2): recovery completed [ 9.965584] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2, name "rootfs_data" [ 9.973404] UBIFS (ubi0:2): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 9.983305] UBIFS (ubi0:2): FS size: 40886272 bytes (38 MiB, 322 LEBs), journal size 2031616 bytes (1 MiB, 16 LEBs) [ 9.993724] UBIFS (ubi0:2): reserved for root: 1931159 bytes (1885 KiB) [ 10.000328] UBIFS (ubi0:2): media format: w5/r0 (latest is w5/r0), UUID 50529498-1275-490B-9B85-4279CA4ED81F, small LPT model [ 10.012020] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab [ 10.021402] block: extroot: not configured [ 10.027890] UBIFS (ubi0:2): un-mount UBI device 0 [ 10.032594] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" stops [ 10.040787] UBIFS (ubi0:2): Mounting in unauthenticated mode [ 10.046488] UBIFS (ubi0:2): background thread "ubifs_bgt0_2" started, PID 1125 [ 10.087598] UBIFS (ubi0:2): UBIFS: mounted UBI device 0, volume 2, name "rootfs_data" [ 10.095422] UBIFS (ubi0:2): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes [ 10.105323] UBIFS (ubi0:2): FS size: 40886272 bytes (38 MiB, 322 LEBs), journal size 2031616 bytes (1 MiB, 16 LEBs) [ 10.115743] UBIFS (ubi0:2): reserved for root: 1931159 bytes (1885 KiB) [ 10.122346] UBIFS (ubi0:2): media format: w5/r0 (latest is w5/r0), UUID 50529498-1275-490B-9B85-4279CA4ED81F, small LPT model [ 10.135314] mount_root: loading kmods from internal overlay [ 10.146007] kmodloader: loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/* [ 10.155247] kmodloader: done loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/* [ 10.678751] block: attempting to load /tmp/ubifs_cfg/upper/etc/config/fstab [ 10.687622] block: extroot: not configured [ 10.692862] mount_root: switching to ubifs overlay [ 10.702667] urandom-seed: Seeding with /etc/urandom.seed [ 10.745830] procd: - early - [ 11.279406] procd: - ubus - [ 11.333484] procd: - init - [ 11.459534] rtc-pcf8563 3-0051: low voltage detected, date/time is not reliable. [ 11.743019] urngd: v1.0.2 started. [ 11.779208] kmodloader: loading kernel modules from /etc/modules.d/* [ 11.789139] MACsec IEEE 802.1AE [ 11.797282] RPC: Registered named UNIX socket transport module. [ 11.803209] RPC: Registered udp transport module. [ 11.807917] RPC: Registered tcp transport module. [ 11.812614] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 11.820649] NET: Registered protocol family 15 [ 11.830013] l2tp_core: L2TP core driver, V2.0 [ 11.834943] l2tp_netlink: L2TP netlink interface [ 11.840114] gre: GRE over IPv4 demultiplexor driver [ 11.845743] ip_gre: GRE over IPv4 tunneling driver [ 11.852708] ip6_gre: GRE over IPv6 tunneling driver [ 11.882334] Installing knfsd (copyright (C) 1996 [email protected]). [ 11.897317] Loading modules backported from Linux version v5.15.81-0-ge4a7232c917c [ 11.904889] Backport generated by backports.git v5.15.81-1-0-ge1867d55 [ 11.942081] mt_wifi_cmn: loaded [ 11.943731] hidraw: raw HID events driver (C) Jiri Kosina [ 12.739540] mt_wifi: module license 'Proprietary' taints kernel. [ 12.745566] Disabling lock debugging due to kernel taint [ 12.775234] [email protected],get_dbg_setting_by_profile() 921: debug level setting=INDEX0_debug_level not found!! [ 12.785345] [email protected],get_dbg_setting_by_profile() 948: debug option setting=INDEX0_debug_option not found!! [ 12.795606] physical_device_init! [ 12.798921] [email protected],bss_mngr_con_init() 3334: inited = 0 [ 12.804841] [email protected],bss_idx_bitmap_init() 89: map_size=12 [ 12.810840] [email protected],mld_grp_bitmap_init() 210: : map_size=12 [ 12.817162] [email protected],bss_mngr_ext_entry_init() 3315: bss(64), grp(65) [ 12.824119] ser_mngr_init() [ 12.824206] [email protected],init_sta_mld_link_mgr() 3179: ---> [ 12.832778] [email protected],csi_genl_register() 4027: register CSI genl family(0)!!! [ 12.844700] mtk_hwifi: module uses symbols from proprietary module mt_wifi, inheriting taint. [ 12.854625] connac_if: module uses symbols from proprietary module mt_wifi, inheriting taint. [ 12.863554] mtk_pci: module uses symbols from proprietary module mtk_hwifi, inheriting taint. [ 12.873011] mtk_wed: module uses symbols from proprietary module mtk_hwifi, inheriting taint. [ 13.258679] mt7990: module uses symbols from proprietary module mtk_hwifi, inheriting taint. [ 13.271058] mt7991: module uses symbols from proprietary module mtk_hwifi, inheriting taint. [ 13.280867] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 13.286182] Bluetooth: BNEP filters: protocol multicast [ 13.291403] Bluetooth: BNEP socket layer initialized [ 13.297308] usbcore: registered new interface driver btusb [ 13.303219] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 13.309137] Bluetooth: HIDP socket layer initialized [ 13.315962] l2tp_ppp: PPPoL2TP kernel driver, V2.0 [ 13.321481] Current mapfilter version v3.0.1.2 [ 13.326435] -->mtfwd_init(ver:2.0) [ 13.326457] <-- [ 13.330341] -->mtqos_init(), mtqos ver:1.0 [ 13.332113] <-- [ 13.350489] PPP MPPE Compression module registered [ 13.355763] PPTP driver version 0.8.5 [ 13.360092] Bluetooth: RFCOMM TTY layer initialized [ 13.364980] Bluetooth: RFCOMM socket layer initialized [ 13.370120] Bluetooth: RFCOMM ver 1.11 [ 13.374952] usbcore: registered new interface driver usblp [ 13.385504] xt_time: kernel timezone is -0000 [ 13.390440] kmodloader: done loading kernel modules from /etc/modules.d/* BusyBox v1.33.2 (2024-06-05 06:11:29 UTC) built-in shell (ash)
Im Anschluss nutzte ich die folgenden Befehle, um das Bootstrap-Image von NixOS-SBC auf die SD-Karte (/dev/sdb) zu schreiben:
nix buid "github:nakato/nixos-sbc#sdImages.x86_64-linux.sdImage-bananapi-bpir4"
zstd -d --stdout result/sd-image/nixos-sd-BananaPi-BPiR4-v0.3.raw.zst | sudo dd of=/dev/sdb bs=4M status=progress
Bootlog von NixOS-SBC Bootstrap Image
F0: 102B 0000 FA: 1042 0000 FA: 1042 0000 [0200] F9: 1041 0000 F3: 1001 0000 [0200] F3: 1001 0000 F6: 380E 5800 F5: 0000 0000 V0: 0000 0000 [0001] 00: 0000 0000 BP: 0600 0041 [0000] G0: 1190 0000 EC: 0000 0000 [3000] MK: 0000 0000 [0000] T0: 0000 01E8 [0101] Jump to BL NOTICE: BL2: v2.12.0(release): NOTICE: BL2: Built : 00:00:00, Jan 1 1980 NOTICE: WDT: Cold boot NOTICE: WDT: disabled NOTICE: CPU: MT7988 NOTICE: EMI: Using DDR unknown settings NOTICE: EMI: Detected DRAM size: 4096 MB NOTICE: EMI: complex R/W mem test passed NOTICE: LVTS: Enable thermal HW reset NOTICE: BL2: Booting BL31 NOTICE: BL31: v2.12.0(release): NOTICE: BL31: Built : 00:00:00, Jan 1 1980 U-Boot 2025.01-jrbbvwin03n5g8kb856y2f0ds17r1rl1 (Jan 07 2025 - 00:54:44 +0000) CPU: MediaTek MT7988 Model: mt7988-rfb DRAM: 4 GiB Core: 44 devices, 17 uclasses, devicetree: separate MMC: mmc@11230000: 0 Loading Environment from nowhere... OK In: serial@11000000 Out: serial@11000000 Err: serial@11000000 Net: eth0: ethernet@15100000 Hit any key to stop autoboot: 0 Scanning for bootflows in all bootdevs Seq Method State Uclass Part Name Filename --- ----------- ------ -------- ---- ------------------------ ---------------- Scanning bootdev '[email protected]': 0 extlinux ready mmc 5 [email protected] /@boot/extlinux/extlinux.conf ** Booting bootflow '[email protected]_5' with extlinux ------------------------------------------------------------ 1: NixOS - Default Enter choice: 1: NixOS - Default Retrieving file: /@boot/extlinux/../nixos/iimd6h6a7xn7mbbhy0j4qm5xgvv2mnyr-linux-aarch64-unknown-linux-gnu-6.12.23-bpi-r4-Image Retrieving file: /@boot/extlinux/../nixos/zad07l26xyz6dzhrylhzm87dxj6ac33y-initrd-linux-aarch64-unknown-linux-gnu-6.12.23-bpi-r4-initrd append: init=/nix/store/fx8jydxx0cs34p3v3bmqdsgj65w30s8q-nixos-system-bananapi-bpir4-25.11.20250523.063f43f/init console=ttyS0,115200 clk_ignore_unused=1 loglevel=4 Retrieving file: /@boot/extlinux/../nixos/r2byjy4lyp4klmcilww5mqg00h530vib-device-tree-overlays/mediatek/mt7988a-bananapi-bpi-r4.dtb ## Flattened Device Tree blob at 87800000 Booting using the fdt blob at 0x87800000 Working FDT set to 87800000 Loading Ramdisk to fdd1d000, end fe7fd022 ... OK Loading Device Tree to 00000000fdd10000, end 00000000fdd1c0a1 ... OK Working FDT set to fdd10000 Starting kernel ... [ 0.310092] mtk-xsphy soc:xphy@11e10000: failed to get ref_clk(id-1) [ 0.319351] mtk-socinfo mtk-socinfo.0.auto: error -ENOENT: Failed to get socinfo data [ 0.319366] mtk-socinfo mtk-socinfo.0.auto: probe with driver mtk-socinfo failed with error -2 [ 0.470879] OF: Bad cell count for /soc/spi@11007000/spi_nand@0/partitions [ 0.477777] OF: Bad cell count for /soc/spi@11007000/spi_nand@0/partitions [ 1.832483] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1) [ 1.841298] mtk-pcie-gen3 11280000.pcie: probe with driver mtk-pcie-gen3 failed with error -110 [ 2.052476] mtk-pcie-gen3 11290000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1) [ 2.061258] mtk-pcie-gen3 11290000.pcie: probe with driver mtk-pcie-gen3 failed with error -110 [ 2.272451] mtk-pcie-gen3 11300000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1) [ 2.281231] mtk-pcie-gen3 11300000.pcie: probe with driver mtk-pcie-gen3 failed with error -110 [ 2.492475] mtk-pcie-gen3 11310000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1) [ 2.501255] mtk-pcie-gen3 11310000.pcie: probe with driver mtk-pcie-gen3 failed with error -110 <<< NixOS Stage 1 >>> loading module rfkill... loading module cfg80211... loading module mii... loading module btrfs... running udev... Starting systemd-udevd version 257.5 kbd_mode: KDSKBMODE: Inappropriate ioctl for device starting device mapper and LVM... /dev/mapper/control: open failed: No such device Failure to communicate with kernel device-mapper driver. Check that device-mapper is available in the kernel. Incompatible libdevmapper 1.02.205 (2025-02-27) and kernel driver (unknown version). Scanning for Btrfs filesystems registered: /dev/mmcblk0p5 mounting /dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d on /... mounting /dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d on /nix... <<< NixOS Stage 2 >>> running activation script... setting up /etc... ++ /nix/store/l6if8nannz1hdh3g27iy0y8f8lqskggf-util-linux-aarch64-unknown-linux-gnu-2.41-bin/bin/findmnt -n -o SOURCE / + rootPart='/dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d[/@]' + rootPath=/ + '[' '/dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d[/@]' = none ']' + rootPart=/dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d ++ lsblk -npo PKNAME /dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d + rootDevice=/dev/mmcblk0 ++ lsblk -npo PARTN /dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d + partNum=' 5' + echo ,+, + sfdisk -N 5 --no-reread /dev/mmcblk0 GPT PMBR size mismatch (4353122 != 62333951) will be corrected by write. The backup GPT table is corrupt, but the primary appears OK, so that will be used. The backup GPT table is not on the end of the device. This problem will be corrected by write. Disk /dev/mmcblk0: 29.72 GiB, 31914983424 bytes, 62333952 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: EB0991EC-9265-4CEF-B7CD-49609EDD18B0 Old situation: Device Start End Sectors Size Type /dev/mmcblk0p1 34 8191 8158 4M Linux filesystem /dev/mmcblk0p2 8192 9215 1024 512K Linux filesystem /dev/mmcblk0p3 9216 13311 4096 2M Linux filesystem /dev/mmcblk0p4 13312 17407 4096 2M Linux filesystem /dev/mmcblk0p5 17408 4353023 4335616 2.1G Linux filesystem /dev/mmcblk0p5: New situation: Disklabel type: gpt Disk identifier: EB0991EC-9265-4CEF-B7CD-49609EDD18B0 Device Start End Sectors Size Type /dev/mmcblk0p1 34 8191 8158 4M Linux filesystem /dev/mmcblk0p2 8192 9215 1024 512K Linux filesystem /dev/mmcblk0p3 9216 13311 4096 2M Linux filesystem /dev/mmcblk0p4 13312 17407 4096 2M Linux filesystem /dev/mmcblk0p5 17408 62333918 62316511 29.7G Linux filesystem The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8). Syncing disks. + /nix/store/i2nab8py22j0ipa6s5v0jl9ixcprpglp-parted-aarch64-unknown-linux-gnu-3.6/bin/partprobe + /nix/store/z84jhi3kaqhwpsdjd31s8gbn29pnd0s3-btrfs-progs-aarch64-unknown-linux-gnu-6.14/bin/btrfs filesystem resize max / Resize device id 1 (/dev/disk/by-uuid/18db6211-ac36-42c1-a22f-5e15e1486e0d) from 2.07GiB to max + /nix/store/a5v31r6cnz3ykwk0bq8gj1j0zj1rajmw-nix-aarch64-unknown-linux-gnu-2.28.3/bin/nix-store --load-db + touch /etc/NIXOS + /nix/store/a5v31r6cnz3ykwk0bq8gj1j0zj1rajmw-nix-aarch64-unknown-linux-gnu-2.28.3/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system + rm -f /nix/nix-path-registration starting systemd... Welcome to NixOS 25.11 (Xantusia)! [ OK ] Created slice Slice /system/getty. [ OK ] Created slice Slice /system/modprobe. [ OK ] Created slice Slice /system/serial-getty. [ OK ] Created slice Slice /system/systemd-zram-setup. [ OK ] Created slice User and Session Slice. [ OK ] Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Forward Password Requests to Wall Directory Watch. Expecting device /dev/disk/by-uuid…6211-ac36-42c1-a22f-5e15e1486e0d... Expecting device /dev/ttyS0... Expecting device /dev/zram0... [ OK ] Reached target Local Encrypted Volumes. [ OK ] Reached target Containers. [ OK ] Reached target Path Units. [ OK ] Reached target Remote File Systems. [ OK ] Reached target Slice Units. [ OK ] Listening on Process Core Dump Socket. [ OK ] Listening on Credential Encryption/Decryption. [ OK ] Listening on Journal Socket (/dev/log). [ OK ] Listening on Journal Sockets. [ OK ] Listening on Userspace Out-Of-Memory (OOM) Killer Socket. [ OK ] Listening on udev Control Socket. [ OK ] Listening on udev Kernel Socket. Mounting POSIX Message Queue File System... Mounting Kernel Debug File System... Mounting Kernel Trace File System... Starting Create List of Static Device Nodes... Starting Load Kernel Module configfs... Starting Load Kernel Module drm... Starting Load Kernel Module efi_pstore... Starting Load Kernel Module fuse... Starting mount-pstore.service... Starting Journal Service... Starting Load Kernel Modules... Starting Userspace Out-Of-Memory (OOM) Killer... Starting Remount Root and Kernel File Systems... Starting Coldplug All udev Devices... [ OK ] Mounted POSIX Message Queue File System. [ OK ] Mounted Kernel Debug File System. [ OK ] Started Journal Service. [ OK ] Started Userspace Out-Of-Memory (OOM) Killer. [ OK ] Mounted Kernel Trace File System. [ OK ] Finished Create List of Static Device Nodes. [ OK ] Finished Load Kernel Module configfs. [ OK ] Finished Load Kernel Module drm. [ OK ] Finished Load Kernel Module efi_pstore. [ OK ] Finished Load Kernel Module fuse. [ OK ] Finished Load Kernel Modules. Mounting FUSE Control File System... Mounting Kernel Configuration File System... Starting Firewall... Starting Apply Kernel Variables... Starting Create Static Device Nodes in /dev gracefully... [ OK ] Finished Remount Root and Kernel File Systems. [ OK ] Mounted FUSE Control File System. [ OK ] Mounted Kernel Configuration File System. [ OK ] Finished Apply Kernel Variables. [ OK ] Finished Create Static Device Nodes in /dev gracefully. Starting Flush Journal to Persistent Storage... Starting Load/Save OS Random Seed... Starting Network Time Synchronization... Starting Create Static Device Nodes in /dev... [ OK ] Finished Coldplug All udev Devices. [ OK ] Finished Load/Save OS Random Seed. [ OK ] Finished Create Static Device Nodes in /dev. [ OK ] Reached target First Boot Complete. [ OK ] Reached target Preparation for Local File Systems. Starting Rule-based Manager for Device Events and Files... [ OK ] Finished Flush Journal to Persistent Storage. [ OK ] Started Rule-based Manager for Device Events and Files. [ OK ] Found device /dev/zram0. Starting Create swap on /dev/zram0... [ OK ] Found device /dev/ttyS0. [ OK ] Started Network Time Synchronization. [ OK ] Finished Create swap on /dev/zram0. [ OK ] Finished Firewall. [ OK ] Finished mount-pstore.service. [ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. Activating swap Compressed Swap on /dev/zram0... Mounting /boot... Starting Virtual Console Setup... [ OK ] Activated swap Compressed Swap on /dev/zram0. [ OK ] Mounted /boot. [ OK ] Reached target Swaps. Mounting /run/wrappers... [ OK ] Mounted /run/wrappers. [ OK ] Reached target Local File Systems. [ OK ] Listening on Boot Entries Service Socket. Starting Create SUID/SGID Wrappers... Starting Save Transient machine-id to Disk... Starting Create System Files and Directories... [ OK ] Finished Create System Files and Directories. Starting Rebuild Journal Catalog... Starting Record System Boot/Shutdown in UTMP... [ OK ] Finished Record System Boot/Shutdown in UTMP. [ OK ] Finished Virtual Console Setup. [ OK ] Finished Rebuild Journal Catalog. Starting Update is Completed... [ OK ] Finished Update is Completed. [ OK ] Finished Create SUID/SGID Wrappers. [ OK ] Reached target System Initialization. [ OK ] Started Discard unused filesystem blocks once a week. [ OK ] Started logrotate.timer. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Reached target Timer Units. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Listening on Nix Daemon Socket. [ OK ] Listening on OpenSSH Server Socket…temd-ssh-generator, AF_UNIX Local). [ OK ] Listening on Hostname Service Socket. [ OK ] Reached target Socket Units. [ OK ] Reached target Basic System. Starting Logrotate configuration check... Starting Name Service Cache Daemon (nsncd)... [ OK ] Started Reset console on configuration changes. Starting resolvconf update... Starting SSH Host Keys Generation... [ OK ] Finished Save Transient machine-id to Disk. [ OK ] Started Name Service Cache Daemon (nsncd). [ OK ] Finished Logrotate configuration check. [ OK ] Reached target Host and Network Name Lookups. [ OK ] Reached target User and Group Name Lookups. Starting D-Bus System Message Bus... Starting User Login Management... [ OK ] Stopped target Host and Network Name Lookups. Stopping Host and Network Name Lookups... [ OK ] Stopped target User and Group Name Lookups. Stopping User and Group Name Lookups... Stopping Name Service Cache Daemon (nsncd)... [ OK ] Stopped Name Service Cache Daemon (nsncd). [ OK ] Started User Login Management. [ OK ] Started D-Bus System Message Bus. Starting Name Service Cache Daemon (nsncd)... [ OK ] Finished resolvconf update. [ OK ] Started Name Service Cache Daemon (nsncd). [ OK ] Reached target Preparation for Network. [ OK ] Reached target Host and Network Name Lookups. [ OK ] Reached target User and Group Name Lookups. Starting DHCP Client... Starting Networking Setup... [ OK ] Finished Networking Setup. [ OK ] Reached target Network. Starting Permit User Sessions... [ OK ] Finished Permit User Sessions. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttyS0. [ OK ] Reached target Login Prompts. <<< Welcome to NixOS 25.11.20250523.063f43f (aarch64) - ttyS0 >>>
Danach meldete ich mich mit den Initial-Zugangsdaten (Benutzername: root
, Passwort: SBCDefaultBootstrapPassword
, siehe nixos-sbc: modules/sbc/bootstrap/initial.nix) an und überprüfte das System.
Dabei fiel auf, dass lediglich 4 GB Arbeitsspeicher erkannt wurden.
Fortsetzung folgt ...