Am Sat, Aug 03, 2024 at 04:23:08PM +0200 schrieb Mark Kettenis: > > From: Steffen Beyer <stef...@beyer.io> > > Date: Sat, 3 Aug 2024 14:11:34 +0200 > > > > Good evening, > > > > I´m running into trouble getting OpenBSD 7.5 to run on my R6S. The > > instructions in INSTALL.arm64 only mention RK356x explicitly, so I > > went with that: > > > > # pkg_add u-boot-rk3588 > > # cp /usr/local/share/u-boot/nanopi-r6s-rk3588s/u-boot-rockchip.bin . > > # dd if=u-boot-rockchip.bin of=miniroot75_u-boot-rockchip.img \ > > seek=64 conv=notrunc > > > > ...trying to boot that image from SD card. But U-Boot gets stuck: > > > > > > DDR V1.12 52218f4949 cym 23/07/06-19:46:50 > > LPDDR4X, 2112MHz > > channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > Manufacturer ID:0x1 > > CH0 RX Vref:26.3%, TX Vref:19.8%,20.8% > > CH1 RX Vref:26.7%, TX Vref:20.8%,20.8% > > CH2 RX Vref:27.5%, TX Vref:20.8%,19.8% > > CH3 RX Vref:27.1%, TX Vref:21.8%,21.8% > > change to F1: 528MHz > > change to F2: 1068MHz > > change to F3: 1560MHz > > change to F0: 2112MHz > > out > > U-Boot SPL board init > > U-Boot SPL 2017.09-g82417168bf-230508 #root (Sep 08 2023 - 20:53:43) > > unknown raw ID 0 0 0 > > unrecognized JEDEC id bytes: 00, 00, 00 > > Trying to boot from MMC2 > > part_get_info_efi: *** ERROR: Invalid GPT *** > > part_get_info_efi: *** Using Backup GPT *** > > Magic is incorrect. > > Error validating A/B metadata from disk. Resetting and writing new A/B > > metadata to disk. > > SPL: A/B-slot: _a, successful: 0, tries-remain: 7 > > Trying fit image at 0x4000 sector > > ## Verified-boot: 0 > > ## Checking atf-1 0x00040000 ... sha256(b40ce543bb...) + OK > > ## Checking u-boot 0x00a00000 ... sha256(f4f330e67c...) + OK > > ## Checking fdt-1 0x00ac46e0 ... sha256(eaf416bfba...) + OK > > ## Checking atf-2 0x000f0000 ... sha256(f202de33d9...) + OK > > ## Checking atf-3 0xff100000 ... sha256(af08976afd...) + OK > > Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000) > > Total: 376.682/529.613 ms > > > > INFO: Preloader serial: 2 > > NOTICE: BL31: v2.3():v2.3-616-gdc1125f48:finley.xiao > > NOTICE: BL31: Built : 16:41:17, Jul 13 2023 > > INFO: spec: 0x13 > > INFO: ext 32k is valid > > INFO: ddr: stride-en 4CH > > INFO: GICv3 without legacy support detected. > > INFO: ARM GICv3 driver initialized in EL3 > > INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0 > > INFO: system boots from cpu-hwid-0 > > INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001 > > INFO: dfs DDR fsp_params[0].freq_mhz= 2112MHz > > INFO: dfs DDR fsp_params[1].freq_mhz= 528MHz > > INFO: dfs DDR fsp_params[2].freq_mhz= 1068MHz > > INFO: dfs DDR fsp_params[3].freq_mhz= 1560MHz > > INFO: BL31: Initialising Exception Handling Framework > > INFO: BL31: Initializing runtime services > > WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE > > initialization. SMC`s destined for OPTEE will return SMC_UNK > > ERROR: Error initializing runtime service opteed_fast > > INFO: BL31: Preparing for EL3 exit to normal world > > INFO: Entry point address = 0xa00000 > > INFO: SPSR = 0x3c9 > > > > > > With miniroot and U-Boot package from snapshot (August 2nd) the result is > > slightly > > different: > > > > > > DDR Version V1.08 20220617 > > LPDDR4X, 2112MHz > > channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 > > Size=2048MB > > Manufacturer ID:0x1 Samsung > > CH0 RX Vref:30.7%, TX Vref:19.8%,20.8% > > CH1 RX Vref:31.7%, TX Vref:20.8%,20.8% > > CH2 RX Vref:30.7%, TX Vref:20.8%,19.8% > > CH3 RX Vref:32.7%, TX Vref:21.8%,21.8% > > change to F1: 528MHz > > change to F2: 1068MHz > > change to F3: 1560MHz > > change to F0: 2112MHz > > out > > U-Boot SPL board init > > U-Boot SPL 2017.09-gc060f28d70-220414 #zyf (Apr 18 2022 - 18:13:34) > > Failed to set cpub01 > > Failed to set cpub23 > > unknown raw ID phN > > unrecognized JEDEC id bytes: 00, 00, 00 > > Trying to boot from MMC2 > > part_get_info_efi: *** ERROR: Invalid GPT *** > > GUID Partition Table Header signature is wrong: 0xX != 0xX > > part_get_info_efi: *** ERROR: Invalid Backup GPT *** > > part_get_info_efi: *** ERROR: Invalid GPT *** > > GUID Partition Table Header signature is wrong: 0xX != 0xX > > part_get_info_efi: *** ERROR: Invalid Backup GPT *** > > spl: partition error > > Trying fit image at 0x4000 sector > > ## Verified-boot: 0 > > ## Checking atf-1 0x00040000 ... sha256(a7d1d8d191...) + OK > > ## Checking u-boot 0x00a00000 ... sha256(678e24dde1...) + OK > > ## Checking fdt-1 0x00ac9b50 ... sha256(5d8d2315ba...) + OK > > ## Checking atf-2 0x000f0000 ... sha256(aa71013e72...) + OK > > ## Checking atf-3 0xff100000 ... sha256(4b2065349b...) + OK > > Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000) > > Total: 370.636 ms > > > > INFO: Preloader serial: 2 > > NOTICE: BL31: v2.3():v2.3-682-g4ca8a8422:derrick.huang, fwver: v1.45 > > NOTICE: BL31: Built : 10:11:21, Dec 27 2023 > > INFO: spec: 0x13 > > INFO: code: 0x88 > > INFO: ext 32k is valid > > INFO: ddr: stride-en 4CH > > INFO: GICv3 without legacy support detected. > > INFO: ARM GICv3 driver initialized in EL3 > > INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0 > > INFO: l3 cache partition cfg-0 > > INFO: system boots from cpu-hwid-0 > > INFO: disable memory repair > > INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001 > > ERROR: dfs get fsp_params[0] error, 0xfead0001 != 0xfead0004 > > ERROR: dfs get fsp_params[1] error, 0xa54 != 0xfead0004 > > ERROR: dfs get fsp_params[2] error, 0xbc != 0xfead0004 > > ERROR: dfs get fsp_params[3] error, 0x3f0033 != 0xfead0004 > > ERROR: loader&trust unmatch!!! Please update loader if need enable dmc > > ERROR: current trust bl31 need match with loader ddr bin V1.13 or newer > > ERROR: current loader need match with trust bl31 V1.07-V1.37 > > INFO: BL31: Initialising Exception Handling Framework > > INFO: BL31: Initializing runtime services > > WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE > > initialization. SMC`s destined for OPTEE will return SMC_UNK > > ERROR: Error initializing runtime service opteed_fast > > INFO: BL31: Preparing for EL3 exit to normal world > > INFO: Entry point address = 0xa00000 > > INFO: SPSR = 0x3c9 > > > > > > (Yes, I bricked and unbricked the machine in between, that's why the > > DDR version changed.) > > > > Ideal would be to install OpenBSD to eMMC, but SD would do. > > > > Where is my mistake? > > Two issues: > > 1. You're using serial console rate of 1500000 baud. But the U-Boot > from OpenBSD packages uses 115200 (because 1500000 isn't supported > by many USB serial dongles and often unreliable with the ones that > do support it). > > 2. You still have the first bootloader stages (DRAM initialization and > U-Boot SPL) from the vendor firmware in SPI flash or on eMMC. > Those will be incompatible with the U-Boot from OpenBSD packages > and OpenBSD's kernel. I don't think the NanoPi R6S has SPI flash, > so it must be the eMMC that's the problem. My recommendation would > be to erase the first 32MB or so of the eMMC. You could do this > from Linux or the (vendor) U-Boot. Something like: > > # mmc erase 0 65536 > > after first selecting the eMMC using the "mmc dev" command should > do the trick. > > > As a side question, is it possible to use RockChip's RKDevTool to > > flash the eMMC? It is parameterised with partitions like this: > > > > FIRMWARE_VER: 12.0 > > MACHINE_MODEL: RK3588 > > MACHINE_ID: 007 > > MANUFACTURER: RK3588 > > MAGIC: 0x5041524B > > ATAG: 0x00200800 > > MACHINE: NanoPi6 > > CHECK_MASK: 0x80 > > PWR_HLD: 0,0,A,0,1 > > TYPE: GPT > > CMDLINE: mtdparts=rk29xxnand: \ > > 0x00002000@0x00004000(uboot), \ > > 0x00002000@0x00006000(misc), \ > > 0x00002000@0x00008000(dtbo), \ > > 0x00008000@0x0000a000(resource), \ > > 0x00014000@0x00012000(kernel), \ > > 0x00010000@0x00026000(boot), \ > > 0x00010000@0x00036000(recovery), \ > > 0x00120000@0x00046000(rootfs), \ > > -@0x00166000(userdata:grow) > > In theory it should be possible, but I don't think that partition > layout is compatible with mainline U-Boot and OpenBSD's installer. > > It should be possible to boot the OpenBSD installer from uSD card and > then install on the eMMC. But I'm not 100% confident the eMMC on the > NanoPi R6S will work with OpenBSD.
With a locally built U-Boot 2024.07 (currently in-tree is 2024.01) I can use the eMMC with GENERIC, but RAMDISK (installer/upgrade) somehow fails to bring it up. > You will have to install U-Boot on the eMMC yourself after > installation. Or use a uSD card with just U-Boot on it as your > "servicable firmware". >