Jump to content

eselarm

Members
  • Posts

    207
  • Joined

  • Last visited

Everything posted by eselarm

  1. Knowing this means your options are to return the case+NVMe back to shop. Or do a cross-check; case with other NVME and NVME in M.2 slot of some other computer. But this is a typical Raspberry problem; storage via USB (SATA or NVME nowadays) easily leads to trouble. Mostly power related, but also many just the chipset in the adaptor. In case of Pi5, you could get an NVMe adaptor board, but also that is not always working out-of-the box. Only if you buy RPi adaptor and RPI NVME it should work out-of-the-box. Or other SBC that has M.2 slot already on the board.
  2. The more SW components you try to let work together in your own systems, the higher the risk something will break as no one else has the same setup. Also if that SW is commercial (and closed-source) things will get worse. Final killer might be external storage like OneDrive, it is not even related to SW actually, just is fundamentally out of your control. If POTUS wants, internet plug is pulled and no access to your data, that, in the mean time can be used for al sorts of purposes you won't benefit from yourself on the longer term. I keep a Windows10 VM around, I had one (upgraded from free Windows Internal test license AFAIR) in VirtualBox, but wanted to move to libvirt/QEMU/KVM as that also works nice for ARM64 and it turned out that the USB extension not always worked (and needed manual install). Also as you noticed, VirtualBox is not in Debian. It was/is? in Opensuse, but with custom kernel module (that is what VMware and VirtualBox need). Now can be based on KVM, but not their defaults and complex as you need to setup/compile? yourself. Windows10 sees another computer when going from VirtualBox to libvirt/QEMU/KVM (with virt-manager as GUI) so I had to buy a new digital license for 20 Euros. I read in september MS will stop delivering updates (unpaid). That day would come of course, so I have a multi-year plan to get rid of Windows (and Google). Windows is almost done. I also have only 1 Intel box running (N100, runs Opensuse Tumbleweed but came pre-installed with Windows11), rest is ARM (or RISC-V or Atmel or Xtensa). Google is more difficult to get rid of, but slowly progressing.
  3. Maybe some further notes on w.r.t. running HAOS in a VM: As indicated, the process is described for Intel, see https://www.home-assistant.io/installation/alternative For ARM, people have selected RaspberryPi and then ask why it does not work. That is because RPi uses proprietary bootloader (not U-Boot, nor EFI). You need the haos_generic-aarch64 build/image, see https://github.com/home-assistant/operating-system/releases I do not use qcow2, but just a flat img. That is easy to mount as loop device in case some changes are needed to partitions or so. I extracted the .img.xz file and changed the storage (VirtIO Disk) of my existing HA VM to use the new native HAOS instead of my old Debian+supervised_HA. It started without issues and I get to the webpage from where the rest is a standard 'HA getting started', e.g. restore its backup so all devices stats etc are back again. I know many people ask for VMware or Proxmox (or some for VirtualBox), but Linux has anyway all the low-level stuff build-in and a GUI as well: root@rock5b:~# apt install virt-manager virt-manager is already the newest version (1:5.0.0-5). I have this running on ARM64 since Debian Buster 64-bit beta RPi (and 1st early 64-bit Ubuntu server image for RPi4 and also Opensuse Tumbleweed 64-bit) so the commercial ones I dropped long time ago. Above is latest Trixie. Kernel is Armbian vendor currently, but that is only because I want video HW accel (ffmpeg codecs) to work. Otherwise Armbian edge or current offers better stability IMO. Simple tests show that DRAM speed for RK3588 is same or better as for old Intel Core I7, so with also up to 32GB, is great KVM server and desktop same as that old Intel boxes, but 4 Watt idle instead of 40 Watt or so. 40W means about 40 * 9000 is 360 kWh per year, that is 108 Euros per year for my energy contract (30 cents per kWh).
  4. It depends on what kind of- and if- HW I/O is used. USB can be redirected. PCI-E can be re-allocated from host to VM when proper IOMMU (HW) is there, that I only go working for Intel PCs, there is interest in it for ARM64, but so far haven't seen anyone got that working. Other typical SBC HW I/O like SPI, 1-wire, GPIO high-low toggle, etc, can not be virtualized, so not available to a VM. Same for video codecs HW accell blocks. Storage and networking, all things typically relevant for enterprise/servers, is no issue.
  5. The way I do it is to run HA (their HAOS) as a virtual machine. The instructions how to do that are quite clear for Intel, so I did that long time ago on 16GB old Intel Atom server board. Standard 32GB image with partition8 Ext4 data AFAIR. Later on, I created a HA supervised VM for ARM64. I had already several VMs running on a RPI4 for other functions, same libvirtd/QEMU/KVM as on Intel boxes. If you don't know how to get that running, it might be easier to use a docker method, but I consider that as more maintenance (longer term) for myself. I have no real use-case for HA as most I do with own SW. Node-RED, influxDB, Grafana, etc, so currently not running/used. It seems supervised method will loose support sometime, so if I would have to set it up now, I would make a HAOS image running on my ROCK5B (16GB) or NanoPi-R6C (8GB) and import a backup of the database from last year. I can share my serial output of electricity meter now (HW and SW wise) point-to-multipoint, so I will maybe have a look. It is mainly to see how and if metering works for my country/contract out of the box. It is all about the money, we need to pay here for delivering solar energy back to the grid. You need to be a financial expert more or less to get it right. And I am still waiting for cost numbers for energy company, they should have informed me before 2025-07-01, but it seems is it impossible to send an email with 2 or 3 numbers (cents per kWh).
  6. It all depends on what version or variant of OS you are using. I have a R6C and have done many fixes and workarounds for various OSses/distros to the point that I just maybe take what generic upstream kernel does. I anyhow change/fake MAC addresses as I use bridges and also VLANs. Is in Armbian Bookworm and Opensuse Tumbleweed. Ubuntu based has and extra netplan layer that is even more a PITA as it keeps .nmconnections file also in another place (generated) then /etc/NetworkManager/system-connections/ Recently a change in scripting has been done so that name 'wan' is/or has been changed into 'wan1', so at least this does not match what is printed on the metalcase. At least that is what I remember from a quick check on github; See what is in your udev rules scripts yourself. https://github.com/armbian/build/blob/main/config/boards/nanopi-r6s.conf
  7. it all depends on what your plan is what the device should do; I have a R6C for about 18 months now and bought it as an alternative/better more integrated alternative for existing RPi4 (and also RPi5 that still has no M.2 socket). I see many people on for example RPi forum who want to create some router thing, so they buy HATs and USB stuff for an RPi, but this NanoPi series has even WRT preinstalled. I removed it as I wanted generic server box (virtual machines host mainly). I do not really need the 2x RJ45 currenlty, but the metal case is great. Is simple passive cooling and insect/animal proof. It is mainly bootloader and kernel (and DTB/overlays) that matter. The userspace can be taken from elsewhere if you know how to. I currently use the R6C as desktop as well in another cooler room (summer hot here). EDK2-UEFI v1.1 bootloader, Armbian edge 6.16-rc3 kernel, Opensuse Tumbleweed for Btrfs rootfs to drive a DVI monitor KDE plasma 6.4.x. It means various Rockchips HW blocks do not work like NPU and video codecs HW accel block, but that is a choice. If you need those, use vendor kernel and see what exctly you need/want. The 2x RJ45 might be a chalenge, see maybe also:
  8. It is now half a year later, this SD-card was put back into the RPi4 and no issues there. The RPi4 has been upgraded from Bookworm to Trixie in-place (just latest pre-release) so gets quite some writes. It still has Bookworm Btrfs snapshot as well, total of about 9GB excluding 2GB swap partition and 512MB bootFAT. Avarage Btrfs scrub speed 41MB/s. The ROCK3A has no SD-card inserted anymore, running fine, except that in the last 40 days I see: root@rock3a:~# uname -a Linux rock3a 6.1.115-vendor-rk35xx #1 SMP Fri May 30 01:18:17 UTC 2025 aarch64 GNU/Linux root@rock3a:~# dmesg | grep "page allocation failure:" [ 527.016616] dmcrypt_write/2: page allocation failure: order:0, mode:0x800(GFP_NOWAIT), nodemask=(null),cpuset=/,mems_allowed=0 [2879228.441453] dec0:0:hevc_rkm: page allocation failure: order:5, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=user.slice,mems_allowed=0 [2879523.127829] dec0:0:hevc_rkm: page allocation failure: order:5, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=user.slice,mems_allowed=0 [3029341.482298] kworker/0:1: page allocation failure: order:0, mode:0x800(GFP_NOWAIT), nodemask=(null),cpuset=/,mems_allowed=0 The middle 2 is clear what source is, the others I do not know. I think I will first upgrade userspace to Trixie. I currently have no clue what the details w.r.t. page faults mean, so have to see and figure out what issue could be or maybe mitigate somehow.
  9. Yes it is dead, that is why my comments between brackets. Start with http://beta.armbian.com then click with your mouse per sub object. Or wait until it is out of beta phase or modify your sources.list.d
  10. i do not use armbian-config normally, but there is a 6.12.35 here http://beta.armbian.com/pool/main/l/linux-6.12.35/ (fix or edit or follow path/mirror youself)
  11. @Ryzer just started it, was updated a week ago or so: root@banlipi:~# uname -a Linux banlipi 6.12.30-current-sunxi #1 SMP Thu May 22 12:29:54 UTC 2025 armv7l GNU/Linux root@banlipi:~# dmesg | grep drm [ 0.996620] sun4i-drm display-engine: bound 1e00000.display-frontend (ops 0xc0bb0c8c) [ 0.996924] sun4i-drm display-engine: bound 1e20000.display-frontend (ops 0xc0bb0c8c) [ 0.997494] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0bb03f8) [ 0.997999] sun4i-drm display-engine: bound 1e40000.display-backend (ops 0xc0bb03f8) [ 0.998903] sun4i-drm display-engine: No panel or bridge found... RGB output disabled [ 0.998973] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0bae8e8) [ 0.999936] sun4i-drm display-engine: No panel or bridge found... RGB output disabled [ 1.000015] sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops 0xc0bae8e8) [ 1.002143] sun4i-drm display-engine: bound 1c16000.hdmi (ops 0xc0bb1688) [ 1.004289] [drm] Initialized sun4i-drm 1.0.0 for display-engine on minor 0 [ 1.004495] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes [ 1.032416] sun4i-drm display-engine: [drm] Cannot find any crtc or sizes [ 6.475086] [drm] Initialized lima 1.1.0 for 1c40000.gpu on minor 1 [ 11.323101] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm... [ 12.107664] systemd[1]: modprobe@drm.service: Deactivated successfully. [ 12.124764] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm. no newer kernel available via apt now I see when running update.
  12. BananaPi M1 is A20 SoC. I have 1 but not using HDMI. I just have a permanent USB serial console cable connected to it, much easier than HDMI+keyboard.
  13. Maybe, but maybe the issue won't occur then. If you want it reproducable, first for yourself, make a complete image of that USB stick on other large storage device and use that as 'master problem disk'. I have an old PC with 3x 4T HDD Btrfs multidevice formatted for such cases. Btrfs can make reflink copies or do RW snapshots, so easy and fast to create a slightly modified image. There is gddrescue to make initial copy from USB-stick. Also this is a USB-stick in an SBC, all sorts of power issues might also be a root cause. You can use nbd-server and nbd-client to make large/huge images available via network, I do that for my BananaPi M1 (8T HDD). In the past for Btrfs kernel development itself for example, there was/is? a metadata only imager tool, so in case of a complex filesystem bug, you can share only meta data, the data is actually zeroed/sparse. But you need a good extra Linux computer, Windows exFAT handling makes little sense. Best to also test/use the image with a generic Debian Bookworm/Trixie computer, I use a Armbian virtual machine for such a case, running on RPi4 (if 32-bit) or ROCK5B (64-bit only). They can use NBD (as client). AFAIR you can use the sunxi kernel directly in a KVM, at least did something with a NanoPi-NEO image (same kernel as well).
  14. root@rock3a:/lan/tmp# ffmpeg -i file1.AV1.mkv -c:v hevc_rkmpp -c:a copy file1.x265.mkv ffmpeg version 5.1.6-0+deb12u1 Copyright (c) 2000-2024 the FFmpeg developers ... Unknown encoder 'hevc_rkmpp' root@rock3a:/lan/tmp# /usr/share/jellyfin-ffmpeg/ffmpeg -i file1.AV1.mkv -c:v hevc_rkmpp -c:a copy file1.x265.mkv ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers ... [out#0/matroska @ 0xaaaaeff1e660] video:223157KiB audio:6460KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.220596% frame=27421 fps=138 q=-0.0 Lsize= 230124KiB time=00:15:21.52 bitrate=2045.7kbits/s speed=4.64x video plays fine You might have power issues, that is my thirst thought, as I had several issues with my rock3a when I used USB-C (so with default PD with 5V). Now 12V in and user on-board DC-DC to do proper feeding. OPi5 does not have this AFAIK from schematics. But is is a wild guess. Many other things can be wrong, like who knows something with iommu (I guess not). I might try same command sometime later on my NanoPi-R6C when I will upgrade Armbian from Bookworm to Testing/Trixie, it also has RK3588S, same as OPi5, but check this, it is just top-of-my-head. I use mainline kernels mostly now, so need to tune grub or so first.
  15. My pihole is a virtual machine; I do not use SD-card for it, I keep virtual machine 'objects' around on various machines, so I do not have to wait 'burning' SD-cards. I can tell way more to prevent further assumptions being made about how I operate computers in my home and foreign country, but this is getting boring. I won't click all the various URLs. I would rather start using bcachefs (again) and see how long it will take before Kent Overstreet will have added a send|receive in there like now is available in ZFS and Btrfs. But it seems you did not get the point that I use the word 'snapshot' to identify both: (pseudo code) raspi1:/.snapshots/numberX/snapshot and othermachine:/backups/numberY/snapshot (and multiple othermachines, clone NAS as I said) On raspi1 it is local on SD-card, on othermachine(s) is the exact same filetree and same subvol (received) UUID. If I would not trust btrfs send|receive, which could be the case sometimes when doing btrfs development kernel patching around 2013 timeframe, I could do a an rsync -avxc between the 2, where 1 side is a just taken RW snapshot of the otherwise RO snapshot. So you will see rsync do writes to the RW subvol if something had gone wrong with kernel implementation or userspace. Or if i manually poked 1 sector random data in some some random file at some random offset (simulating a HDD bad sector). I have done that as test several times. It take time to do that between 2 4TB HDDs but not a problem.
  16. do you have correct permissions? maybe run as root on my rock3a content is fine but got [Jul 4 20:19] warn_alloc: 19 callbacks suppressed [ +0.000026] dec0:0:hevc_rkm: page allocation failure: order:5, mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),cpuset=user.slice,mems_allowed=0 [ +0.000115] CPU: 2 PID: 2339021 Comm: dec0:0:hevc_rkm Not tainted 6.1.115-vendor-rk35xx #1 [ +0.000011] Hardware name: Radxa ROCK3 Model A (DT) [ +0.000011] Call trace: [ +0.000008] dump_backtrace+0xf0/0x12c [ +0.000023] show_stack+0x20/0x30 [ +0.000011] dump_stack_lvl+0x7c/0xa0 [ +0.000016] dump_stack+0x18/0x34 [ +0.000010] warn_alloc+0xe0/0x17c [ +0.000012] __alloc_pages+0x524/0x854 [ +0.000010] __kmalloc_large_node+0xb8/0x114 [ +0.000012] __kmalloc+0x4c/0x100 [ +0.000009] __regset_get+0x60/0xd8 [ +0.000013] regset_get_alloc+0x1c/0x28 [ +0.000010] elf_core_dump+0x500/0xbc8 [ +0.000011] do_coredump+0xabc/0x100c [ +0.000012] get_signal+0x1b8/0x634 [ +0.000013] do_notify_resume+0x194/0xda8 [ +0.000010] el0_da+0x5c/0x70 [ +0.000012] el0t_64_sync_handler+0xc0/0x13c [ +0.000010] el0t_64_sync+0x19c/0x1a0 [ +0.000013] Mem-Info: [ +0.000010] active_anon:112109 inactive_anon:125820 isolated_anon:0 active_file:31285 inactive_file:45270 isolated_file:0 unevictable:0 dirty:2210 writeback:0 slab_reclaimable:16665 slab_unreclaimable:16446 mapped:15455 shmem:105 pagetables:1861 sec_pagetables:510 bounce:0 kernel_misc_reclaimable:0 free:82604 free_pcp:125 free_cma:35560 [ +0.000022] Node 0 active_anon:448436kB inactive_anon:503280kB active_file:125140kB inactive_file:181080kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:61820kB dirty:8840kB writeback:0kB shmem:420kB writeback_tmp:0kB kernel_stack:4192kB pagetables:7444kB sec_pagetables:2040kB all_unreclaimable? no [ +0.000017] DMA free:330416kB boost:14364kB min:19988kB low:21964kB high:23940kB reserved_highatomic:2048KB active_anon:448188kB inactive_anon:503568kB active_file:125312kB inactive_file:181216kB unevictable:0kB writepending:8840kB present:2095104kB managed:2014252kB mlocked:0kB bounce:0kB free_pcp:544kB local_pcp:0kB free_cma:142240kB [ +0.000018] lowmem_reserve[]: 0 0 0 0 [ +0.000015] DMA: 20626*4kB (UMEHC) 16291*8kB (UMEHC) 4462*16kB (UMHC) 1263*32kB (UMHC) 92*64kB (MHC) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 330528kB [ +0.000049] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB [ +0.000010] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=32768kB [ +0.000008] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB [ +0.000009] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=64kB [ +0.000008] 129311 total pagecache pages [ +0.000007] 52636 pages in swap cache [ +0.000006] Free swap = 11240188kB [ +0.000007] Total swap = 11792380kB [ +0.000006] 523776 pages RAM [ +0.000006] 0 pages HighMem/MovableOnly [ +0.000006] 20213 pages reserved [ +0.000007] 135168 pages cma reserved command used /usr/share/jellyfin-ffmpeg/ffmpeg -y -c:v hevc_rkmpp -i 2025-06-29_22-05_rec.ts -map v -c:v h264 _rkmpp -b:v 8000k -map 0:1 -c:a copy -t 300 dvbt2.h264.ts
  17. I have a BananaPi M1, same SoC, same kernel (the upgrade went fine for me last week). Although I only use it for its SATA connector (big HDD as NBD, OS on SD-card), audio 3.5mm plug did work. Maybe I could see what mine does, but rather with a default Debian player, like mpv, works via ssh CLI. I can generate some FLAC file, but I don't want to search for the specific song/title. Also I could do a temp exfat on a loopdev or so or just play from NFS, Btrfs or Ext4 loopdev.
  18. I know, but who cares if it is impractical IMO and various distros by default use that path. And RPiOS needs /boot/firmware, I myself use also /boot/uboot so I am more flexible w.r.t bootloaders. What is on boot FAT or in SPI-flash or tftpboot or else is secondary, the master (from package manager) is in rootfs. Read back my 1st message; there is option -p A snapshot is identified by its UUID, whether local or remote/other/foreign filesystem. So my backup tool/script figures that out. If an SD-card would be end of life or damaged scrub will notice it and then I regenerate the whole thing on a new SD-card from the latest transferred snapshot. I do not use /home for any meaningful data. All is on NAS. Some have no local storage except SPI for bootloader. I also treat all Linux computers the same, except those that are NAS or a clone of it. For rare Windows I indeed use 'imaging' although there is WinBTRFS.
  19. I just mention the very basic, Btrfs has way to many features and options to make a generic image creating script. I see already 2 issues in the shrink-backup scrip, simple test: root@rock5b:~ # btrfs filesystem du -s --raw / Total Exclusive Set shared Filename ERROR: not a btrfs filesystem: /boot/efi WARNING: cannot access 'efi': Invalid argument WARNING: cannot access 'boot': Invalid argument ERROR: cannot check space of '/': Invalid argument This is on Opensuse Tumbleweed, but distro should not matter as I have a custom simple subvolume scheme. It is after 10+ years that I have a fully automated methods that just backup the structure I use in every Linux system so that it also can be 'played back' to a (sparse) image file or just raw device. I don't do any resizing, that is not essential to backup; I just re-create that same partition table (also backed up) so I have the same machine after a failed SD-card or HDD with too many bad sectors or just a clone template for a extra new SBC. I use a tool called snapper to create snapshots, both automatic and ad-hoc. It is also integrated in apt and zypper. So before the upgrade to pihole v6, a (read-only) snapshot is created. Also I was bothered by buggy v6, so I just take a read-write snapshot of the last know good/running read-only snapshot and set that that to default, then reboot, or even sync and power cycle. Of course that snapshot (UUID) is also as a differential created tree/folder on my NAS (in case the SD-card or so would fail). Long time ago installers created a lot of subvolumes, like for /home /var/log and many more. That indeed gets into big problems. Just use 1 for the root and snapshot that. That works fine for a workstation like machine with no real data stored locally (all is on NAS). Note that since kernel 6.1, btrfs send can send compressed data, so as it is stored on storage device. That saves time (and money) on mobile links for example. You can compress and decompress via rsync or ssh or vpn, but it costs extra battery energy. Also how long does "make atomic snapshots" take on a 4TB HDD of a subvolume of 2TB you think?
  20. The foreign added SPI-flash makes it custom in terms of Armbian bootloader. Look how to build U-Boot from Armbian build environment (development basically) or find howto on denx.de. It been a while since I last did that myself, so things might have changed a bit.
  21. That is because it is the linux kernel that is driving you own/custom SPI-flash chip. When you power on the board, it follows a certain priority of devices, see schematics of the board. It might be that SPI-flash is not included. And if included, the U-Boot you put in there might assume different wiring or none at all. It is can be because the U-Boot config it is compiled from does not include the right options. So create a custom U-Boot for your custom board.
  22. @Geoffrey Schaller error is "No space left on device (28)", from rsync The github info mentions: Rsync WILL cross filesystem boundries, and you have Ubuntu snapd active it seems, so my guess is the script copies double; bot snapd image file and mounted content. mount command on your OPI3 will show that. -x option of rsync shall be used, e.g. test it with mkdir -p /mnt/backups/PiHole/test/ rsync -avx / /mnt/backups/PiHole/test/
  23. check those files /usr/lib/systemd/system/armbian-resize-filesystem.service /usr/lib/armbian/armbian-resize-filesystem
  24. # dpkg -L linux-u-boot-nanopi-r6c-current | grep platform_install.sh /usr/lib/u-boot/platform_install.sh that script writes the uboot binary
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines