Прошил spi и не знал как вернуть, чтобы было, как было
Зачем вернул старое дерьмо
??
Хорошо. А как u-boot все туда записать? Как u-boot для rk3399 не будет мешать u-boot для Allwinner H5?
Для каждой платформы и моделей, у которых отличается конфиг и DTB, записывают свой u-boot. Речь о разметке образа, она стандартная для всех платформ.
На Raspbery Pi 4 8 ГБ успешно собираю образы на tmpfs.
... с системой охлаждения от большого ПК ... Это дерьмо греется так, что можно чай заваривать на нём. Идиотский закрытый загрузчик и прочие прелести ... не, мне такое дерьмо и даром не нать ... :)
Вот armh в четыре раза медленнее собирается и это проблема
Сборку альтов 32 бита еще не проверял, но Armbian\LE собираются одинаково для 64 и 32 бита на всех моих железках (rk3399\rk3328 H6). Кстати, USB 3 существенно медленнее чем нативная NVMe с 4 полосами. Сборка полноценного образа сервера Armbian (с учётом полной сборки ядра и u-boot из исходников и части пакетов из исходников) занимает на T4 с NVMe Samsung 970, меньше 70 минут (i7 с SSD делает это чуть быстрее за 50-60 минут, но за его цену я могу купить 20 комплектов T4 с NVMe).
Выдернул из рабочего процесса тестовый T4 и провёл проверку оф.альтов по феншую (точно по инструкции вики).
Как и ожидал, поведение аналогичное первой проверке на P1. При создании образа альтинсталером - первый вариант (создание сразу SD карты), система вообще не запускается. По логу UART вижу, что не рабочий u-boot, он не стартует даже вторую стадию. Сделал образ IMG инсталером, и отдельно записал на SD карту. Тут хотя бы не попадает кривой u-boot в образ и есть шанс запуска (используется рабочий u-boot из eMMC и он уже пытается правильно запустить систему). Но в само ядро собрано не правильно (точнее DTB размещаются не верно, свалены в одну кучу, а должны быть по каталогам платформ, либо нужно использовать другой ключ с указанием конкретного имени DTB файла). Кстати, использование размещения вне раздела (каталога) /boot файлов DTB - идиотская идея, пришедшая от идиотской rpi, DTB должны быть строго в разделе (каталоге) /boot (это может быть не просто каталог, а отдельный раздел или сетевая система , или шифрованная рутфс и т.д.). Подправил extlinux.conf до правильных параметров и запустил систему. В принципе работает, но ядро не имеет ряда важных элементов, главное - нет поддержки штатного вентилятора, это создаёт риск перегреть железку при интенсивной работе. И другие мелочи - нет WiFi, нет аналогового звука.
Привожу минимальные параметры для запуска из образа для extlinux.conf, с нормально включенным выводом в консоль UART (для упрямых, специально обращаю внимание на скорость консоли софта, куда идёт вывод, без которой она не работает 1500000). С правильно размещёнными DTB :
fdt /boot/dtb/rockchip/rk3399-nanopc-t4.dtb
append: root=UUID=e7adc063-86b0-4e89-a1fd-b8c1499b61ff console=uart8250,mmio32,0xff1a0000 console=tty0 rw no_console_suspend consoleblank=0
А это кусок лога рабочего запуска :
U-Boot 2021.04-armbian (Jun 07 2021 - 10:24:18 +0300)
SoC: Rockchip rk3399
Reset cause: POR
Model: Firefly ROC-RK3399-PC Mezzanine Board
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from SPIFlash... jedec_spi_nor flash@0: unrecognized JEDEC id bytes: ff, ff, ff
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
In: serial
Out: serial
Err: serial
Model: Firefly ROC-RK3399-PC Mezzanine Board
Net:
Error: ethernet@fe300000 address not set.
No ethernet found.
Hit any key to stop autoboot: 0
starting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 3 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Device 0: unknown device
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
696 bytes read in 7 ms (96.7 KiB/s)
ALTLinux Boot Options
1: linux
2: 5.12.12-mp-alt1
Enter choice: 1: linux
Retrieving file: /boot/initrd.img
8474097 bytes read in 538 ms (15 MiB/s)
Retrieving file: /boot/vmlinuz
28336640 bytes read in 1784 ms (15.1 MiB/s)
append: root=UUID=e7adc063-86b0-4e89-a1fd-b8c1499b61ff console=uart8250,mmio32,0xff1a0000 console=tty0 rw no_console_suspend consoleblank=0
Retrieving file: /boot/dtb/rockchip/rk3399-nanopc-t4.dtb
57499 bytes read in 19 ms (2.9 MiB/s)
Moving Image from 0x2080000 to 0x2200000, end=3e40000
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Ramdisk to f1708000, end f1f1cdf1 ... OK
Loading Device Tree to 00000000f16f6000, end 00000000f170709a ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.12.12-mp-alt1 (builder@localhost.localdomain) (gcc-8 (GCC) 8.4.1 20200305 (ALT Sisyphus 8.4.1-alt1), GNU ld (GNU Binutils) 2.35.1.2021010
4) #1 SMP PREEMPT Fri Jun 18 13:44:28 UTC 2021
[ 0.000000] Machine model: FriendlyElec NanoPC-T4
[ 0.000000] earlycon: uart8250 at MMIO32 0x00000000ff1a0000 (options '')
[ 0.000000] printk: bootconsole [uart8250] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000000f7ffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0xf77d7300-0xf77dcfff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000000200000-0x00000000f7ffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000200000-0x00000000f7ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000000f7ffffff]
[ 0.000000] cma: Reserved 64 MiB at 0x00000000ed400000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 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 33 pages/cpu s94424 r8192 d32552 u135168
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 999432
[ 0.000000] Policy zone: DMA
[ 0.000000] Kernel command line: root=UUID=e7adc063-86b0-4e89-a1fd-b8c1499b61ff console=uart8250,mmio32,0xff1a0000 console=tty0 rw no_console_suspend consoleblank=0
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)