JamesCL Posted May 24 Posted May 24 Is it possible to change the boot order? For my use case, I would like the boot priority to be: eMMC, NVMe, and microSD card. Can this be configured? 0 Quote
sven-ola Posted May 27 Author Posted May 27 Hi @JamesCL. You cannot change the boot order of the SoC (SD -> eMMC -> MTD / SPI flash), thus i.e. the SD card is always booted if inserted. You can probably change the root file system's UUID, i.e. change the /boot/extlinux/extlinux.conf to give the kernel the command to use eMMC as root file system. HTH // Sven-Ola 0 Quote
mBesar Posted Sunday at 02:32 PM Posted Sunday at 02:32 PM Hi @sven-ola, first of all a huge thank you for maintaining this image — the work you're doing for the Orange Pi RV2 is genuinely appreciated, especially given how early the SpacemiT/K1 ecosystem still is. I'd like to kindly request enabling a few kernel config options in the next build. I'll split them by priority: Request 1 — TechniSat SkyStar USB 2 HD (simple, guaranteed fix) CONFIG_DVB_B2C2_FLEXCOP_USB=m The FlexCop core (CONFIG_DVB_B2C2_FLEXCOP=m) and all its dependencies are already enabled in the current kernel. This is a one-line addition that will make this DVB-S2 USB receiver work out of the box with no further changes needed. Request 2 — TBS DVB cards via out-of-tree media_build (best-effort) CONFIG_DVB_USB=m CONFIG_DVB_USB_V2=m CONFIG_MEDIA_CONTROLLER_DVB=y These are the required kernel-side foundations for the TBS linux_media out-of-tree driver tree to compile and load. All dependencies are already satisfied in the current config (DVB_CORE=y, MEDIA_USB_SUPPORT=y, MEDIA_CONTROLLER=y). I say "best-effort" because the TBS media_build source has compatibility issues with kernel 6.18 APIs that require manual patching regardless of kernel config — so these options are necessary but not the whole story on my end. That part is on me to sort out, not on you. Environment for reference: Board: Orange Pi RV2 (orangepirv2) Kernel: 6.18.33-current-spacemit Armbian: 26.8.0-trunk.61 (BRANCH=current) Thank you again for your time and effort — genuinely appreciated! 🙏 0 Quote
sven-ola Posted Monday at 11:11 AM Author Posted Monday at 11:11 AM (edited) Hello @mBesar, while I can build images with additional kernel modules, the next "apt-get upgrade" may install a newer kernel that discards such additions. Why not build this on your own? There is already a working DKMS build system on the board for the bcmdhd wifi module. On the next kernel update, DKMS will recompile bcmdhd.ko for the new kernel automatically. Sadly, when I tried this for b2c2-flexcop-usb, it was not too easy to do. Armbian does not provide kernel sources with "apt-source", and the mentioned module itself uses an additional "-i include-dir" during build. So as an example, try to do this on your board: As root: # Change two times "Types: deb deb-src" nano /etc/apt/sources.list.d/debian.sources # Check for avail linux image packages, this time 6.18.5-deb13-parisc apt-get update grep linux-image /var/lib/apt/lists/*Sources|grep 6\\.18|less -S # We are not interested in this image, we just need some source code cd /usr/src apt-get source linux-image-6.18.5+deb13-parisc # Add a new DKMS module (dkms already here b/c bcmdhd wifi driver) mkdir /usr/src/b2c2-flexcop-usb-6.18 cd /usr/src/b2c2-flexcop-usb-6.18 cat > dkms.conf << "EOF" PACKAGE_NAME="b2c2-flexcop-usb" PACKAGE_VERSION="6.18" BUILT_MODULE_NAME[0]="b2c2-flexcop-usb" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="yes" MAKE="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build CONFIG_DVB_B2C2_FLEXCOP_USB=m" EOF # What subsys do we need? Says: drivers/media/usb/b2c2, then grab that dir grep DVB_B2C2_FLEXCOP_USB $(find /usr/src/linux-6.18.5 -name Kconfig*) cp -av /usr/src/linux-6.18.5/drivers/media/usb/b2c2/. . # The module Makefile uses an additional include dir. We simply copy them here cp -av /usr/src/linux-6.18.5/drivers/media/common/b2c2/*.h . # Register, build, and install dkms add -m b2c2-flexcop-usb -v 6.18 dkms build -m b2c2-flexcop-usb -v 6.18 dkms install -m b2c2-flexcop-usb -v 6.18 HTH // Sven-Ola Edited Monday at 11:21 AM by sven-ola 0 Quote
sven-ola Posted Monday at 08:29 PM Author Posted Monday at 08:29 PM While I am here: I have a Mediatek Tri-Band Wifi card installed in my RV2 (label reads MT7922A22M). There's a matching driver in OpenWrt created by Felix and friends. This will take some time until pushed upstream. So, why not make it a DKMS module? That's how things started 🤪 # Grab bleeding edge Wifi from OpenWrt cd /usr/src git clone https://github.com/openwrt/mt76.git mt76-6.18 cd mt76-6.18 # Source code massage (needs OpenWrt kernel patch, missing include) git revert 9a46d8d2 sed '/^#include <linux\/kernel.h>/i#include <linux/version.h>' mt76.h # New DKMS config (with more than one module) cat > dkms.conf << "EOF" PACKAGE_NAME="mt76" PACKAGE_VERSION="6.18" BUILT_MODULE_NAME[0]="mt76" DEST_MODULE_LOCATION[0]="/updates/dkms" BUILT_MODULE_NAME[1]="mt76-connac-lib" DEST_MODULE_LOCATION[1]="/updates/dkms" BUILT_MODULE_NAME[2]="mt792x-lib" DEST_MODULE_LOCATION[2]="/updates/dkms" BUILT_MODULE_NAME[3]="mt7921e" BUILT_MODULE_LOCATION[3]="mt7921" DEST_MODULE_LOCATION[3]="/updates/dkms" BUILT_MODULE_NAME[4]="mt7921-common" BUILT_MODULE_LOCATION[4]="mt7921" DEST_MODULE_LOCATION[4]="/updates/dkms" AUTOINSTALL="yes" MAKE="make -C ${kernel_source_dir} M=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_MT76_CORE=m CONFIG_MT76_LEDS=y CONFIG_MT76_CONNAC_LIB=m CONFIG_MT792x_LIB=m CONFIG_MT7921_COMMON=m CONFIG_MT7921E=m " EOF # Add, build, install, and add matching firmware dkms add -m mt76 -v 6.18 dkms build -m mt76 -v 6.18 dkms install -m mt76 -v 6.18 cp -av firmware/ /lib/firmware/updates/mediatek # Give it a try reboot 0 Quote
mBesar Posted Monday at 10:10 PM Posted Monday at 10:10 PM Hi @sven-ola thank you so much for the detailed and thoughtful response — and for taking the time to actually try it yourself! The DKMS approach makes perfect sense; it's clean, survives kernel updates automatically, and fits right in with what's already working on the board for bcmdhd. I'll follow your instructions for b2c2-flexcop-usb. Really appreciate the effort you put into this! 🙏 0 Quote
armfan Posted Thursday at 04:38 AM Posted Thursday at 04:38 AM (edited) @sven-olaTrying the latest RC2 and RC3 7.1 bundles at https://sven-ola.commando.de/privat-in/ by flashing it to a MicroSD card and booting from it, I get the following boot failure. Booting your 6.18 image works though. Any idea how make it work? By the way, is the U-Boot binary inside Armbian the same in your 7.1 and 6.18 versions? Perhaps I could boot the 6.18 from MicroSD card, use it to flash the SPI, and then try to boot the 7.1 from the SPI? Quote Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems done. Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. done. Gave up waiting for root file system device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Missing modules (cat /proc/modules; ls /dev) ALERT! UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11 does not exist. Dropping to a shell! (initramfs) Update: I booted the RV2 off MicroSD card via the old 6.18 version. From inside this 6.18, I did "dd if=the-7.1-version of=/dev/nvme0n1 bs=1M status=progress", powered off, took out the MicroSD, and booted, and it worked! Now a question back to you: @sven-ola Now that the boot process works, do I still need to install the latest Armbian-bundled u-boot on the SPI chip via "armbian-install"? Edited Thursday at 05:18 AM by armfan 0 Quote
4A studio Posted Thursday at 06:09 AM Posted Thursday at 06:09 AM I have the same issue than @1111Windows had back in March. That's because I chose the wrong option in armbian-config. How do I revert to original (or, at least, working) u-boot? UART connection through putty is working. 0 Quote
sven-ola Posted Thursday at 12:05 PM Author Posted Thursday at 12:05 PM Hey @armfan. UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11 was read from /boot/extlinux/extlinux.conf which is correct for the edge/7.1.0rc3 image. However, something must be wrong with your SD card if u-boot can read UUID from extlinux.conf, but kernel does not find corresponding file system on the same boot media. This is the expected kernel startup : [ 0.000000] Booting Linux on hartid 0 [ 0.000000] Linux version 7.1.0-rc3-edge-spacemit (build@armbian) (riscv64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, GNU l [ 0.000000] Machine model: OrangePi RV2 [ 0.000000] SBI specification v1.0 detected [ 0.000000] SBI implementation ID=0x1 Version=0x10003 [ 0.000000] SBI IPI extension detected [ 0.000000] SBI RFENCE extension detected [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') [ 0.000000] printk: legacy bootconsole [sbi0] enabled Loading, please wait... Starting systemd-udevd version 257.13-1~deb13u1 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. HTH // Sven-Ola 1 Quote
sven-ola Posted Thursday at 12:23 PM Author Posted Thursday at 12:23 PM Hello @4A studio. The armbian-config tool may change large parts of the system configuration without a real "undo". I am not sure if I understand your situation correct: Board does not boot. You see UART output but no UART login prompt? Board is booting. But you don't see a live picture on your HDMI monitor? 0 Quote
armfan Posted Thursday at 08:41 PM Posted Thursday at 08:41 PM (edited) @sven-ola About the issue you saw (re. UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11..), what I have done is flash either of the two images at https://sven-ola.commando.de/privat-in/ to a 128GB MicroSD card using Win32DiskImager or Rufus on Windows, and then booted the RV2 with it, that's all. The RV2 has had two PCI devices connected at boot. This should not affect the boot sequence. I sent you all kinds of weird boot sequences I had especially with the Linux 7.10 Armbian image. I gave a few hours to try these Armbian images on the RV2, and ultimately it's not stable. The biggest issue is to boot from the M.2 SSD. Then, the 6.18 boots well from MicroSD but the 7.10 not. Finally my SFP+ NIC doesn't work well on the 6.18. I had more success with the testing in the beginning, e.g. I got the 7.10 image to work booted from the SSD. Could there be an issue with power supply, for example with the 5V to 3.3V converter on the PCB. For power supply I use a good 5V @ 5A USBC power supply. The most successful test I did was, flash a MicroSD card with the 6.18 image, and boot it on the RV2. Then from inside that environment, do dd if=Armbian-unofficial_26.05.0-trunk_Orangepirv2_trixie_edge_7.1.0-rc3_minimal.img of=/dev/nvme0n1 bs=100M status=progress; sync . Booting from that NVMe did work a few times. I installed the u-boot bundled with Armbian to the SPI using armbian-config. I'm not sure this was a good idea, at least it did not make NVMe booting work better. Edited Thursday at 08:44 PM by armfan 0 Quote
sven-ola Posted yesterday at 09:37 AM Author Posted yesterday at 09:37 AM (edited) Hi @armfan. From what I am able to extract from the flood of braindumps you have a non-working NVME with 2TB that is not working for some reason. If it really stops sometimes in the middle of u-boot::nvme::init then you may have some power issue with this NVME. For comparison: I placed my NVME in the lower m.2 and booted via MTD the u-boot armbian-installed from the "current" image downloadable from my site. See attached capture file. HTH // Sven-Ola nvme-lower-uboot-may-26-2026.cap Edited yesterday at 10:10 AM by sven-ola Added UART boot capture 1 Quote
rm_ Posted 21 hours ago Posted 21 hours ago On 6/4/2026 at 9:38 AM, armfan said: Perhaps I could boot the 6.18 from MicroSD card, use it to flash the SPI, and then try to boot the 7.1 from the SPI? For microSD card slot to even work at all, it is listed as a change that landed only in 7.2. https://www.phoronix.com/news/SpacemiT-K1-K3-Linux-7.2 This is why you get root filesystem UUID not found with 7.0-7.1 0 Quote
sven-ola Posted 19 hours ago Author Posted 19 hours ago (edited) @rm_ No, SD and NVME are working with Armbian edge 7.1, while USB does not. root@orangepirv2:~# uname -a Linux orangepirv2 7.1.0-rc3-edge-spacemit #3 SMP PREEMPT_DYNAMIC Sun May 10 21:08:09 UTC 2026 riscv64 GNU/Linux root@orangepirv2:~# blkid /dev/nvme0n1p1: LABEL="armbi_root" UUID="fdbd4ab2-2238-4a62-a079-74ff0582c8d2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00406d4f-01" /dev/mmcblk0p1: LABEL="armbi_root" UUID="63ee7593-e111-4547-ac2f-6bdb8519ce11" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="9ebf8299-01" /dev/zram0: UUID="3be872bc-b408-46c3-8ec9-d27500adc1dd" TYPE="swap" /dev/zram1: LABEL="log2ram" UUID="bace3aba-15ea-4833-a7ad-f7d9e39aa0c5" BLOCK_SIZE="4096" TYPE="ext4" root@orangepirv2:~# lsusb root@orangepirv2:~# lspci 0001:00:00.0 PCI bridge: SpacemiT X60 PCIe 2.0 x2 Root Complex (rev 01) 0002:00:00.0 PCI bridge: SpacemiT X60 PCIe 2.0 x2 Root Complex (rev 01) 0002:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9B1 (DRAM-less) (rev 02) Anyhow, thanks for the Phoronix link // Sven-Ola Edited 19 hours ago by sven-ola 0 Quote
armfan Posted 2 hours ago Posted 2 hours ago Hi all! Here follows the learning from circa 12 hours of trying to make Armbian with 7.1 and 6.18 kernel work. What worked and didn't work: 6.18 booted with 100% success rate from MicroSD. 7.1 did not boot at all for me from MicroSD. Debug log below. (Here the u-boot works, the kernel loads, but it fails around the point where it tries to mount the root filesystem.) 7.1 worked booted from NVMe SSD a few times, it started with some success rate there and then the success rate went to 0. The failures are in u-boot. 6.18 booted from NVMe SSD had a similar pattern as 7.1. So what caused me the most headache was that u-boot would not boot off the NVMe SSD. (Initially I had a few successes but the success rate went to 0.) It found the SSD, but said it can't find any partition. As for the PCIe networking card, I saw it work on both 7.1 and 6.18 images for a moment, but it did not work stably. Installing the "armbian-firmware" package didn't make a difference. I'd need to test this more though. Most of my time went to trying make the RV2 boot off the NVMe SSD. I wrote some detail thoughts and questions about u-boot's inability to boot off NVMe SSD below. Aside from any fixes you suggest, things to try that come to mind to me are: Wait for Linux 7.2 to be released, and then wait for an Armbian image with it. This is scheduled for August. Perhaps it just works a lot better as more RV2 functions have been mainlined, and it generally has been tested more by the community - Linux 7 is still so early. Try to boot the 7.1 kernel Armbian from SSD but with a /boot partition on a MicroSD card. Hardware setup To this RV2 was connected a Samsung 960 Pro 2TB in the 22x80mm M.2 slot (lower), and a RTL8127ATF SFP+ NIC, which was connected to the 22x30mm M.2 (upper) slot via an adapter. Both M.2/PCIe cards got 3.3V supply from the RV2 only. The M.2 to PCIe adapter has a 12V supply input, which was not used. This appeared to suffice for both cards because as you will see below the NIC's link LED did light up at one point. The power supply to the RV2 was a good 5V 5A power supply. I actually tried two different ones, and it did not affect the results. The RV2 feeds both M.2 connectors and the onboard WIFI from one 5V to 3.3V voltage converter, which appears to be a SY8286A. Its capacity is 6A, i.e. x 3.3V = 19.8W. The SSD should draw max 5W, and the NIC max 2W. Therefore I conclude that the power supply to both cards was fully adequate. (The said 5V to 3.3V converter is in on page 5 in the RV2's schematics @OPI RV2 V1_1_SCH_20250508(1).pdf" which is http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-RV2.html . Here it's only called U3, which has 17 PINs with specified names. Concluded it's SY8286A based on searching for a voltage converter with 17 PINs with matching names. It's 3x3mm and has 82% energy conversion efficiency meaning it may produce as much as 3.5W of heat. https://www.bulcomp-eng.com/datasheet/SY8286A (QFN20) - Datasheet 1.pdf ) U-boot fail when trying to boot 7.1 from NVMe SSD During the many hours I tested the RV2, I had the best success early in the testing: Early in the testing, I got the 7.1 kernel Armbian image to boot from the SSD circa 3-4 times. This was as quickly as on the first, second or third try, i.e. I try to boot and if it failed once or twice then at least on the third try it worked. On all other occasions, u-boot failed with the error "Couldn't find partition nvme na:1". What does "nvme na" even mean? At this stage I was booting from the u-boot on the SPI flash, that the RV2 came bundled with. Quote [ 8.051] Device 0: Vendor: 0x144d Rev: SEEEEEEERIAL Prod: SEEEEERIAL [ 8.058] Type: Hard Disk [ 8.062] Capacity: 1953514.3 MB = 1907.7 GB (4000797360 x 512) [ 8.069] ... is now current device [ 8.072] Device 0: Vendor: 0x144d Rev: SEEEEEERIAL Prod: SEEEEEEERIAL [ 8.079] Type: Hard Disk [ 8.082] Capacity: 1953514.3 MB = 1907.7 GB (4000797360 x 512) [ 8.089] ... is now current device [ 8.092] Couldn't find partition nvme na:1 [ 8.272] ethernet@cac80000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! [ 13.156] phy_startup() failed: -110FAILED: -110missing environment variable: pxeuuid This failure mode happened both before and after upgrading the SSD to the latest firmware. I tried to fix it by un-screwing and re-screwing the SSD in the M.2 slot to work around any potential issue with glap. I don't think that made any material difference. I thought what if there is an issue with the u-boot version, so I went through the u-boot SPI flashing process Sven-Ola pointed to using the "armbian-config" tool on the 6.18 kernel Armbian image. This only changed the look of the error message: Now instead u-boot printed "no nvme partition table available" once and then"** No partition table - nvme 0 **" "Couldn't find partition nvme 0:1" five times, and then left me in an u-boot prompt: Quote sys: 0x200 try sd... bm:3 ERROR: CMD8 ERROR: sd f! l:76 bm:4 nor m:0x20 d:0x4118 j... U-Boot SPL 2022.10_armbian-2022.10-Sd61c-P155c-H8b52-V5e72-Be4e9-R448a (May 01 2026 - 21:34:38 +0000) [ 0.240] DDR type LPDDR4X [ 0.241] set ddr tx odt to 80ohm! [ 0.261] lpddr silicon init consume 20ms [ 0.262] Change DDR data rate to 2400MT/s [ 0.293] WARNING at drivers/mtd/nand/spi/core.c:85/spinand_get_cfg()! [ 0.507] Boot from fit configuration x1_orangepi-rv2 [ 0.509] ## Checking hash(es) for config conf_18 ... OK [ 0.515] ## Checking hash(es) for Image uboot ... crc32+ OK [ 0.527] ## Checking hash(es) for Image fdt_18 ... crc32+ OK [ 0.540] ## Checking hash(es) for config config_1 ... OK [ 0.543] ## Checking hash(es) for Image opensbi ... crc32+ OK [ 0.592] U-Boot 2022.10_armbian-2022.10-Sd61c-P155c-H8b52-V5e72-Be4e9-R448a (May 01 2026 - 21:34:38 +0000) [ 0.599] CPU: rv64imafdcv [ 0.602] Model: ky x1 orangepi-rv2 board [ 0.606] DRAM: DDR size = 8192 MB [ 0.609] 8 GiB [ 0.676] reset driver probe start [ 0.678] reset driver probe finish [ 0.704] Core: 414 devices, 29 uclasses, devicetree: board [ 0.717] WDT: Started PMIC_WDT with servicing (60s timeout) [ 0.722] WDT: Started watchdog@D4080000 with servicing (60s timeout) [ 0.730] MMC: sdh@d4280000: probe done. [ 0.737] sdh@d4281000: probe done. [ 0.737] sdh@d4280000: 0, sdh@d4281000: 2 [ 0.742] Loading Environment from nowhere... OK [ 0.746] initialize_console_log_buffer [ 0.749] Have allocated memory for console log buffer [ 0.754] In: serial [ 0.756] Out: serial [ 0.759] Err: serial [ 0.762] Default to 100kHz [ 0.879] Found 2 valid MAC addresses. [ 0.880] TLV item: product_name = x1_orangepi-rv2 [ 0.885] TLV item: ddr_cs_num = 2 [ 0.894] Found device 'hdmi@c0400500', disp_uc_priv=000000007dea0b80 [ 1.004] HDMI cannot get HPD signal [ 1.004] spacemit_display_init: device 'dpu@c0340000' display won't probe (ret=-1) [ 1.125] HDMI cannot get HPD signal [ 1.125] display devices not found or not probed yet: -1 [ 1.130] All buttons probed successfully [ 1.139] k1x_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26500000Hz [ 1.146] k1x_qspi spi@d420c000: rx buf size:128, tx buf size:256, ahb buf size=512 [ 1.154] k1x_qspi spi@d420c000: AHB read enabled [ 1.159] k1x_qspi spi@d420c000: bus clock: 26500000Hz, PMUap reg[0xd4282860]:0x0000075b [ 1.166] k1x_qspi spi@d420c000: AHB buf size: 512 [ 1.171] SF: Detected XM25QU128C with page size 256 Bytes, erase size 64 KiB, total 16 MiB List of MTD devices: [ 1.182] * nor0 [ 1.183] - device: flash@0 [ 1.186] - parent: spi@d420c000 [ 1.189] - driver: jedec_spi_nor [ 1.193] - path: /soc/spi@d420c000/flash@0 [ 1.196] - type: NOR flash [ 1.199] - block size: 0x10000 bytes [ 1.203] - min I/O: 0x1 bytes [ 1.206] - 0x000000000000-0x000001000000 : "nor0" [ 1.210] - 0x000000000000-0x000000010000 : "bootinfo" [ 1.216] - 0x000000010000-0x000000020000 : "private" [ 1.221] - 0x000000020000-0x000000060000 : "fsbl" [ 1.226] - 0x000000060000-0x000000070000 : "env" [ 1.230] - 0x000000070000-0x0000000a0000 : "opensbi" [ 1.236] - 0x0000000a0000-0x000001000000 : "uboot" [ 1.242] Read PMIC reg ab value f0 [ 1.244] Failed to get fastboot key config: -19 [ 1.248] MMC: no card present [ 1.251] mmc_init: -123, time 3 [ 1.254] Net flash mode not enabled [ 1.257] Failed to probe HUSB239: -19 [ 1.261] Continue to boot [ 1.272] pcie_dw_k1x pcie@ca400000: has no power-on-status flag, use default. [ 1.276] Now init Rterm... [ 1.279] pcie prot id = 1, porta_init_done = 0 [ 1.283] Now waiting portA resister tuning done... [ 1.288] porta redonly_reg2: 00005d47 [ 1.291] pcie_rcal = 0x00005d47 [ 1.294] pcie port id = 1, lane num = 2 [ 1.298] Now int init_puphy... [ 1.301] waiting pll lock... [ 1.304] Now finish init_puphy.... [ 1.307] pcie_dw_k1x pcie@ca400000: Unable to get phy0 [ 1.312] pcie_dw_k1x pcie@ca400000: Unable to get phy1 [ 1.317] pcie_dw_k1x pcie@ca400000: PCIe interface power on, set gpio 116 to 1 [ 1.438] PCIE-0: Link up (Gen2-x2, Bus0) [ 1.448] pcie_dw_k1x pcie@ca800000: has no power on gpio. [ 1.450] pcie_dw_k1x pcie@ca800000: has no power-on-status flag, use default. [ 1.458] Now init Rterm... [ 1.460] pcie prot id = 2, porta_init_done = 0 [ 1.464] Now waiting portA resister tuning done... [ 1.469] porta redonly_reg2: 00005d47 [ 1.472] pcie_rcal = 0x00005d47 [ 1.476] pcie port id = 2, lane num = 2 [ 1.479] Now int init_puphy... [ 1.482] waiting pll lock... [ 1.485] Now finish init_puphy.... [ 1.488] pcie_dw_k1x pcie@ca800000: Unable to get phy0 [ 1.493] pcie_dw_k1x pcie@ca800000: Unable to get phy1 [ 1.600] PCIE-2: Link up (Gen2-x2, Bus2) [ 4.756] can not find partition in blk dev [ 4.792] Card did not respond to voltage select! : -110 [ 4.794] mmc_init: -95, time 33 [ 4.797] Cannot find blk device [ 4.800] Cannot get available block device [ 4.804] Partition bootfs not found! [ 4.809] RGMII interface [ 4.810] eth0: ethernet@cac80000 [ 4.813] MAC mapping file path not set in environment [ 4.818] can not find partition in blk dev [ 4.853] Card did not respond to voltage select! : -110 [ 4.855] mmc_init: -95, time 33 [ 4.858] Cannot find blk device [ 4.861] can not get available blk dev [ 4.865] Net: eth0: ethernet@cac80000 [ 4.871] Hit any key to stop autoboot: 0 Loading K1-X Environment ... [ 5.877] [ 5.878] Running NVMe Scan ... [ 5.912] Card did not respond to voltage select! : -110 [ 5.914] mmc_init: -95, time 33 [ 5.917] Couldn't find partition mmc 2: [ 5.952] Card did not respond to voltage select! : -110 [ 5.954] mmc_init: -95, time 33 [ 5.957] Couldn't find partition mmc 2: [ 5.993] Card did not respond to voltage select! : -110 [ 5.995] mmc_init: -95, time 34 [ 5.998] Couldn't find partition mmc 2: [ 6.032] Card did not respond to voltage select! : -110 [ 6.034] mmc_init: -95, time 32 [ 6.037] Couldn't find partition mmc 2: [ 6.073] Card did not respond to voltage select! : -110 [ 6.075] mmc_init: -95, time 34 [ 6.078] Couldn't find partition mmc 2: [ 6.081] no nvme partition table available [ 6.086] ** No partition table - nvme 0 ** [ 6.090] Couldn't find partition nvme 0:1 [ 6.094] ** No partition table - nvme 0 ** [ 6.098] Couldn't find partition nvme 0:1 [ 6.101] ** No partition table - nvme 0 ** [ 6.105] Couldn't find partition nvme 0:1 [ 6.109] ** No partition table - nvme 0 ** [ 6.113] Couldn't find partition nvme 0:1 [ 6.117] ** No partition table - nvme 0 ** [ 6.121] Couldn't find partition nvme 0:1 => From the u-boot prompt, I learned that the partitioning table is MBR and not GPT, because it says "DOS" partition type. Quote => nvme part 0 Partition Map for NVMe device 0 -- Partition Type: DOS [ 101.199] Part Start Sector Num Sectors UUID Type [ 101.203] 1 8192 3694592 00406d4f-01 83 => [ 139.922] nvme part Partition Map for NVMe device 0 -- Partition Type: DOS [ 140.756] Part Start Sector Num Sectors UUID Type [ 140.761] 1 8192 3694592 00406d4f-01 83 => [ 143.995] nvme info Device 0: Vendor: 0x144d Rev: SEEEEERIAL Prod: SEEEEERIAL [ 145.016] Type: Hard Disk [ 145.019] Capacity: 1953514.3 MB = 1907.7 GB (4000797360 x 512) => After this, I tried "sysboot nvme 0:1 fat" which did boot into something, but I think it was actually to the MicroSD, because it behaved the same as when I try to boot the 7.1 kernel Armbian from MicroSD: it repeated "Begin: Running /scripts/local-block ... done." circa 20 times and then "Gave up waiting for root file system device." .. "ALERT! UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11 does not exist. Dropping to a shell!". But, I'd need to re-test this more carefully to make any conclusion. Regarding this complaint that there would be no partition on the NVMe disk, I booted the RV2 from the 6.18 kernel Armbian on a MicroSD card, and there, "mount /dev/nvme0n1p1 /mnt" did work. Quote root@orangepirv2:~# dmesg | grep nvme [ 1.671797] nvme nvme0: pci function 0001:01:00.0 [ 1.671838] nvme 0001:01:00.0: enabling device (0000 -> 0002) [ 1.688312] nvme nvme0: 7/0/0 default/read/poll queues [ 1.740041] nvme0n1: p1 root@orangepirv2:~# mount /dev/nvme0 nvme0 nvme0n1 nvme0n1p1 root@orangepirv2:~# mount /dev/nvme0n1p1 /mnt root@orangepirv2:~# ls /mnt bin boot dev etc home initrd.img initrd.img.old lib lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var vmlinuz vmlinuz.old root@orangepirv2:~# Summary thoughts about u-boot's inability to boot from SSD + questions So to summarize, booting the OrangePI RV2 from a 2TB SSD worked a few times but eventually started having a 100% failure rate (circa 25 failures in a row), seeming to say it finds the NVMe disk but complains it can't find a partition, while we know that there was a partition. And these failures were in u-boot. Also since the failure was already in u-boot, the Linux kernel version doesn't matter. This made me think the error could be any of the following: Could it be that U-Boot has some incorrectness in its configuration for the power supply to the M.2 slots? However, I can't see the 5V to 3.3V voltage converter is software-configurable at all (see schematic above). Meanwhile the P1 PMIC is software-configurable. Could it be that the U-Boot has some incorrect configuration to the X1's PCI subsystem or PMIC configuration? Could there be a problem that U-Boot can't handle partitions that are almost 2TB in size? For safety, it could be a good idea to switch all these Armbian images to GPT partitioning table as DOS/MBR partition tables don't scale anyhow - 2TB is supposed to work, but people will like to boot the RV2 from 4TB+ SSD:s. Could there be a problem that U-Boot does not wait for appropriately long time for the SSD to initialize? Overall I found it a really peculiar issue that U-Boot says it finds the NVMe but appears to fail to read from it. @sven-ola Any idea? More tests and results re SSD For completeness, on the successfully booted system - that should be only 6.18 kernel booted from MicroSD - with time I did see some SSD failure reported: Quote root@orangepirv2:~# dmesg | grep -i nvme [ 1.667929] nvme nvme0: pci function 0002:01:00.0 [ 1.667966] nvme 0002:01:00.0: enabling device (0000 -> 0002) [ 1.683793] nvme nvme0: 7/0/0 default/read/poll queues [ 1.727991] nvme0n1: p1 [ 33.774048] nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10 [ 33.774066] nvme nvme0: Does your device have a faulty power saving mode enabled? [ 33.774073] nvme nvme0: Try "nvme_core.default_ps_max_latency_us=0 pcie_aspm=off pcie_port_pm=off" and report a bug [ 33.806412] nvme0n1: Read(0x2) @ LBA 0, 8 blocks, Host Aborted Command (sct 0x3 / sc 0x71) [ 33.806430] I/O error, dev nvme0n1, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 [ 33.814055] nvme 0002:01:00.0: enabling device (0000 -> 0002) [ 33.814103] nvme nvme0: Disabling device after reset failure: -19 [ 33.838084] Buffer I/O error on dev nvme0n1, logical block 0, async page read [ 33.848084] Buffer I/O error on dev nvme0n1p1, logical block 0, async page read [ 37.755951] Buffer I/O error on dev nvme0n1p1, logical block 0, async page read [ 66.561113] Buffer I/O error on dev nvme0n1p1, logical block 0, async page read [ 66.564882] EXT4-fs (nvme0n1p1): unable to read superblock root@orangepirv2:~# sven-ola suggested me to try connecting the SSD to the other M.2 slot instead, and that did not work any better. Maybe it worked worse. I could imagine that there was a situation with double bugs here, that the issue with the SSD inside Linux shows some issue with the PCIe drivers. For completeness, lspci -v shows this (on 6.18 booted from MicroSD): Quote root@orangepirv2:~# uname -a Linux orangepirv2 6.18.33-current-spacemit #3 SMP PREEMPT_DYNAMIC Sat May 23 14:51:24 UTC 2026 riscv64 GNU/Linux root@orangepirv2:~# lspci -v 0001:00:00.0 PCI bridge: SpacemiT X60 PCIe 2.0 x2 Root Complex (rev 01) (prog-if 00 [Normal decode]) Device tree node: /sys/firmware/devicetree/base/soc/pcie@ca400000/interrupt-controller@0 Flags: bus master, fast devsel, latency 0, IRQ 66 Memory at 90000000 (32-bit, non-prefetchable) [size=1M] Memory at 90100000 (32-bit, non-prefetchable) [size=1M] Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: [disabled] [16-bit] Memory behind bridge: 90200000-902fffff [size=1M] [32-bit] Prefetchable memory behind bridge: [disabled] [64-bit] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable+ Count=1/32 Maskable- 64bit+ Capabilities: [70] Express Root Port (Slot-), IntMsgNum 0 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Secondary PCI Express Capabilities: [160] Vendor Specific Information: ID=0006 Rev=0 Len=018 <?> Kernel driver in use: pcieport 0001:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963 (prog-if 02 [NVM Express]) Subsystem: Samsung Electronics Co Ltd SM963 2.5" NVMe PCIe SSD Flags: bus master, fast devsel, latency 0, IRQ 65 Memory at 90200000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+ Capabilities: [70] Express Endpoint, IntMsgNum 0 Capabilities: [b0] MSI-X: Enable+ Count=8 Masked- Capabilities: [100] Advanced Error Reporting Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00 Capabilities: [158] Power Budgeting <?> Capabilities: [168] Secondary PCI Express Capabilities: [188] Latency Tolerance Reporting Capabilities: [190] L1 PM Substates Kernel driver in use: nvme Kernel modules: nvme 0002:00:00.0 PCI bridge: SpacemiT X60 PCIe 2.0 x2 Root Complex (rev 01) (prog-if 00 [Normal decode]) Device tree node: /sys/firmware/devicetree/base/soc/pcie@ca800000/interrupt-controller@0 Flags: fast devsel, IRQ 70 Memory at b0000000 (32-bit, non-prefetchable) [disabled] [size=1M] Memory at b0100000 (32-bit, non-prefetchable) [disabled] [size=1M] Bus: primary=00, secondary=00, subordinate=00, sec-latency=0 Memory behind bridge: 00000000-000fffff [disabled] [32-bit] Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+ Capabilities: [70] Express Root Port (Slot-), IntMsgNum 0 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Secondary PCI Express Capabilities: [160] Vendor Specific Information: ID=0006 Rev=0 Len=018 <?> Kernel driver in use: pcieport 0002:01:00.0 Unassigned class [ffff]: Realtek Semiconductor Co., Ltd. RTL8127 10GbE Controller (rev ff) (prog-if ff) Flags: fast devsel, IRQ 69 Capabilities: [40] Power Management version 3 Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [70] Express Endpoint, IntMsgNum 1 Capabilities: [b0] MSI-X: Enable- Count=64 Masked- Capabilities: [d0] Vital Product Data Kernel modules: r8169 root@orangepirv2:~# From inside this Linux, this simple test of the SSD works, and shows ~600M/sec. Quote root@orangepirv2:~# dd if=/dev/nvme0n1 of=/dev/null bs=100M status=progress 35546726400 bytes (36 GB, 33 GiB) copied, 55 s, 646 MB/s^C 344+0 records in 343+0 records out 35966156800 bytes (36 GB, 33 GiB) copied, 60.3714 s, 596 MB/s root@orangepirv2:~# Having a look at this disk right now, I just saw something weird: I see /dev/nvme0n1 but no partitions - ls /dev/nvme0n0p* gives nothing. fdisk found no partitions (empty partition list printout). gdisk found three partitions but after 'fixing' the partition table. I'd need to look into this more. I have not done any changes to the SSD's partition table after the original flashing the disk with the Armbian image. Perhaps some bug some-where in this u-boot or Armbian caused the partition table to get overwritten, no idea? Quote root@orangepirv2:~# fdisk -x /dev/nvme0n1 Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors Disk model: Samsung SSD 960 PRO 2TB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes root@orangepirv2:~# gdisk /dev/nvme0n1 GPT fdisk (gdisk) version 1.0.10 Caution: invalid main GPT header, but valid backup; regenerating main header from backup! Warning: Invalid CRC on main header data; loaded backup partition table. Warning! Main and backup partition tables differ! Use the 'c' and 'e' options on the recovery & transformation menu to examine the two tables. Warning! Main partition table CRC mismatch! Loaded backup partition table instead of main partition table! Warning! One or more CRCs don't match. You should repair the disk! Main header: ERROR Backup header: OK Main partition table: ERROR Backup partition table: OK Partition table scan: MBR: not present BSD: not present APM: not present GPT: damaged Found invalid MBR and corrupt GPT. What do you want to do? (Using the GPT MAY permit recovery of GPT data.) 1 - Use current GPT 2 - Create blank GPT Your answer: 1 Command (? for help): print Disk /dev/nvme0n1: 4000797360 sectors, 1.9 TiB Model: Samsung SSD 960 PRO 2TB Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 316A2C1C-1FE2-4B53-AEB3-40EC9D91ABA0 Partition table holds up to 128 entries Main partition table begins at sector 32 and ends at sector 63 First usable sector is 64, last usable sector is 4000797326 Partitions will be aligned on 2048-sector boundaries Total free space is 3686021711 sectors (1.7 TiB) Number Start (sector) End (sector) Size Code Name 1 2048 206847 100.0 MiB EF00 EFI System 2 206848 157491199 75.0 GiB 0700 Basic data partition 3 157493248 314779647 75.0 GiB 8E00 Command (? for help): quit root@orangepirv2:~# To show that the SSD can work, here is a cycle of re-flashing the 7.1 image and looking at its partition descriptors in Linux + fdisk's output + gdisk's output + trying to mount it. Quote root@orangepirv2:~# uname -a Linux orangepirv2 6.18.33-current-spacemit #3 SMP PREEMPT_DYNAMIC Sat May 23 14:51:24 UTC 2026 riscv64 GNU/Linux root@orangepirv2:~# dd if=Armbian-unofficial_26.05.0-trunk_Orangepirv2_trixie_edge_7.1.0-rc3_minimal.img of=/dev/nvme0n1 bs=100M status=progress 838860800 bytes (839 MB, 800 MiB) copied, 2 s, 395 MB/s 11+0 records in 11+0 records out 1153433600 bytes (1.2 GB, 1.1 GiB) copied, 4.76761 s, 242 MB/s root@orangepirv2:~# sync root@orangepirv2:~# fdisk -x /dev/nvme0n1 Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors Disk model: Samsung SSD 960 PRO 2TB 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: dos Disk identifier: 0x9ebf8299 Device Boot Start End Sectors Id Type Start-C/H/S End-C/H/S Attrs /dev/nvme0n1p1 8192 2252799 2244608 83 Linux 0/130/3 140/58/46 root@orangepirv2:~# gdisk /dev/nvme0n1 GPT fdisk (gdisk) version 1.0.10 Caution: invalid main GPT header, but valid backup; regenerating main header from backup! Warning: Invalid CRC on main header data; loaded backup partition table. Warning! Main and backup partition tables differ! Use the 'c' and 'e' options on the recovery & transformation menu to examine the two tables. Warning! Main partition table CRC mismatch! Loaded backup partition table instead of main partition table! Warning! One or more CRCs don't match. You should repair the disk! Main header: ERROR Backup header: OK Main partition table: ERROR Backup partition table: OK Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: damaged Found valid MBR and corrupt GPT. Which do you want to use? (Using the GPT MAY permit recovery of GPT data.) 1 - MBR 2 - GPT 3 - Create blank GPT Your answer: 1 Command (? for help): print Disk /dev/nvme0n1: 4000797360 sectors, 1.9 TiB Model: Samsung SSD 960 PRO 2TB Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): FC9E2E86-7EBB-4774-8499-32CA9E1A41F5 Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 4000797326 Partitions will be aligned on 2048-sector boundaries Total free space is 3998552685 sectors (1.9 TiB) Number Start (sector) End (sector) Size Code Name 1 8192 2252799 1.1 GiB 8300 Linux filesystem Command (? for help): quit root@orangepirv2:~# ls /dev/nvme0* /dev/nvme0 /dev/nvme0n1 /dev/nvme0n1p1 root@orangepirv2:~# mount /dev/nvme0n1p1 /mnt root@orangepirv2:~# ls /mnt bin dev home initrd.img.old lost+found mnt proc run selinux sys usr vmlinuz boot etc initrd.img lib media opt root sbin srv tmp var vmlinuz.old root@orangepirv2:~# umount /mnt root@orangepirv2:~# How the 7.1 kernel Armbian fails when trying to boot it from MicroSD For your reference, here is how the 7.1 kernel Armbian fails when I try to boot it from MicroSD. The failure rate is 100%, I did not get it to work a single time. Quote sys: 0x200 try sd... bm:3 j... U-Boot SPL 2022.10_armbian-2022.10-Sd61c-P24da-H8b52-V5e72-Bd0d2-R448a (May 29 2026 - 12:51:31 +0000) [ 0.153] DDR type LPDDR4X [ 0.154] set ddr tx odt to 80ohm! [ 0.174] lpddr silicon init consume 20ms [ 0.175] Change DDR data rate to 2400MT/s [ 0.649] Boot from fit configuration x1_orangepi-rv2 [ 0.651] ## Checking hash(es) for config conf_18 ... OK [ 0.656] ## Checking hash(es) for Image uboot ... crc32+ OK [ 0.668] ## Checking hash(es) for Image fdt_18 ... crc32+ OK [ 0.689] ## Checking hash(es) for config config_1 ... OK [ 0.692] ## Checking hash(es) for Image opensbi ... crc32+ OK [ 0.741] U-Boot 2022.10_armbian-2022.10-Sd61c-P24da-H8b52-V5e72-Bd0d2-R448a (May 29 2026 - 12:51:31 +0000) [ 0.748] CPU: rv64imafdcv [ 0.751] Model: ky x1 orangepi-rv2 board [ 0.754] DRAM: DDR size = 8192 MB [ 0.758] 8 GiB [ 0.824] reset driver probe start [ 0.826] reset driver probe finish [ 0.852] Core: 414 devices, 29 uclasses, devicetree: board [ 0.865] WDT: Started PMIC_WDT with servicing (60s timeout) [ 0.870] WDT: Started watchdog@D4080000 with servicing (60s timeout) [ 0.879] MMC: sdh@d4280000: probe done. [ 0.885] sdh@d4281000: probe done. [ 0.886] sdh@d4280000: 0, sdh@d4281000: 2 [ 0.890] Loading Environment from MMC... *** Warning - bad CRC, using default environment [ 1.009] initialize_console_log_buffer [ 1.010] Have allocated memory for console log buffer [ 1.015] In: serial [ 1.017] Out: serial [ 1.019] Err: serial [ 1.023] Default to 100kHz [ 1.140] Found 2 valid MAC addresses. [ 1.141] TLV item: product_name = x1_orangepi-rv2 [ 1.145] TLV item: ddr_cs_num = 2 [ 1.154] Found device 'hdmi@c0400500', disp_uc_priv=000000007dea0b80 [ 1.265] HDMI cannot get HPD signal [ 1.265] spacemit_display_init: device 'dpu@c0340000' display won't probe (ret=-1) [ 1.386] HDMI cannot get HPD signal [ 1.386] display devices not found or not probed yet: -1 [ 1.391] All buttons probed successfully [ 1.400] k1x_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26500000Hz [ 1.407] k1x_qspi spi@d420c000: rx buf size:128, tx buf size:256, ahb buf size=512 [ 1.415] k1x_qspi spi@d420c000: AHB read enabled [ 1.420] k1x_qspi spi@d420c000: bus clock: 26500000Hz, PMUap reg[0xd4282860]:0x0000075b [ 1.427] k1x_qspi spi@d420c000: AHB buf size: 512 [ 1.432] SF: Detected XM25QU128C with page size 256 Bytes, erase size 64 KiB, total 16 MiB List of MTD devices: [ 1.443] * nor0 [ 1.444] - device: flash@0 [ 1.447] - parent: spi@d420c000 [ 1.450] - driver: jedec_spi_nor [ 1.454] - path: /soc/spi@d420c000/flash@0 [ 1.457] - type: NOR flash [ 1.460] - block size: 0x10000 bytes [ 1.464] - min I/O: 0x1 bytes [ 1.467] - 0x000000000000-0x000001000000 : "nor0" [ 1.472] - 0x000000000000-0x000000010000 : "bootinfo" [ 1.477] - 0x000000010000-0x000000020000 : "private" [ 1.482] - 0x000000020000-0x000000060000 : "fsbl" [ 1.487] - 0x000000060000-0x000000070000 : "env" [ 1.491] - 0x000000070000-0x0000000a0000 : "opensbi" [ 1.497] - 0x0000000a0000-0x000001000000 : "uboot" [ 1.503] Read PMIC reg ab value f4 [ 1.505] Failed to get fastboot key config: -19 [ 1.509] Net flash mode not enabled [ 1.513] Failed to probe HUSB239: -19 [ 1.516] Continue to boot [ 1.520] RGMII interface [ 1.521] eth0: ethernet@cac80000 [ 1.524] MAC mapping file path not set in environment [ 1.529] K1X: :_load_env_from_blk [ 1.549] Failed to load 'env_k1-x.txt' [ 1.551] Net: eth0: ethernet@cac80000 [ 1.556] Hit any key to stop autoboot: 0 Loading K1-X Environment ... [ 2.562] [ 2.563] Running NVMe Scan ... [ 2.575] pcie_dw_k1x pcie@ca400000: has no power-on-status flag, use default. [ 2.579] Now init Rterm... [ 2.582] pcie prot id = 1, porta_init_done = 0 [ 2.586] Now waiting portA resister tuning done... [ 2.591] porta redonly_reg2: 00005d37 [ 2.594] pcie_rcal = 0x00005d37 [ 2.597] pcie port id = 1, lane num = 2 [ 2.601] Now int init_puphy... [ 2.604] waiting pll lock... [ 2.607] Now finish init_puphy.... [ 2.610] pcie_dw_k1x pcie@ca400000: Unable to get phy0 [ 2.615] pcie_dw_k1x pcie@ca400000: Unable to get phy1 [ 2.620] pcie_dw_k1x pcie@ca400000: PCIe interface power on, set gpio 116 to 1 [ 2.753] PCIE-0: Link up (Gen2-x2, Bus0) [ 2.763] pcie_dw_k1x pcie@ca800000: has no power on gpio. [ 2.766] pcie_dw_k1x pcie@ca800000: has no power-on-status flag, use default. [ 2.773] Now init Rterm... [ 2.775] pcie prot id = 2, porta_init_done = 0 [ 2.780] Now waiting portA resister tuning done... [ 2.784] porta redonly_reg2: 00005d37 [ 2.788] pcie_rcal = 0x00005d37 [ 2.791] pcie port id = 2, lane num = 2 [ 2.795] Now int init_puphy... [ 2.798] waiting pll lock... [ 2.800] Now finish init_puphy.... [ 2.804] pcie_dw_k1x pcie@ca800000: Unable to get phy0 [ 2.809] pcie_dw_k1x pcie@ca800000: Unable to get phy1 [ 2.932] PCIE-2: Link up (Gen2-x2, Bus2) [ 6.405] Retrieving file: /boot/extlinux/extlinux.conf [ 6.434] 1: Armbian-unofficial [ 6.434] Retrieving file: /boot/uInitrd [ 7.308] Retrieving file: /boot/Image [ 8.313] append: root=UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11 earlycon=sbi console=tty1 console=ttyS0,115200 loglevel=1 rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 splash plymouth.ignore-serial-consoles [ 8.331] Retrieving file: /boot/dtb/spacemit/k1-orangepi-rv2.dtb [ 8.378] Uncompressing Kernel Image [ 8.774] Moving Image from 0x10000000 to 0x200000, end=2c73000 [ 8.797] ## Loading init Ramdisk from Legacy Image at 21000000 ... [ 8.800] Image Name: uInitrd [ 8.803] Image Type: RISC-V Linux RAMDisk Image (gzip compressed) [ 8.809] Data Size: 13892069 Bytes = 13.2 MiB [ 8.814] Load Address: 00000000 [ 8.818] Entry Point: 00000000 Verifying Checksum ... OK [ 8.885] ## Flattened Device Tree blob at 31000000 [ 8.887] Booting using the fdt blob at 0x31000000 [ 8.892] Loading Ramdisk to 7d03b000, end 7dd7a9e5 ... OK [ 8.904] Loading Device Tree to 000000007d030000, end 000000007d03afd7 ... OK Starting kernel ... [ 0.000000] Booting Linux on hartid 0 [ 0.000000] Linux version 7.1.0-rc3-edge-spacemit (build@armbian) (riscv64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #3 SMP PREEMPT_DYNAMIC Sun May 10 21:08:09 UTC 2026 [ 0.000000] Machine model: OrangePi RV2 [ 0.000000] SBI specification v1.0 detected [ 0.000000] SBI implementation ID=0x1 Version=0x10003 [ 0.000000] SBI IPI extension detected [ 0.000000] SBI RFENCE extension detected [ 0.000000] earlycon: sbi0 at I/O port 0x0 (options '') [ 0.000000] printk: legacy bootconsole [sbi0] enabled Loading, please wait... Starting systemd-udevd version 257.13-1~deb13u1 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems done. Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. Begin: Running /scripts/local-block ... done. done. Gave up waiting for root file system device. Common problems: - Boot args (cat /proc/cmdline) - Check rootdelay= (did the system wait long enough?) - Missing modules (cat /proc/modules; ls /dev) ALERT! UUID=63ee7593-e111-4547-ac2f-6bdb8519ce11 does not exist. Dropping to a shell! (initramfs) @rm_ Thanks for the link to https://www.phoronix.com/news/SpacemiT-K1-K3-Linux-7.2 which links to https://lore.kernel.org/lkml/20260602070257-KYC5031219@kernel.org/ , which says "For boards of K1", "OrangePi RV2", "Enable eMMC/I2C/PCIe/PMIC/QSPI/USB". The meaning here is that the Linux 6.18 and also Linux 7.1 use special patched kernels, not just the mainline kernel. What's happening in Linux 7.2 is that more RV2 functionality moves in to the mainline kernel. This way, Sven-Ola is correct when he says that SD and NVME already work in Armbian edge 7.1. 0 Quote
armfan Posted 1 hour ago Posted 1 hour ago (edited) I could try one more thing: I could try a *third* USB-C power supply. However, there don't exist very many 5A@5V power supplies on the market. I would try a 3A@5V rated power supply. Have you guys had any problem with power supplies on the RV2? What power supply do you use? Would it be of any help that I buy a Raspberry Pi 5 power supply made by Raspberry Pi Ltd, that's rated 5.1V@5A? https://www.raspberrypi.com/products/27w-power-supply/ https://www.amazon.de/-/en/Official-Raspberry-Pi-USB-C-Supply-black/dp/B0CN3MRV16 Actually in this context is it a good thing to use a power supply rated 5.1V rather than 5.0V? Anyhow as far as the 3.3V supply on the RV2 is concerned, the voltage converter should treat 5.1V and 5.0V equally, it has a wide accepted voltage interval. Edited 1 hour ago by armfan 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.