-
Posts
8 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by Jose Luis
-
Hi, I've a rock-3a board with an NVMe device and a BTRFS filesystem using the whole disk ( no partitions ) I've seen some devices having BTRFS support in u-boot, so first thing I built the u-boot images using the extension: cat extensions/uboot-btrfs.sh # Enable BTRFS support in u-boot function post_config_uboot_target__enable_uboot_btrfs_support() { display_alert "u-boot for ${BOARD}/${BRANCH}" "u-boot: enable BTRFS filesystem support" "info" run_host_command_logged scripts/config --enable CONFIG_CMD_BTRFS } And patched the configuration of the board: git diff . diff --git a/config/boards/rock-3a.conf b/config/boards/rock-3a.conf index 401894fa5..90f8a8a72 100644 --- a/config/boards/rock-3a.conf +++ b/config/boards/rock-3a.conf @@ -15,12 +15,15 @@ BOOT_SPI_RKSPI_LOADER="yes" IMAGE_PARTITION_TABLE="gpt" BOOTFS_TYPE="fat" +# Enable btrfs support in u-boot +enable_extension "uboot-btrfs" + function post_family_config__rock-3a_use_mainline_uboot_except_vendor_and_add_sata_target() { display_alert "$BOARD" "Configuring ($BOARD) standard and sata uboot target map" "info" UBOOT_TARGET_MAP=" ./compile.sh artifact BOARD=rock-3a BRANCH=current RELEASE=trixie BUILD_MINIMAL=yes BUILD_DESKTOP=no KERNEL_CONFIGURE=no COMPRESS_OUTPUTIMAGE=sha,img ROOTFS_TYPE=btrfs FIXED_IMAGE_SIZE=4096 DISABLE_IPV6=false WHAT=uboot With this I flashed the SPI image: root@rock-3a:~# flashcp u-boot-rockchip-spi.bin /dev/mtd0 root@rock-3a:~# cat /proc/mtd dev: size erasesize name mtd0: 01000000 00001000 "spi4.0" So, then I booted it without the SD card I use for the /boot partition, used the serial port ( as it didn't autoboot ) and I saw: => nvme info Device 0: Vendor: 0x2646 Rev: SBM02103 Prod: 50026B778514A843 e: Hard Disk Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) => btrsubvol nvme 0:1 ** No partition table - nvme 0 ** Couldn't find partition nvme 0:1 => btrsubvol nvme 0:0 ID 257 gen 153600 path /@rootfs/ ID 257 gen 153600 path /@rootfs/ ID 259 gen 153599 path /@home/ => ls nvme 0:0 /boot/ <DIR> 16 Sat Dec 06 08:32:08 2025 dtb < > 0 Sat Dec 06 08:44:38 2025 .next < > 37679616 Sat Nov 15 03:03:00 2025 Image < > 5560276 Tue Nov 11 22:48:14 202urrent-rockchip64 < > 5560445 Sat Nov 15 03:03:00 2025 System.map-6.12.58-current-rockchip64 < > 236 Sat Dec 06 08:54:54 2025 armbianEnv.txt< > 200 Sat Sep 09 08:armbianEnv.txt.old < > 0 Tue Jun 18 18:05:14 2024 armbianEnv.txt.out < > 1536 Thu Aug 31 17:25:06 2023 armbian_first_run.txt.template < > 38518 Thu Aug 31 17:25:04 2023 boot.bmp < > 3180 Thu Aug 31 17:20:00 2023 boot.cmd < > 3252 Thu Aug 31 17:26:44 20 boot.scr < > 258746 Tue Nov 11 22:48:14 2025 config-6.12.57-current-rockchip64 < > 258803 Sat Nov 15 03:03:00 2025 config-6.12.58-current-ro< > 29107600 Tue Nov 25 21:2 2025 initrd.img-6.12.57-current-rockchip64 < > 29108356 Sat Dec 06 08:44:34 2025 initrd.img-6.12.58-current-rockchip64< > 29108420 Sat Dec 06 08: So it can read BTRFS, but no booting, I tried manually based on some commands I get but no luck: => load nvme 0:0 $loadaddr /boot/boot.scr 3252 bytes read in 27 ms (117.2 KiB/s) => source ## Executing script at 00c00800 Boot script loaded from ** Bad device specification 0x9000000 armbianEnv ** ** Bad device specification 0x9000000 armbianEnv.txt ** Couldn't find partit Can't set block device ** Bad device specification 0x12180000 uInitrd ** ** Bad device specification 0x12180000 uInitrd ** Couldn't find partition 0x1218000ck device ** Bad device specification 0x02000000 Image ** ** Bad device specification 0x020000on 0x02000000 Image Can't set block device ** Bad device specification 0x12000000 dtb/rockchipspecification 0x12000000 dtb/rockchip/rk3568-rock-3a.dtb ** Couldn't find partition 0x12000000 t set block device libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configure via "fdt addr <address>" command. Aborting! ** Bad device specification 0x9000000 dtb/rockchiay/-fixup ** ** Bad device specification 0x9000000 dtb/rockchip/overlay/-fixup.scr ** Couldn'tp/overlay/-fixup.scr Can't set block device ** Bad device specification 0x9000000 fixup ** **0 fixup.scr ** Couldn't find partition 0x9000000 fixup.scr Can't set block device Applying us ## Executing script at 09000000 Wrong image format for "source" command Unknown command 'kaslRM64 Image magic! I'd like to get this worked, I can test anything you can provide me, I'm a n00b trying to learn a bit more about U-Boot. Thanks in advance.
-
With 6.12.11-current-rockchip64 ( 6.12.11-S62b2-D7b0b-P3f7a-C67e9Heb51-HK01ba-Vc222-B8de6-R448a ) my Rock 3A boots from SDcard with rootfs in NVMe. Thanks for fixing it!
-
Checking the kernel output and comparing 6.6 to 6.12, these lines are not in there: [ 2.643952] rockchip-dw-pcie 3c0000000.pcie: PCIe Gen.2 x1 link up [ 2.645608] rockchip-dw-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00 [ 2.646256] pci_bus 0000:00: root bus resource [bus 00-0f] [ 2.646769] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff]) [ 2.647632] pci_bus 0000:00: root bus resource [mem 0xf4200000-0xf5ffffff] [ 2.648300] pci_bus 0000:00: root bus resource [mem 0x300000000-0x33fffffff] (bus address [0x40000000-0x7fffffff]) [ 2.649276] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400 [ 2.649852] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref] [ 2.650539] pci 0000:00:00.0: supports D1 D2 [ 2.650936] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 2.659656] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f]) [ 2.660853] pci 0000:01:00.0: [1c5c:174a] type 00 class 0x010802 [ 2.661510] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit] [ 2.662162] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00000fff] [ 2.662765] pci 0000:01:00.0: reg 0x1c: [mem 0x00000000-0x00000fff] [ 2.664228] pci 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link) [ 2.676066] pci 0000:00:00.0: BAR 14: assigned [mem 0xf4200000-0xf42fffff] [ 2.676708] pci 0000:00:00.0: BAR 6: assigned [mem 0xf4300000-0xf430ffff pref] [ 2.677378] pci 0000:01:00.0: BAR 0: assigned [mem 0xf4200000-0xf4203fff 64bit] [ 2.678094] pci 0000:01:00.0: BAR 2: assigned [mem 0xf4204000-0xf4204fff] [ 2.678729] pci 0000:01:00.0: BAR 3: assigned [mem 0xf4205000-0xf4205fff] [ 2.679362] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 2.679876] pci 0000:00:00.0: bridge window [mem 0xf4200000-0xf42fffff] [ 2.683300] pcieport 0000:00:00.0: PME: Signaling with IRQ 75 [ 2.684444] pcieport 0000:00:00.0: AER: enabled with IRQ 75 [ 2.685767] nvme nvme0: pci function 0000:01:00.0 [ 2.686232] nvme 0000:01:00.0: enabling device (0000 -> 0002) [ 2.714314] hwmon hwmon2: temp1_input not attached to any thermal zone [ 2.715024] hwmon hwmon2: temp2_input not attached to any thermal zone [ 2.715702] hwmon hwmon2: temp3_input not attached to any thermal zone [ 2.721387] nvme nvme0: 4/0/0 default/read/poll queues [ 2.727449] nvme nvme0: Ignoring bogus Namespace Identifiers [ 2.733920] nvme0n1: p1 p2 So looks all the PCIe bus is not being detected ( maybe due to changes in dts and u-boot not compatible as it happened before ) Anyone got the chance to boot the rolling trixie with 6.12 ?
-
I have a similar problem but I have a mixed SD and NVMe setup, my boot in is SD but my rootfs is in NVMe. My rock-3a does boot u-boot, the kernel and initramfs, but it gets stuck at trying to mount the rootfs. I tried to load some modules from the kernel to make NVMe driver load with no luck. I got back to 6.6.x with a SD card reader and NVMe reader with another computer.
-
Checking my system: selu@rock-3a:~$ dd if=/dev/mmcblk0 seek=64 skip=64 count=32704 of=uboot.bin 32704+0 records in 32704+0 records out 16744448 bytes (17 MB, 16 MiB) copied, 0.564798 s, 29.6 MB/s selu@rock-3a:~$ strings uboot.bin | grep "U-Boot" U-Boot SPL board init command in your U-Boot project: ./scripts/stacktrace.sh dump.txt %s U-Boot SPL 2017.09-armbian (Sep 19 2022 - 14:20:01) U-Boot FIT Image with ATF/OP-TEE/U-Boot U-Boot(64-bit) *U-Boot U-Boot dtb ** Invalid partition type "%.32s" (expect "U-Boot") Enter U-Boot charging mode scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done U-Boot.armv8 command in your U-Boot project: ./scripts/stacktrace.sh dump.txt %s MU-Boot EFI: Relocation at %p is out of range (%lx) U-Boot 2017.09-armbian ## U-Boot bootargs: %s No valid device tree binary found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb> U-Boot Sysmem Error: Failed to reserve sysmem for U-Boot framework U-Boot 2017.09-armbian (Sep 19 2022 - 14:20:01 +0200) And this is different from the bundled U-Boot: selu@rock-3a:~$ strings /usr/lib/linux-u-boot-current-rock-3a/u-boot.itb | grep "U-Boot" FIT Image with ATF/OP-TEE/U-Boot U-Boot(64-bit) *U-Boot U-Boot dtb ** Invalid partition type "%.32s" (expect "U-Boot") Enter U-Boot charging mode scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done U-Boot.armv8 command in your U-Boot project: ./scripts/stacktrace.sh dump.txt %s MU-Boot EFI: Relocation at %p is out of range (%lx) U-Boot 2017.09-armbian ## U-Boot bootargs: %s No valid device tree binary found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb> U-Boot Sysmem Error: Failed to reserve sysmem for U-Boot framework U-Boot 2017.09-armbian (May 20 2024 - 00:41:52 +0000) I could not update U-Boot via armbian-install, somehow my rootfs on NVMe breaks install in the script ( I boot from SD with /boot in it ). Not detecting the device ( using set -x ) ++ sed -e 's/^.*root=//' -e 's/ .*$//' + root_uuid=UUID=a0d95135-003b-44d5-8efe-ef62615e7dea ++ blkid ++ tr -d '":' ++ grep UUID=a0d95135-003b-44d5-8efe-ef62615e7dea ++ awk '{print $1}' + root_partition=/dev/nvme0n1 ++ echo /dev/nvme0n1 ++ sed 's/\/dev\///g' + root_partition_name=nvme0n1 ++ lsblk -ndo pkname /dev/nvme0n1 + root_partition_device_name= + root_partition_device=/dev/ + exit 1 I crafted a quick n'dirty script: #!/bin/bash source /usr/lib/u-boot/platform_install.sh DIR=/usr/lib/linux-u-boot-current-rock-3a root_partition_device=/dev/mmcblk0 write_uboot_platform "$DIR" "${root_partition_device}" And I can confirm that u-boot was updated in SD and now works fine! YEEHAA!
-
Checking the dts for upstream 6.6, I see the patch applied to 6.1 kernel only is applied. This is my suspect, I need to build a custom image with the custom patch and give the feedback I got.
-
Doing more tests, I've upgraded linux-image-current-rockchip64 to 24.2.1 ( 6.6.16 ) and linux-image-edge-rockchip64 with old linux-dtb-current-rockchip64 ( 23.11.1 ) and booted fine without any issue and network working. When I updated either linux-dtb-current-rockchip64 or linux-dtb-edge-rockchip64 to 24.2.1 and reboot it stops working.
-
Hi, after upgrading linux-u-boot-rock-3a-current, linux-image-current-rockchip64 and linux-dtb-current-rockchip64 to the 24.2.1 versions, the system losses the network producing kernel errors in dmesg: [ 432.408850] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found [ 432.410880] rk_gmac-dwmac fe010000.ethernet: clock input or output? (input). [ 432.410929] rk_gmac-dwmac fe010000.ethernet: Can not read property: tx_delay. [ 432.410954] rk_gmac-dwmac fe010000.ethernet: set tx_delay to 0x30 [ 432.410983] rk_gmac-dwmac fe010000.ethernet: Can not read property: rx_delay. [ 432.411002] rk_gmac-dwmac fe010000.ethernet: set rx_delay to 0x10 [ 432.411051] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no). [ 432.411223] rk_gmac-dwmac fe010000.ethernet: clock input from PHY [ 432.416282] rk_gmac-dwmac fe010000.ethernet: init for RGMII_ID [ 432.417113] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51 [ 432.417176] rk_gmac-dwmac fe010000.ethernet: DWMAC4/5 [ 432.417205] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported [ 432.417227] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported [ 432.417248] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported [ 432.417268] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported [ 432.417287] rk_gmac-dwmac fe010000.ethernet: TSO supported [ 432.417306] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 432.417336] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10) [ 432.417369] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled [ 432.417391] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width [ 432.506616] rk_gmac-dwmac fe010000.ethernet end0: renamed from eth0 [ 432.569725] rk_gmac-dwmac fe010000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0 [ 432.571832] rk_gmac-dwmac fe010000.ethernet end0: __stmmac_open: Cannot attach to PHY (error: -19) I went back to the 23.11.1 versions of the packages and the system has the network back: -rwxr-xr-x 1 root root 319396 Mar 3 10:40 linux-dtb-current-rockchip64_23.11.1_arm64__6.1.63-S69e4-Df461-P59b3-C3542Hfe66-HK01ba-Vc222-B1743-R448a.deb -rwxr-xr-x 1 root root 41712668 Mar 3 10:40 linux-image-current-rockchip64_23.11.1_arm64__6.1.63-S69e4-Df461-P59b3-C3542Hfe66-HK01ba-Vc222-B1743-R448a.deb -rwxr-xr-x 1 root root 1036380 Mar 3 10:40 linux-u-boot-rock-3a-current_23.11.1_arm64__2017.09-Sc559-Pedff-H8c72-Vda90-B1179-R448a.deb Using these packages, this is the output from dmesg: [ 6.259295] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found [ 6.259807] rk_gmac-dwmac fe010000.ethernet: supply phy not found, using dummy regulator [ 6.260113] rk_gmac-dwmac fe010000.ethernet: clock input or output? (input). [ 6.260133] rk_gmac-dwmac fe010000.ethernet: TX delay(0x4f). [ 6.260147] rk_gmac-dwmac fe010000.ethernet: RX delay(0x26). [ 6.260171] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no). [ 6.260276] rk_gmac-dwmac fe010000.ethernet: clock input from PHY [ 6.274301] rk_gmac-dwmac fe010000.ethernet: init for RGMII [ 6.285273] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51 [ 6.285315] rk_gmac-dwmac fe010000.ethernet: DWMAC4/5 [ 6.285330] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported [ 6.285340] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported [ 6.285349] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported [ 6.285357] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported [ 6.285504] rk_gmac-dwmac fe010000.ethernet: TSO supported [ 6.285518] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 6.285533] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10) [ 6.285547] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled [ 6.285558] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width [ 6.360605] spi-nor spi4.0: mx25u12835f (16384 Kbytes) [ 6.599788] rk_gmac-dwmac fe010000.ethernet end0: renamed from eth0 [ 21.045985] rk_gmac-dwmac fe010000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0 [ 21.139671] rk_gmac-dwmac fe010000.ethernet end0: PHY [stmmac-0:00] driver [RTL8211F Gigabit Ethernet] (irq=POLL) [ 21.147558] dwmac4: Master AXI performs any burst length [ 21.147613] rk_gmac-dwmac fe010000.ethernet end0: No Safety Features support found [ 21.147647] rk_gmac-dwmac fe010000.ethernet end0: IEEE 1588-2008 Advanced Timestamp supported [ 21.148015] rk_gmac-dwmac fe010000.ethernet end0: registered PTP clock [ 21.155727] rk_gmac-dwmac fe010000.ethernet end0: configuring for phy/rgmii link mode [ 25.295999] rk_gmac-dwmac fe010000.ethernet end0: Link is Up - 1Gbps/Full - flow control rx/tx [ 25.296059] IPv6: ADDRCONF(NETDEV_CHANGE): end0: link becomes ready Thanks in advance. support.txt dmesg.txt
