sven-ola Posted December 21, 2025 Posted December 21, 2025 Hey! Got it up and running - I have an Armbian SD card image based on the source trees found on https://github.com/orangepi-xunlong. Since I am a newbie to Armbian, please accept my apologies for beginner errors. Here's what I currently got on my UART: root@orangepirv2:~# uname -a Linux orangepirv2 6.6.63-current-ky #1 SMP PREEMPT Tue Mar 18 02:29:27 UTC 2025 riscv64 GNU/Linux root@orangepirv2:~# cat /etc/os-release PRETTY_NAME="Armbian-unofficial 26.02.0-trunk trixie" NAME="Debian GNU/Linux" VERSION_ID="13" VERSION="13 (trixie)" VERSION_CODENAME=trixie DEBIAN_VERSION_FULL=13.2 ID=debian HOME_URL="https://www.armbian.com/" SUPPORT_URL="https://forum.armbian.com" BUG_REPORT_URL="https://www.armbian.com/bugs" ARMBIAN_PRETTY_NAME="Armbian-unofficial 26.02.0-trunk trixie" This is not ready for prime time now. Needs a bit cleanup b/c I pulled in binaries and private project stuff not meant for armbian-build. Currently resides in this fork https://github.com/sven-ola/armbian-build/tree/orangepi-rv2. If you want to give it a try: it's compile.sh opirv2 after checkout. I've also managed to boot from the top 2230 M.2 SSD but this is also handmade (I'm pretty sure there is a script in here that copies the SD card boot blobs to SPI flash, will try before doing the MR). Best // Sven-Ola 1 Quote
sven-ola Posted December 22, 2025 Author Posted December 22, 2025 In the meantime, I spotted the pending MR from https://github.com/tmshlvck for this in the Pull Request Backlog. There are a number of issues with that, besides that it's very similar. Adding *.deb from xunlong without review is (mmm), better stay away from this. I'm not sure if the camera *.json is required. Not anything from the xunlong tree needs to be copied probably. I cleaned out my version (see https://github.com/sven-ola/armbian-build/tree/orangepi-rv2), but while this is open since October, I postpone to trigger another MR on that issue. My goal is: boot from upper 2230 SSD and use lower M.2 for Wifi (there are cheap Mediatek 3-band Wifi cards with 2280 adapter). If anyone wants similar setup, just checkout my branch from the link above and: ./compile.sh BOARD=orangepirv2 BRANCH=current RELEASE=trixie KERNEL_CONFIGURE=no BUILD_MINIMAL=yes KERNEL_GIT=shallow Write output/images/*.img to SD and boot with that. Use armbian-install to copy boot cfg on MTD. Again copy that *.img to /dev/nvme0n1. Remove SD card, reboot board. While investigating, there are a number of hints that the Ky X1 is in fact a SpacemiT K1 variant. Maybe stripped down, since the RCPU firmware (esos.elf) is much smaller. I have noticed, that Xunlong is not exactly welcome here. Chinese difficulties with the words upstream and donation probably. I think the hard work is to maintain / port the kernel and u-boot code drops with future versions. On the other hand: this board is cheap, offers a way to practice with a new CPU arch, and has the expected minimum number of M.2 slots. I'm currently compiling a kernel on that board. ETA 3 hours or so, board is not very fast. Anyhow, temp stays below 80°C if operated upright (above foto). No unusual hotspots, board and RAM seems stable, wifi and ethernet works. HTH and LG // Sven-Ola 0 Quote
sven-ola Posted December 24, 2025 Author Posted December 24, 2025 Today investigated, why BCM Bluetooth was not working with my image. What a rabbit hole 🙄 Also added OrangePi R2S board. Smaller brother of RV2 (I have no board but it's probably working). For the Bluetooth: everyone is obviously happy to hack the BCM firmware file instead of implementing bcm init into hciattach. The brcm_patchram_plus firmware hacking tool was added for this arch and that arch as a binary under BSP for different boards. Not very Debian-style. I grabbed the working source, compared to the one avail in Android AOSP and added it to my branch, added lib6-dev-riscv64-cross to the Docker image and now have a working image with BT. LG && HTH // Sven-Ola 0 Quote
sven-ola Posted December 29, 2025 Author Posted December 29, 2025 (edited) As a followup: hardware crypto is damn slow on the Ky / SpacemIt platform, at least for default LUKS block encryption with AES. This probably also affects the Banana Pi F3 image. With default sector-size of 512 byte, HW-AES is 5 times slower than SW-AES, while cryptsetup benchmark reports 5 times faster. Main reason: block size. With sector-size of 4096 LUKS is reasonable fast. Also there is leftover debug (cannot be switched off) and a small bugs in the driver that triggers SW crypto fallback after HW crypto succeeds. Patches: https://github.com/sven-ola/armbian-build/tree/orangepi-rv2/patch/kernel/ky-current Best // Sven-Ola Edited December 29, 2025 by sven-ola 0 Quote
sven-ola Posted Wednesday at 05:03 PM Author Posted Wednesday at 05:03 PM (edited) PCIe MSI is not working. At least with an Intel iwlwifi M.2 card. For that reason, I investigated the differences between the Xunlong KY tree and the Armbian Spacemit Tree. B/c loading the "official" 552kb esos.elf seems to work (even if the Ky version is only 104kb) on the OrangePi RV2, I started to backport Xunlong changes to Armbian/Spacemit family. Newer kernel, but no luck with that MSI. There should be a DMA-transfer-complete interrupt at the end of the firmware upload. Card is working in my PC. MSI is working on OpiRV2 with NVME. Current status: board runs with spacemit-family kernel, but some minor Does-Not-Work yet: LED, onboard Wifi+BT and I need to check that special RTL eth... LG // Sven-Ola Edit: Pic it or it didn't happen. RV2 underside with WIfi card. Edited Wednesday at 05:20 PM by sven-ola +=IMG 1 Quote
sven-ola Posted Thursday at 07:47 PM Author Posted Thursday at 07:47 PM All clear for the PCIe MSI: it is something with that Intel 7260 card. Today, I got two other M.2 Wifis: MT7922 and RTL8822ce, both seem to work on current and also on edge. Thus, I consider this as a success. Here's some screen blurb. Zitat root@orangepirv2:~# modprobe -v mt7921e insmod /lib/modules/6.18.4-edge-spacemit/kernel/net/wireless/cfg80211.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/net/mac80211/mac80211.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/drivers/net/wireless/mediatek/mt76/mt76.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/drivers/net/wireless/mediatek/mt76/mt76-connac-lib.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/drivers/net/wireless/mediatek/mt76/mt792x-lib.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common.ko.xz insmod /lib/modules/6.18.4-edge-spacemit/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.ko.xz root@orangepirv2:~# iw dev phy#0 Interface wlan0 ifindex 4 wdev 0x1 addr cc:5e:f8:e3:a9:05 type managed multicast TXQ: qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets 0 0 0 0 0 0 0 0 0 root@orangepirv2:~# iw phy |grep Band Band 1: Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range Band 2: Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range Band 4: Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range Full Bandwidth UL MU-MIMO Partial Bandwidth UL MU-MIMO Partial Bandwidth Extended Range root@orangepirv2:~# lspci 0001:00:00.0 PCI bridge: Device 201f:0001 (rev 01) 0001:01:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter 0002:00:00.0 PCI bridge: Device 201f:0001 (rev 01) 0002:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9B1 (DRAM-less) (rev 02) // Sven-Ola 0 Quote
brunorro Posted 4 hours ago Posted 4 hours ago Hey, Thank you for working on this one. I have the very same and the sunxi scripts to create the Ubuntu image (tricked into trixie) are horrible. For instance, to create ky image they download all toolchains (ARM and so on) from its site and it's kind of difficult to even change that one. I would love to use upstream u-boot and spacemit 6.19 kernel on this one (already compiled for it) but I'm no expert and the lack of docs and ways to work on this one kills me Thank you! 0 Quote
sven-ola Posted 3 minutes ago Author Posted 3 minutes ago Hello @brunorro. Yes, sometimes people are hacking badly. I have it working again after restarting with Armbian/Spacemit: u-boot starts, onboard BT and Wifi works, SD card is again reading with 80mb/s, transfer u-boot and SBI to MTD via armbian-install works (MTD boot is required for starting from SSD), both M.2 slots can boot from NVME. Sadly, the Broadcom SDIO wifi driver is a smoking mess. This driver needs heavy porting so its not available with linux-6.18 / edge currently. Are you willing to test anyhow? I can provide a 6.6.99 Trixie image for download if you ACK. There are always things that I may have overlooked such as USB, HDMI. All those little things I have not tested, I' on UART currently. LG // Sven-Ola 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.