Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Jose Luis

Members
  • Joined

  • Last visited

Everything posted by Jose Luis

  1. Well, I finally used some disk drives to move the btrfs data live, repartition with GPT using a vFAT and btrfs partition with 16MB offset of u-boot before the first partition, so with this boots automatically, and I guess more mainline. Thanks @eselarm for your comments, I'll these variables later.
  2. Ok, I got it booting, so I did: set devtype nvme set devnum 0 set distro_bootpart 0 set prefix /boot/ load nvme 0:0 $loadaddr /boot/boot.scr source Doing a printenv before I see: => printenv arch=arm baudrate=1500000 board=evb_rk3568 board_name=evb_r_targets=mmc1 mmc0 nvme scsi usb pxe dhcp spi bootcmd=bootflow scan -lb bootdelay=1 bootp_arcNDI:003000 cpu=armv8 cpuid#=54434e4b383000000000000000070d19 dnsip=192.168.1.253 eth1addr=1e000 ethaddr=1e:f2:d5:f1:74:04 fdt_addr_r=0x12000000 fdtcontroladdr=7ded3a80 fdtfile=rockchipr=0x12100000 gatewayip=192.168.1.254 hostname=rock-3a ipaddr=192.168.1.253 kernel_addr_r=0x00 kernel_comp_size=0x8000000 loadaddr=0xc00800 netmask=255.255.255.0 pxefile_addr_r=0x00e000offset_f=0xffe000 script_size_f=0x2000 scriptaddr=0x00c00000 serial#=09103e09ce4edd27 serverserial@fe660000 stdin=serial@fe660000 stdout=serial@fe660000 vendor=rockchip Environment size: 916/126972 bytes So this is not finding the boot.scr with the bootflow scan -lb, so now is time to make it boot automatically.
  3. Hi @eselarm, thanks for the detailed response. I've checked my boot.cmd and boot.scr is ancient ( from Aug 2023 ). I'm going to try to set the variables beforehand, as I see in the output they are blank ( devtype, devnum, prefix ). When I succeed I guess the next step will be to set these variables in U-Boot, but nowadays there's no gpt partition table in SPI with the uboot_env, so I guess will need to figure it out later ( via env or find the boot.scr in the NVMe ), first I want to try to boot from NVMe manually. Thanks again
  4. 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.
  5. 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!
  6. 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 ?
  7. 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.
  8. 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!
  9. 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.
  10. 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.
  11. 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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.