

eselarm
Members-
Posts
173 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
I consider the btrfs issue 'solved', from past experience I know sometimes explicit balancing is needed for certain blockdevice level or lowlevel operations, like conversion of profiles, for example single into raid1, there must be enough unallocated space so new 1GB chunks can be created, especially on the originating device as it is all fundamentally copy-on-write so at least extra/double space for 1 system, meta, data chunk shall be available and I simply forgot to check/realize that. Further enhancements to Btrfs that this is done automatically somehow means likely that I first need to browse the kernel mailing list and see what people like David Sterba are doing nowadays. The CMA issue I suspect maybe it is related to power supply. Because of testing, I needed to take the NanoPi-R6C to another room where i used a 65W 'white-label branded' USB-C PD PSU that I got delivered with a refurbished laptop. That PSU has once shown under-voltage on an RPi4, so I expect too much ripple (when 5V). Besides the CMA issue, lateron also sudden hard reset of the NanoPi-R6C when I was doing networked backup, was 2x ethernet + HDMI + NVMe + eMMC active and that could mean >3A when only 5V. When I also took my RPI5 27W USB-C PD PSU to that room and used that, no strange issues anymore, so running fine at least with EDK2-UEFI and Armbian kernel 6.15.2-edge-rockchip64 and Bookworm or Tumbleweed userspace (and KDE Wayland). I have never seen PD working on the NanoPi-R6C and the powering circuit looks a lot like ROCK3A w.r.t. staged DC-DC conversion. And I use Armbian mainline based U-Boot or EDK2-UEFI, not the original FriendlyWrt installation with some 2017 based U-Boot. Also for that original one, I doubt that it does USB-C PD to request 9V or higher. I assume not, looking at: https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R6C#PD_Power_Adapters_We_Tested https://wiki.friendlyelec.com/wiki/index.php/Template:PDPowerWeTested There is also nothing about USB-C PD under https://www.friendlyelec.com/Forum/viewforum.php?f=81 so I assume: Great HW but SW/OS support is abandoned and DIY. That also means, same as for ROCK3A and ROCK5B, solder some 12V wire to a male USB-C connector and use that in order to be sure power won't drop too much when e.g. some USB3 HDD/SSD is inserted. Or limit cables to only RPI5 PSU and WAN/1GB ethernet (and still Samsung 970 NVMe, that works OK, even when 800% CPUload). Or check/see if PD handling is available in denx.de/mainline U-Boot.
-
Restarted with vendor kernel, then same actions: [ 580.015977] BTRFS info (device loop0p2): dev_replace from /dev/loop0p2 (devid 1) to /dev/loop1p2 started [ 599.501402] cma: cma_alloc: cma: alloc failed, req-size: 1024 pages, ret: -12 [ 599.502431] kworker/6:4: page allocation failure: order:10, mode:0xcc0(GFP_KERNEL), nodemask=(null),cpuset=/,mems_allowed=0 [ 599.502452] CPU: 6 PID: 239 Comm: kworker/6:4 Tainted: G W 6.1.115-vendor-rk35xx #1 [ 599.502457] Hardware name: FriendlyElec NanoPi R6C/NanoPi R6C, BIOS v1.1 04/09/2025 [ 599.502461] Workqueue: events atomic_pool_work_fn [ 599.502471] Call trace: [ 599.502474] dump_backtrace+0xf0/0x12c [ 599.502480] show_stack+0x20/0x30 [ 599.502484] dump_stack_lvl+0x7c/0xa0 [ 599.502489] dump_stack+0x18/0x34 [ 599.502493] warn_alloc+0xe0/0x17c [ 599.502498] __alloc_pages+0x524/0x854 [ 599.502501] atomic_pool_expand+0x8c/0x268 [ 599.502506] atomic_pool_resize+0x50/0x64 [ 599.502510] atomic_pool_work_fn+0x44/0x54 [ 599.502515] process_one_work+0x1c0/0x274 [ 599.502521] worker_thread+0x1dc/0x274 [ 599.502525] kthread+0xc4/0xd4 [ 599.502529] ret_from_fork+0x10/0x20 [ 599.502534] Mem-Info: [ 599.502537] active_anon:465 inactive_anon:13222 isolated_anon:0 active_file:37602 inactive_file:1830958 isolated_file:0 unevictable:4 dirty:1679 writeback:166667 slab_reclaimable:15924 slab_unreclaimable:27052 mapped:16566 shmem:499 pagetables:621 sec_pagetables:0 bounce:0 kernel_misc_reclaimable:0 free:12582 free_pcp:127 free_cma:0 [ 599.502546] Node 0 active_anon:1860kB inactive_anon:52888kB active_file:150408kB inactive_file:7323832kB unevictable:16kB isolated(anon):0kB isolated(file):0kB mapped:66264kB dirty:6716kB writeback:666668kB shmem:1996kB writeback_tmp:0kB kernel_stack:4416kB pagetables:2484kB sec_pagetables:0kB all_unreclaimable? no [ 599.502554] DMA free:24920kB boost:0kB min:5448kB low:9248kB high:13048kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:956kB inactive_file:3784292kB unevictable:0kB writepending:29608kB present:3929344kB managed:3825428kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB [ 599.502561] lowmem_reserve[]: 0 0 3902 3902 [ 599.502567] Normal free:25408kB boost:0kB min:5712kB low:9696kB high:13680kB reserved_highatomic:2048KB active_anon:1860kB inactive_anon:52888kB active_file:149060kB inactive_file:3539556kB unevictable:16kB writepending:643228kB present:4194304kB managed:3996056kB mlocked:16kB bounce:0kB free_pcp:556kB local_pcp:0kB free_cma:0kB [ 599.502574] lowmem_reserve[]: 0 0 0 0 [ 599.502580] DMA: 97*4kB (UM) 103*8kB (UM) 95*16kB (UME) 101*32kB (UME) 61*64kB (UME) 22*128kB (UME) 7*256kB (U) 7*512kB (UME) 5*1024kB (UME) 1*2048kB (U) 0*4096kB = 25228kB [ 599.502601] Normal: 962*4kB (UME) 377*8kB (UME) 140*16kB (UMEH) 43*32kB (UMEH) 22*64kB (UME) 25*128kB (UME) 17*256kB (UM) 4*512kB (ME) 5*1024kB (UME) 0*2048kB 0*4096kB = 26608kB [ 599.502621] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB [ 599.502624] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=32768kB [ 599.502628] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB [ 599.502631] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=64kB [ 599.502634] 1869148 total pagecache pages [ 599.502636] 0 pages in swap cache [ 599.502639] Free swap = 10873596kB [ 599.502641] Total swap = 10873852kB [ 599.502643] 2030912 pages RAM [ 599.502645] 0 pages HighMem/MovableOnly [ 599.502648] 75541 pages reserved [ 599.502650] 2048 pages cma reserved [ 624.681251] BTRFS info (device loop0p2): dev_replace from /dev/loop0p2 (devid 1) to /dev/loop1p2 finished So although it works, a rather strange side effect with CMA makes me feel that the system could be unstable now. I have seen CMA related errors before on RK35xx, but that was with U-Boot, this is with UEFI firmware, where I maybe forgot to change a setting or so. At least HDMI display is blank, serial console and ssh works.
-
OK, as I thought, not enough 'headroom' rock5b:/local/ssdata/nocow # btrfs inspect-internal list-chunks 2 btrfs inspect-internal list-chunks 2 Devid PNumber Type/profile PStart Length PEnd LNumber LStart Usage% ----- ------- ----------------- -------- --------- -------- ------- -------- ------ 1 1 System/single 1.00MiB 4.00MiB 5.00MiB 4 2.30GiB 0.39 1 2 Metadata/single 5.00MiB 8.00MiB 13.00MiB 1 5.00MiB 35.74 1 3 Data/single 13.00MiB 8.00MiB 21.00MiB 2 13.00MiB 100.00 1 4 Data/single 21.00MiB 1.00GiB 1.02GiB 3 21.00MiB 53.20 1 5 Metadata/single 1.02GiB 208.00MiB 1.22GiB 5 2.31GiB 23.51 1 6 Data/single 1.22GiB 512.00MiB 1.72GiB 6 2.51GiB 84.35 1 7 Data/single 1.72GiB 512.00MiB 2.22GiB 7 3.01GiB 86.48 1 8 Metadata/single 2.22GiB 256.00MiB 2.47GiB 8 3.51GiB 33.67 1 9 Metadata/single 2.47GiB 256.00MiB 2.72GiB 9 3.76GiB 14.43 1 10 Data/single 2.72GiB 1.00GiB 3.72GiB 10 4.01GiB 83.88 1 11 Data/single 3.72GiB 1.00GiB 4.72GiB 11 5.01GiB 97.23 1 12 Data/single 4.72GiB 1.00GiB 5.72GiB 12 6.01GiB 55.02 1 13 Data/single 5.72GiB 1.00GiB 6.72GiB 13 7.01GiB 85.21 1 14 Data/single 6.72GiB 1.00GiB 7.72GiB 14 8.01GiB 58.04 1 15 Data/single 7.72GiB 1.00GiB 8.72GiB 15 9.01GiB 82.03 1 16 Data/single 8.72GiB 1.00GiB 9.72GiB 16 10.01GiB 28.15 1 17 Metadata/single 9.72GiB 256.00MiB 9.97GiB 17 11.01GiB 10.30 1 18 Data/single 9.97GiB 1.00GiB 10.97GiB 18 11.26GiB 99.83 1 19 Metadata/single 10.97GiB 256.00MiB 11.22GiB 19 12.26GiB 0.58 1 20 Metadata/single 11.22GiB 256.00MiB 11.47GiB 20 12.51GiB 5.22 1 21 Metadata/single 11.47GiB 256.00MiB 11.72GiB 21 12.76GiB 0.49 1 22 Metadata/single 11.72GiB 256.00MiB 11.97GiB 22 13.01GiB 0.27 1 23 Metadata/single 11.97GiB 27.00MiB 12.00GiB 23 13.26GiB 0.06 Then doing various balance actions, then again replace action, see result below: [334356.515225] [ T207531] BTRFS info (device loop0p2): balance: start -mlimit=3 -slimit=3 [334356.516261] [ T207531] BTRFS info (device loop0p2): relocating block group 14236516352 flags metadata [334356.608520] [ T207531] BTRFS info (device loop0p2): found 1 extents, stage: move data extents [334356.655369] [ T207531] BTRFS info (device loop0p2): relocating block group 13968080896 flags metadata [334356.882397] [ T207531] BTRFS info (device loop0p2): found 44 extents, stage: move data extents [334356.974962] [ T207531] BTRFS info (device loop0p2): relocating block group 13699645440 flags metadata [334357.145812] [ T207531] BTRFS info (device loop0p2): found 77 extents, stage: move data extents [334357.223337] [ T207531] BTRFS info (device loop0p2): balance: ended with status: 0 [334402.346978] [ T207580] BTRFS info (device loop0p2): balance: start -mlimit=6 -slimit=6 [334402.347912] [ T207580] BTRFS info (device loop0p2): relocating block group 13431209984 flags metadata [334403.120645] [ T207580] BTRFS info (device loop0p2): found 841 extents, stage: move data extents [334403.372968] [ T207580] BTRFS info (device loop0p2): relocating block group 13162774528 flags metadata [334403.613848] [ T207580] BTRFS info (device loop0p2): found 94 extents, stage: move data extents [334403.743610] [ T207580] BTRFS info (device loop0p2): relocating block group 11820597248 flags metadata [334404.526435] [ T207580] BTRFS info (device loop0p2): found 1666 extents, stage: move data extents [334404.798554] [ T207580] BTRFS info (device loop0p2): relocating block group 4035969024 flags metadata [334406.059117] [ T207580] BTRFS info (device loop0p2): found 2363 extents, stage: move data extents [334406.374011] [ T207580] BTRFS info (device loop0p2): relocating block group 3767533568 flags metadata [334407.879438] [ T207580] BTRFS info (device loop0p2): found 5433 extents, stage: move data extents [334408.284506] [ T207580] BTRFS info (device loop0p2): relocating block group 2475687936 flags metadata [334413.884083] [ T207580] BTRFS info (device loop0p2): found 9463 extents, stage: move data extents [334414.690177] [ T207580] BTRFS info (device loop0p2): balance: ended with status: 0 [334530.694011] [ T207693] BTRFS info (device loop0p2): balance: start -dlimit=2 [334530.694839] [ T207693] BTRFS info (device loop0p2): relocating block group 12089032704 flags data [334534.205097] [ T207693] BTRFS info (device loop0p2): found 1897 extents, stage: move data extents [334534.491352] [ T207693] BTRFS info (device loop0p2): found 1897 extents, stage: update data pointers [334534.625126] [ T207693] BTRFS info (device loop0p2): relocating block group 10746855424 flags data [334536.605759] [ T207693] BTRFS info (device loop0p2): found 16316 extents, stage: move data extents [334537.056028] [ T207693] BTRFS info (device loop0p2): found 16316 extents, stage: update data pointers [334537.361629] [ T207693] BTRFS info (device loop0p2): balance: ended with status: 0 [334614.951029] [ T207803] BTRFS info (device loop0p2): dev_replace from /dev/loop0p2 (devid 1) to /dev/loop1p2 started [334654.572435] [ T207803] BTRFS info (device loop0p2): dev_replace from /dev/loop0p2 (devid 1) to /dev/loop1p2 finished So I would need to do the same with vendor kernel on same images, I made exact copies, so can be done, however starting with vendor kernel requires system reboot (and other bootloader), so not sure when I can do this.
-
I could not reproduce it on a vanilla OpenSuse Tumbleweed installation (EDK2-UEFI in SPI-flash on ROCK5B) when using a rather newly created filesystem that is only used for 15 minutes or so. However, I can reproduce if the image is my virtual machine armbian64 machine/test/template and between 1 to 2 years old and has had many operations, like resize shrink extend etc. So it seems some complex out-of-space issue for a certain part: rock5b:/local/ssdata/nocow # uname -a ; grep VERSION_ID /etc/os-release Linux rock5b 6.15.1-1-default #1 SMP PREEMPT_DYNAMIC Thu Jun 5 14:29:05 UTC 2025 (75961ad) aarch64 aarch64 aarch64 GNU/Linux VERSION_ID="20250610" - so depends on image as rather fresh image newly constructed serv.img no problem - -28 is no space error AFAIK, check internal of image rock5b:/local/ssdata/nocow # df | grep loop0p2 /dev/loop0p2 12582912 7904480 2852032 74% /local/ssdata/nocow/2 rock5b:/local/ssdata/nocow # btrfs fi df 2 Data, single: total=10.01GiB, used=7.29GiB System, single: total=4.00MiB, used=16.00KiB Metadata, single: total=1.99GiB, used=218.05MiB GlobalReserve, single: total=26.95MiB, used=0.00B rock5b:/local/ssdata/nocow # btrfs de us 2 /dev/loop0p2, ID: 1 Device size: 12.00GiB Device slack: 0.00B Data,single: 10.01GiB Metadata,single: 1.99GiB System,single: 4.00MiB Unallocated: 1.00MiB rock5b:/local/ssdata/nocow # btrfs fi us 2 Overall: Device size: 12.00GiB Device allocated: 12.00GiB Device unallocated: 1.00MiB Device missing: 0.00B Device slack: 0.00B Used: 7.51GiB Free (estimated): 2.72GiB (min: 2.72GiB) Free (statfs, df): 2.72GiB Data ratio: 1.00 Metadata ratio: 1.00 Global reserve: 26.95MiB (used: 0.00B) Multiple profiles: no Data,single: Size:10.01GiB, Used:7.29GiB (72.82%) /dev/loop0p2 10.01GiB Metadata,single: Size:1.99GiB, Used:229.44MiB (11.27%) /dev/loop0p2 1.99GiB System,single: Size:4.00MiB, Used:16.00KiB (0.39%) /dev/loop0p2 4.00MiB Unallocated: /dev/loop0p2 1.00MiB From 10+ years Btrfs usage and a quick look at those numbers, I think the problem occurs because it is not possible to easily/directly create a new chunk. The filesystem is still mounted. If I unmount, a new mount fails because of undefined state (replace ongoing but no mounted filesystem and target device has temp ID 0 and cannot be found ?). So will see if balancing first with the proper options gets it done.
-
I think now for the 3rd time this happens. OS is Armbian Bookworm with vendor ,current, edge kernels installed. it turns out that with vendor kenel there is no issue. But fails for mainline based rockchip64 kernels, at least edge. I am not sure about current (6.6 or 6.12) as I am not really using those. I discovered first time with 6.13.0-rc* kernel, I assumed something else might have been wrong, so more or les ignored and rebooted with vendor kernel. That happened both with nanopi-r6c and rock-3a. I also already rebooted the rock-3a on a later occasion just t make sure problem would not occur. Yesterday was on nanopi-r6c with kernel 6.15.1-edge-rockchip64. I booted with this kernel but Opensuse Tumbleweed userspace (VERSION_ID="20250610"). Following command run-as-root should move Armbian Bookworm rootfs from eMMC to NVMe: btrfs replace start /dev/mmcblk1p2 /dev/nvme0n1p2 /local/armbid Then in dmesg: Jun 19 18:44:38 ranc kernel: BTRFS info (device mmcblk1p2): dev_replace from /dev/mmcblk1p2 (devid 1) to /dev/nvme0n1p2 started Jun 19 18:45:49 ranc kernel: BTRFS warning (device mmcblk1p2): failed setting block group ro: -28 Jun 19 18:45:49 ranc kernel: BTRFS error (device mmcblk1p2): btrfs_scrub_dev(/dev/mmcblk1p2, 1, /dev/nvme0n1p2) failed -28 After 5 minutes or so I discovered that the filesystem was corrupted, would not open: open_ctree failed: -5 As I do (very) frequent backups (differential send|receive to NAS) recreate and play back the latest single subvolume snapshot is easy, but it would become quite a drama if large multi-TB with hundreds of snapshots/subvolumes. As the OS userspace was rolling release Tumbleweed, the btrfs-progs is very new, not the 6.2 from Bookworm. So it seems something mainline kernel rockchip64. I will try to further pinpoint. The NanoPi-R6C is a bit DUT ATM, but I could test as well with various other combinations, ROCK3A or ROCK5B, although those have a dedicated task/use-case in my home. The 5B has 16G RAM, so easy to run VMs and loopdevs etc. I think this is not HW related, but whos knows, maybe some detailed RK35xx optimization or so.
-
I have had various sorts of issues like this since there is twistedpair ethernet RJ45 (and more troubles with coax BNC). 'PC' is radically different hardware/chips than OPi5, in the end is is analog signals and simbols and channal coding, many leavels were 1 device can do or make slightly different decisions then another one. You only know if you debug kernel and also have dedicated equipment for testing ethernet. But a simple slight less conducting RJ45 pin connector 4 or 5 or 7 or 8 can already make the difference. Can be corrosion or so or not enough pressure in s certain (up or down) direction. Or RF interference difference between PC and OPi5 situation. Or GND connected or not. Or metal surroundings or not. I have made most Armbian installations multi-kernel bootable/selectable (serial console cable en extlinux.conf or GRUB when UEFI) so I would first do a temporary test boot with latest greatest mainline based kernel. It might also mean other U-Boot, I do not know details of OPi5, but my ROCK3A cannot work correct with every U-Boot an kernel combination (only Radxa U-Boot 2017 and Armbian vendor kernel 6.1.115). My ROCK5B is more flexable although if I want to use vendor 6.1.115 I also have to change setting in EDK2-UEFI v1.1 SPI bootloader that I am currently using/testing. And ROCK5B does not use on-chip GMAC ethernet, is has external RTL 2.5GbE chip. Maybe easiest to temporary boot with some fresh downloaded Armbian image on test SD-card and make sure also U-Boot is started from there.
-
RPi5 Armbian_25.2.x upgrade: Unsupported initramfs version
eselarm replied to ChrisO's topic in Raspberry Pi
I just updated a raspios64 virtual machine with grub-efi and vanilla Debian kernel added: Settings in: /etc/default/raspi-firmware KERNEL=no INITRAMFS=no SKIP_INITRAMFS_GEN=yes Still: update-initramfs: Generating /boot/initrd.img-6.1.0-37-arm64 ERROR: Unsupported initramfs version (6.1.0-37-arm64) So it is not working as I hoped/thought. -
RPi5 Armbian_25.2.x upgrade: Unsupported initramfs version
eselarm replied to ChrisO's topic in Raspberry Pi
On my up-to-date RPi4 server (Raspberry Pi OS 64-bit), dpkg -L lists all files in the (RPL variant of) raspi-firmware package. There are control files, scripts, hooks, license, readme, but the essential files are: /usr/lib/raspi-firmware/bootcode.bin /usr/lib/raspi-firmware/fixup*.dat /usr/lib/raspi-firmware/start*.elf Now RPi 3 4 5 differ what is needed. RPi3 only has ROM and uses bootcode.bin as sort of replacement/overlay/patch. PPi4 has this in EEPROM, so does not need bootcode.bin but I am not sure if it boots if the file is missing. RPI5 is radically different and AFAIR, does not need any of those 3 files, all bootloader code etc should be in EEPROM, I guess much like e.g. ROCK5B or so with U-Boot in SPI-flash. So that is also a reason that an RPI5 keeps booting/working even if you purged raspi-firmware (and that also deletes the copy on the bootFAT, check that, there were bugs in the .deb install script in the past). apt hold of the package keeps all the files original in the rootfs (and also the copies on bootFAT) so also /etc/initramfs/post-update.d/z50-raspi-firmware will still be there. It will be called every time a kernel version of initramfs is generated. For every kernel that is not from RPL, you hit the line: echo "ERROR: Unsupported initramfs version ($initrd_version)" in that script. As I indicated it is harmless if you happen to know what is in the script, but of course a bit of panic if not. A quick hack would be to comment out that line In the past (pre-Bookworm), for RPi3 and RPi4 I had an own extra script/hook that fetched 'latest version' of those 3 types of RPi files for 'firmware OS Linux Testing Opensuse' experiments and copied those to bootFAT. The core problem is that it is closed source, the only thing more or less sure is that steady improvement because RPL/RPT has long-term support even for their old 2012 Pi1. So how to do version control / management? I see there is also a settings file: /etc/default/raspi-firmware Maybe put several 'no' in there if your kernel is not the one from Raspberry Pi OS, which is the case for Armbian. -
RPi5 Armbian_25.2.x upgrade: Unsupported initramfs version
eselarm replied to ChrisO's topic in Raspberry Pi
This reminds me of old issue on rpi forum, back to Debian10 times more or less when RPL did not support initramfs and I have been using Btrfs for RPis since Buster (or for sure Bullseye) timeframe. I loop mounted Armbian rolling rpi4 trixie image and ran it via systemd-nspawn -b -D <mountpoint> Then it turns out what I thought: the installed firmware package includes the script same as on Raspberry Pi OS from RPL themselves to copy/rename standard Debian kernel+modules install patch to the FAT boot partition. root@localhost:~# apt list | grep raspi raspi-config/trixie,trixie,now 20221214-0ubuntu1 all [installed] raspi-firmware/trixie,trixie,now 1:1.20250430-1 all [installed] raspi-gpio/trixie 0.20231127 arm64 raspi-utils/trixie,trixie 20250314-1 all root@localhost:~# dpkg -L raspi-firmware | grep z50 /etc/initramfs/post-update.d/z50-raspi-firmware /etc/kernel/postinst.d/z50-raspi-firmware /etc/kernel/postrm.d/z50-raspi-firmware And it is this part of z50-raspi-firmware flavour="$(echo "$initrd_version" | rev | cut -f1 -d- | rev)" case $flavour in v6|v7|v7l|v8|2712) ;; *) echo "ERROR: Unsupported initramfs version ($initrd_version)" exit 0 ;; esac On 1 of my RPi4 I had also the standard Debian kernel 'linux-image-arm64' besides the RPi kernel 'linux-image-rpi-v8' and grub-efi. So when the bootFAT parttition is tagged 0xEF00 (ESP) I could run the image/SD-card unmodified in virt-manager selecting the vanilla Debian kernel in GRUB. I have thought a lot about what to do with those hook scripts in /etc/initramfs, also created various own ones, for Raspberry Pi OS and Raspbian and Armbian. The latter as it is U-Boot (on Rockchip/Allwinner) but just recently I put EDK2-UEFI v1.1 in SPI-flash and that makes all the efforts void as I now use default grub to load Armbian (and Opensuse) on RK3588. For RPi (3, 4, 5) this won't work unless some intermediate efi binary loader is used like is done in Opensuse, for Fedora maybe as well, I don't know. Still this won't work for RPi5 (yet) as its RP1 chip is a bottleneck for upstream support (complex PCI-E DeviceTree handling, see patches efforts done by Suse people AFAIR). With introduction of Bookworm, the RPi firmware can load standard names for initramfs for all RPi HW variants back till 2012. But still no way to select a specific kernel adhoc at boot time via serial console for example (like extlinux.conf for U-Boot). The U-Boot v.s. RPI-firmwarebootloader feels a bit like UNIX pathnames v.s. MS-DOS pathnames, e.g. "/tmp" v.s. "C:\TEMP" or "Image" v.s. "kernel8.img" or "uInitrd" v.s. "initramfs8". Maybe the option is to patch z50-raspi-firmware, maybe remove it from the .deb package. But also it is just a warning, so who cares one could think. Other option is to use the vanilla Debian variant of raspi-firmware root@localhost:/etc/apt/sources.list.d# apt list -a raspi-firmware raspi-firmware/trixie,trixie,now 1:1.20250430-1 all [installed] raspi-firmware/testing 1.20240424+ds-6 all That older version has other script implementation (very different), also uses upstream_kernel=1 in config.txt, which selects other firmware DTB names for Pi3. Now writing this, I think 'vendor' could be downstream RPL based, so new firmware package and 'current' and 'edge' could be upstream mainline. But that also would mean almost no RPi5 functionality as long as that RP1 I/O chip functionality is not upstreamed. I don't know what status is, latest I know is that the wired ethernet still does not work, workaround is to use a RJ45 USB2 dongle on the USB-C connector. -
Maybe not for the ROCK 5 ITX, but for my ROCK 5 B (no eMMC) I can get EDK2-UEFI (v1.1) loaded from SPI or SD. The problem is with all those many Rockchips boards is that they have varying or unknown strategy or setting what the priority of boot devices is. AFAIK seen in some schematics, SARADC and some resistor tree is used. Then it also depends if the U-Boot or EDK2-UEFI or else is hopping to other (MaskROM) readable device or not. I saw it all can be configured in U-Boot (seen on denx.de) but it seems to me that it is almost impossible to make a generic solution. The various wikis seem to describe what is needed to get things working, but my v1.46 ROCK 5 B does not have a header/jumper where I can disable SPI. I see that on Radxa wiki, but older board version I guess. My ROCK 3 A has that header/jumper, so that I used to force only SD-card. For my ROCK 5 B zeroing or erasing SPI is the solution. If I keep Armbian U-Boot edge in SPI, the UEFI on SD-card is ignored. Another thing I also might have had earlier is that the secondary/backup GPT at the and of the device could have still be there, so that is or can be a conflicting situation, for a bootloader, I don't know what is checked in U-Boot etc for example. But if no plans with rest of SD-card I mostly do the use 'sudo blkdiscard' then on the whole SD-card, so all wiped and trimmed.
-
Armbian rolling Testing/Trixie does not upgrade Armbian packages
eselarm replied to eselarm's topic in Radxa Rock 5B
Armbian packages get updated now, so now upgrading to 25.8.0-trunk.100, from .87 I did earlier yesterday. Also now running 6.15.0-edge-rockchip64 with EDK2-UEFI v1.1 in SPI. Need setting to DeviceTree as the default (Both = ACPI and DeviceTree) seems to confuse 6.15.0-edge-rockchip64, got only serial console only or stall somewhere in boot process. -
That RK356x would not be much faster than the H618 I think and "sunxi kernel" is 32-bit, I assume you use and mean 64-bit. DKMS always needs attention (in my experience), so I am happy I made/have my computers/boards such that I do not need it. actually, this topic made me do: apt purge dkms -y, as last week dist-upgrade from Bookworm to Trixie/Testing also had some issue (only a warning, not fatal) regarding DKMS. In the past I used it for some SDR hardware module, but for WiFi USB dongles I simply have a red line: If no mainline kernel integrated code, I do not use is. Also what Igor points to, that stick you have is just very low wireless performance. Use RJ45 or buy good WiFi module I would say. zfs-dkms has no hardware/vendor origin, so that is less of a problem, but note that for cheap low end SBC hardware, Btrfs also works fine and is in the Linux kernel so no special care needed. Also works fine on old ARMv6 Raspberry Pi0/1 including Zstd on-the-fly compression etc. You could create an 2-parttiton image (and U-Boot blob will be between partition table and 1st partition). Use Btrfs as rootfs and also install vanilla Debian kernel and GRUB EFI. Tag 1st as 0xEF00 (ESP) type. Then that image can run as Virtual Machine (hardware accelerated) on all ARM64 SoCs and also emulated on fast x86-64 PCs. Run armbian build inside that VM. I did that for 32-bit Allwinner as I have NanoPi-NEOs, don't have 64-bit Allwinner SoCs. So then easier experiementing and developing and you also have kernel log via virtual tty. Still make sure you have real serial cable/console for that H618.
-
I upgraded my ROCK5B in-place from Armbian Bookworm beta to Armbian Testing/Trixie beta and it turns out that no Ambian packages are seen (so not updated). The Debian Trixie packages do upgrade, as for example I just saw while doing full-upgrade: libavif16:arm64 (1.2.1-1.2) over (1.2.1-1.1) ... I thought something with my install, but also downloaded 'Armbian_25.8.0-trunk.50_Rock-5b_trixie_vendor_6.1.115_minimal.img' yesterday and it has the same issue (quick test via systemd-nspawn container on loopdev mounted image). My goal is at least to figure out what is best bootloader and kernel for the ROCK5B. So far I simply copied/cloned Armbian Bookworm rootfs from ROCK3A+NanoPi-R6C and did some ROCK5B specific changes like U-Boot, but not much more and it actually is already good enough. But before the ROCK5B becomes a 24/7 headless workhorse with long uptime, I thought better to prepare/check for newer Linux or potential issues. I already upgraded some other devices from Bookworm->Trixie and that is quite an improvement, for example KDE 6 performs much better/nicer than KDE5 in Bookworm. It currently uses U-Boot 'edge' and 'current' kernel and very important for me, both the 'vendor' and 'mainline current/edge' overlay for SERDES multi-PHY SATA on the M.2 E-key work (and also the NVMe keeps working). I need to drill a hole in the Radxa aluminum cooling case for the SATA cable (and serial console cable), that needs some time first. I can build and install U-Boot and kernel etc manually of -course, but i wonder why Armbian packages are not visible. Is it as expected or is something wrong? I assume it is just too early yet and that it is work in progress. I think maybe policies are an issue, but don't understand what it could be. Maybe someone has a hint. root@rock-5b:~# apt policy Package files: 100 /var/lib/dpkg/status release a=now 500 http://deb.debian.org/debian trixie/non-free-firmware arm64 Packages release o=Debian,a=testing,n=trixie,l=Debian,c=non-free-firmware,b=arm64 origin deb.debian.org 500 http://deb.debian.org/debian trixie/non-free arm64 Packages release o=Debian,a=testing,n=trixie,l=Debian,c=non-free,b=arm64 origin deb.debian.org 500 http://deb.debian.org/debian trixie/contrib arm64 Packages release o=Debian,a=testing,n=trixie,l=Debian,c=contrib,b=arm64 origin deb.debian.org 500 http://deb.debian.org/debian trixie/main arm64 Packages release o=Debian,a=testing,n=trixie,l=Debian,c=main,b=arm64 origin deb.debian.org 500 https://beta.armbian.com trixie/trixie-desktop all Packages release o=Armbian,a=trixie,n=trixie,l=Armbian,c=trixie-desktop,b=all origin beta.armbian.com 500 https://beta.armbian.com trixie/trixie-desktop arm64 Packages release o=Armbian,a=trixie,n=trixie,l=Armbian,c=trixie-desktop,b=arm64 origin beta.armbian.com 500 https://beta.armbian.com trixie/trixie-utils all Packages release o=Armbian,a=trixie,n=trixie,l=Armbian,c=trixie-utils,b=all origin beta.armbian.com 500 https://beta.armbian.com trixie/trixie-utils arm64 Packages release o=Armbian,a=trixie,n=trixie,l=Armbian,c=trixie-utils,b=arm64 origin beta.armbian.com 500 https://github.armbian.com/configng stable/main arm64 Packages release o=armbian.github.io/configurator,n=stable,l=armbian.github.io/configurator,c=main,b=arm64 origin github.armbian.com Pinned packages:
-
Do they use the same U-Boot or different version? It could be the server image is just composed in a faulty way, some detailed failure somewhere. I would build something for the specific SBC myself or copy the boot area from the HA image into your image/emmc. Or maybe wipe it an use an SD-card with only a U-Boot blob that you want or build yourself maybe from latest U-Boot denx.de. I have done that for QEMU variat, also did some non-standard changes and that works. In a working Armbian, I have checked/installed 3 variants (vendor, current, edge) and EDK3-UEFI for my ROCK5B and then also switching kernels. No eMMC, but only SPI-flash using flashcp and dd for SD-card. But that is Rockchip, Amlogic I do not know, do not have.
-
Analog Audio out not working (25.2.1 / 6.1 kernel / KDE Neon)
eselarm replied to deskwizard's topic in Orange Pi 5
@deskwizard I don't know why I refer to OPi5Max, maybe I had other tab/topic open or so, but it is clear that it is about the OPi5. Now I have the ROCK5B, just cloned the Armbian Bookworm from ROCK3A but did not write SPI yet. Power up with fixed 12V in USB-C and from SD-card with Armbian rock5b vendor U-Boot. rootfs from NVMe, SATA overlay enabled for 3.5inch HDD. 5 audio cards: root@rock5b:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: rockchiphdmi1 [rockchip-hdmi1], device 0: rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: rockchipdp0 [rockchip-dp0], device 0: rockchip-dp0 spdif-hifi-0 [rockchip-dp0 spdif-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 4: rockchipes8316 [rockchip-es8316], device 0: dailink-multicodecs ES8316 HiFi-0 [dailink-multicodecs ES8316 HiFi-0] Subdevices: 0/1 Subdevice #0: subdevice #0 card3 (unlisted) is HDMI-input I think, but disabled all in KDE settings tray except the 3.5mm plug ('headphones'). No further settings or volume change, mpv playing an mp3 instantly. I will likely do/test with 6.15 edge, also maybe 6.12 current (and other U-Boots as well). But first several mechanical/cooling things to tweak, need to drill/cut a hole for the SATA connector in the cooling metal I think.