Search the Community
Showing results for 'headers'.
-
I found a solution: downgrade the kernel to version 5.10.218 on SD-card_images by Johang Gunarsson in sweden. I used his Bookworm image. It does require a bit of work: Rsync is often broken on his images for pcduino (it looks for a libcryto.1 module but that module is obsolete), so you may need to downoad and compile rsync if you need it. The wifi is also unstable with the main line driver. I fixed the issue by installing morrownr's driver, but it takes ages to compile on the old lady (about 45 mins). I took the kernel and headers from this archive: https://archive.debian.org/debian/pool/main/l/linux/ Apparently, the big change between kernel 5 and 6 wrt OTG is usb-role-switch. Pcduino can support this new requirement, but someone with the right knowledge needs to take the time to update the device tree, and since the board is old, this may take time, or at this stage, may never happen.
-
I think building a new image is probably beyond me at the moment. I uninstalled the existing headers, rebooted and installed the updated headers and rebooted. The issue persists. I'm just going to give up on it. I don't really need to LCD display to work. I just wanted confirmation I wasn't missing something stupid. Thanks.
-
I currently have a TV box with @Nick A Armbian-unofficial_25.05.0-trunk_x98h_bookworm_edge_6.12.11_xfce_desktop.img. I have installed linux-headers-edge-sunxi64_25.05.0-trunk_arm64__6.12.11 from the same repository. I'm trying to build a custom module to get the LCD working but I keep coming up against a Exec Format Error which implies a mismatch between the build version and the installed version. But I can't find the cause. I have been following the build instructions for tm16xx-display which hasn't been a smooth process. I've had to remove some forward slashes in the Makefile so it would find the drivers/auxdisplay folder and the line-display.mod.c file it created had entries with multiple double quotes that caused errors. I had to change ""LINEDISP"" to "'LINEDISP'" before it would build. I should also mention I have previously tried OpenVFD and come up with the exact same issue so I don't think it's related to tm16xx. uname - r 6.12.11-edge-sunxi64 Vermagic of the module 6.12.11-edge-sunxi64 SMP preempt mod_unload aarch64 uname -a Linux x98h 6.12.11-edge-sunxi64 #1 SMP PREEMPT Thu Jan 23 11:23:05 EST 2025 aarch64 GNU/LINUX I have little experience with building things in Linux. Am I missing something simple? Is "PREEMPT" listed in all caps in uname -a an issue when the vermagic line is lower case? What about mod_unload? Any other ideas? I've been googling all day and got nowhere. Most results show different version between uname and vermagic which isn't the case here as far as I can tell. I guess I just need to know if it's possible to build custom modules with armbian images or if it's something that just doesn't work and I should forget about it. Thanks.
-
@BoringNameHave you tried building a new image? Use the image and kernel headers from that specific build. I believe the problem exists because the DTS source was updated after the header release. I updated the linux kernel headers. https://github.com/NickAlilovic/build/releases/download/20250306/linux-headers-edge-sunxi64_25.05.0-trunk_arm64__6.12.11-S62b2-Da873-P6755-C1a9bH02eb-HK01ba-Vc222-B9bbb-R448a.deb
-
On the 25.11.1 Noble release, using the 6.12 kernel, there is no package to install the linux-headers for installed kernel. Is there some place to get them so that it is possible to install a kernel module for the provided ubuntu-rockchip kernel?
-
Hi I installed Armbian_community_26.2.0-trunk.151_Odroidhc4_trixie_current_6.18.2_minimal.img Trying to build zfs-dkms I discovered that I was missing the linux-headers for this kernel version and there is no package containing it. At least apt-cache didn't find anything. Any idea where to find it? Thanks, Chris
-
Hello Armbian-Community! TL;DR I've successfully enabled the Rockchip RK3568 NPU (0.8 TOPS INT8) on the ODROID-M1 with 8GB RAM running Armbian 6.18.9-current-rockchip64. The only thing needed to make this work for everyone is a 1-line kernel patch in Armbian build that I've already submitted: https://github.com/armbian/build/pull/9403 Once this patch is merged into Armbian, the DKMS modules will work out-of-the-box on all RK3568 boards. The Problem 1. Hardkernel and Rockchip provide NPU patches for quite old kernel versions: rockchip <= 6.6 hardkernel <= 5.10 2. IOMMU page table allocation bug — On systems with >4GB RAM, the kernel's IOMMU allocates page tables above 4GB, but the NPU can only access the first 4GB of physical memory, causing DMA mapping failures and inference timeouts The Solution 1. Kernel Patch (1 line!) - .gfp_flags = 0, + .gfp_flags = GFP_DMA32, This forces IOMMU page tables to be allocated below 4GB, fixing NPU operation on 8GB boards. 2. DKMS Driver Package I've created a complete DKMS package that: - Includes DT overlays for NPU, IOMMU, power-domain, and clock configuration - Supports dynamic frequency scaling (100 MHz - 1000 MHz) - Provides `/dev/dri/renderD129` (DRM/GEM interface) for RKNN Runtime - Would compile against Armbian's stock kernel headers with the above patch merged The Questions 1. What would be the best way to provide those modules for installation in the armbian system? 2. Has someone a 4 GB version of the M1 and could test the modules?
-
I've been trying to get the LCD working on my box. I've used Nicks image - Armbian-unofficial_25.05.0-trunk_X98h_bookworm_edge_6.12.11_xfce_desktop I've followed instructions for OpenVFD and tm16xx on these forums but both result in an Exec Format Error when I try to install the compiled module. From what I have read this is a version mismatch between the kernal and what the module was built with but when I compare uname -r with the vermagic of the module they match. I initially installed the linux headers from Nick's Github: linux-headers-edge-sunxi64_25.05.0-trunk_arm64_6.12.11. After I got the format error I tried installing headers from Armbian-config but get the same result. Make wouldn't work at all initially until I did a symlink between the relevant folders in usr/src and lib/modules. Maybe that stuffed something up?
-
@marcosdsdba I would compile this on the box. Install kernel headers. Post the errors you are getting. https://github.com/NickAlilovic/build/releases/download/20250306/linux-headers-edge-sunxi64_25.05.0-trunk_arm64__6.12.11-S62b2-Da873-P8a5c-C1abcH02eb-HK01ba-Vc222-B9bbb-R448a.deb
-
[UPDATE] Manual Partition Strategy on RK322x (Kingston eMCP) - GPT Signature Error & TOS Anomaly Hi everyone, Following up on my struggle with the "Red LED" issue on this RK3228A box (Kingston eMCP). Since the Multitool wouldn't boot from the SD, I moved to a more aggressive approach using rkdeveloptool on macOS to flash Armbian images and the Multitool components directly to the internal storage. The Loader Struggle (Samsung vs. Kingston) I compiled rkdeveloptool on macOS and tested multiple loaders to initialize the RAM/Flash: • rk322x_loader_v1.10.256.bin • rk322x_loader_v1.11.253.bin • rk322x_loader_v1.10.238_256.bin None of them solved the SD boot issue. Interestingly, they identify my flash as SAMSUNG, even though the physical chip is Kingston: Flash Info: Manufacturer: SAMSUNG, value=00 Flash Size: 7216 MB | Block Size: 512 KB | Page Size: 2 KB Tested Images & Offsets (Direct Flashing via rkdeveloptool) • Armbian Community (6.1.62/Minimal 6.18.7): Tested 0x0 and 0x8000. • LibreELEC (10.0, 11 and 12): Tested 0x0 and 0x8000. • Multitool (v1.11 & Standard): Tested 0x0 and 0x2000. • Educabox (Legacy 4.4.194 / NAND): Tested 0x0. All attempts resulted in "GPT signature wrong", likely because the Secure Boot/Trust OS expects the Android rkparameter structure instead of a standard GPT. When I then changed the GPT table in parameters.txt, it sometimes wouldn't even give me a signal via serial. The Strategy: Manual Image Construction (Partition Replacement) Since full image flashing failed, I followed the "Partition Replacement" strategy to manually construct the layout. I read about it in a post titled long story LINUX on rk3229 rockchip by @fabiobassa: manually constructing the partition layout to satisfy the Bootrom's legacy requirements while injecting Armbian components into specific offsets. The parameter.txt Modification (The Key Step): The root cause of the "GPT signature wrong" error was the mismatch between the Android partition table expected by the device's Secure Boot/Trust OS and the standard GPT layout of Linux images. Original State: The stock parameter.txt defined over 12 Android-specific partitions (cache, recovery, kpanic, metadata, etc.), complicating the boot process. Modified State: I manually edited parameter.txt to consolidate all user partitions into a simplified Linux layout. I removed the Android clutter and defined a single large system partition for the RootFS. New Layout Definition: mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00004000@0x00004000(trust),0x00007800@0x0000A800(resource),0x00006000@0x00012000(kernel),0x00006000@0x00018000(boot),-@0x00028000(system) Component Preparation (Where the files came from) I did not use generic loaders for the boot partition. Instead, I extracted and repackaged each component on macOS to fit this new map: U-Boot (uboot @ 0x2000): I extracted the original bootloader from my device backup using dd to preserve compatibility. Command: dd if=backup_original.img of=uboot_extraido.img skip=8192 count=8192 System/RootFS (system @ 0x28000): I extracted the raw EXT4 Linux partition from the Armbian image. Command: dd if=Armbian...minimal.img of=particao_linux.ext4 skip=8192 count=2269184 Kernel (kernel @ 0x12000): Extracted vmlinuz-6.18.7-rockchip from the Armbian image and wrapped it with Rockchip headers using mkimage. Command: mkimage -A arm -O linux -T kernel -C none -a 0x60408000 -e 0x60408000 -n "Linux" -d vmlinuz... kernel.img Ramdisk (boot @ 0x18000): Extracted uInitrd from Armbian and wrapped it as a ramdisk image. Command: mkimage -A arm -O linux -T ramdisk ... -d uInitrd... boot.img Resource/DTB (resource @ 0xA800): I used the specific Device Tree Blob for this box (rk322x-box.dtb) extracted from the Armbian build and renamed it to resource.img. Afterwards, I tested with resource-linux which was linked in the original discussion, but still did not have success. The Flashing Sequence & Current Anomaly With the files prepared and the partition map redefined, I flashed the components using rkdeveloptool. The Sequence: Initialize: db rk322x_loader_v1.10.238_256.bin Partition Map: prm parameter.txt (Injecting the simplified layout). Flash Images: wl 0x2000 uboot_extraido.img (My extracted U-Boot) wl 0x4000 trust_with_ta_ga4fd2d1.img wl 0xA800 resources-linux.img (The DTB) wl 0x12000 kernel.img wl 0x18000 boot.img wl 0x28000 particao_linux.ext4 (The Armbian RootFS) The Result (The "TOS" Anomaly): The write process returns 100% Success, but the device fails to boot. The serial log (1.5Mbps) reveals a loop with a specific error: GPT 0x63337df8 signature is wrong recovery gpt fail! tag:LOADER error,addr:0x2000 hdr 633377e0 + 0x0:0x20534f54,0x20202020... The Anomaly: The error points to address 0x2000. The header read back is 0x20534f54, which is ASCII for "TOS " (Trust OS). It seems the Bootrom or the initial loader is hardcoded to expect the Trust Image at 0x2000, but my parameter.txt (and the standard Rockchip layout) places U-Boot at 0x2000 and Trust at 0x4000. Even when I flash my extracted U-Boot there, the system seems to be looking for a Trust signature. At this point, I don't know what I'm doing anymore and have spent around 20 hours in this project testing things. Any guidance on how to proceed from more experienced devs such as @fabiobassa, @Harleyyyu and @jock would be greatly appreciated to save my sleepless nights. Thanks for reading.
-
Thank you OP, I used HeliOS64 for a long time until it started to get disconnected after few hours of use that that was annoying. And so I stopped using it. I have just started using Claude-code. I am missing a remote backup solution. Claude-code gave me encouragement to revive it. I got directed to https://www.armbian.com/helios64/ to download, the only issue I found was that initially my 2.5Gbe worked and then after reboot stopped. Cloud code help me get that fixed. Below is what got it working again: # Step 1: Enable 2.5GbE (then reboot) echo "overlays=rk3399-pcie-gen2" | sudo tee -a /boot/armbianEnv.txt sudo reboot # Step 2: Install driver & Tailscale sudo apt update && sudo apt install -y build-essential dkms git linux-headers-current-rockchip64 cd /usr/src && sudo git clone https://github.com/awesometic/realtek-r8125-dkms.git r8125-9.013.02 cd r8125-9.013.02 && sudo ./dkms-install.sh Best of luck
-
@Nick A Thank you for your excellent work! I managed to compile it myself and shared it with someone who has the same board (IK316-EMCP_V1.0). 1. Changed kernel preemption mode from full preemption to voluntary preemption. 2. Added MediaTek Wi-Fi drivers (MT7601U etc). 3. Embedded kernel headers. https://github.com/cdhigh/armbian_build/releases/tag/v20250306
-
http://blog.armbian.com/content/images/2026/02/githubhighlights-2.webpThis week’s Armbian development saw significant progress across multiple areas, including desktop environment enhancements, kernel updates, and expanded hardware support. Notable changes include the addition of GNOME desktop options, improvements to XFCE organization, and updates to U-Boot for several boards. The team introduced new board images and logos, refined Docker automation and documentation, and standardized numerous software modules for better maintainability. Kernel advancements featured bumps to 6.19-rc8, integration of ZFS v2.4.0, and targeted fixes for Rockchip and Odroid platforms. Community governance and build processes were also strengthened, alongside the deprecation of Matrix and OFTC chat utilities. These updates collectively improve user experience, system stability, and future development agility. Add community governance and improve documentation. by @igorpecovnik in armbian/armbian.github.io#197Add DESKTOP_APPGROUPS_SELECTED to stable XFCE desktop target. by @igorpecovnik in armbian/armbian.github.io#198Add documentation for ARMBIAN_DOCKER_AUTO_PULL build switch. by @igorpecovnik in armbian/documentation#865Add GNOME desktop and reorganize XFCE in stable targets. by @igorpecovnik in armbian/armbian.github.io#199Add Khadas Mind, Minisiforum logo and Orangepi 6 Plus. by @igorpecovnik in armbian/armbian.github.io#203Add manual append for standard UEFI images. by @igorpecovnik in armbian/armbian.github.io#204Add zfs-zed to GLOB pattern in ZFS configs. by @igorpecovnik in armbian/os#426armbian-kernel: add AMD DC support for UEFI boards. by @igorpecovnik in armbian/build#9324armbianmonitor: fix error message at the end of every report. by @EvilOlaf in armbian/build#9325bcm2711 Family: Remove post_family_tweaks_bsp__rpi_firmware func. by @pyavitz in armbian/build#9331Board images for Orange Pi RV2 and Orange Pi R2S. by @sven-ola in armbian/armbian.github.io#201Bump BesTV R3300-L U-Boot. by @retro98boy in armbian/build#9303Bump CAINIAO CNIoT-CORE U-Boot. by @retro98boy in armbian/build#9304Chat utilities: remove missing package. by @igorpecovnik in armbian/build#9334ci: run all unit tests on schedule and main branch workflow_dispatch. by @igorpecovnik in armbian/configng#727clang: enable colored diagnostic output for kernel compilation. by @iav in armbian/build#9310Deprecate Matrix. by @EvilOlaf in armbian/build#9318Deprecate OFTC and matrix. by @EvilOlaf in armbian/documentation#872docker: add automatic image pull cronjob and cleanup system. by @igorpecovnik in armbian/build#9265feat: add reusable board definitions to image JSON generator. by @igorpecovnik in armbian/armbian.github.io#202Fix missing Cinnamon menu by removing outdated Cinnamon menu applet blob.. by @schwar3kat in armbian/build#9300fix(software): correct stderr redirection placement in docker commands. by @igorpecovnik in armbian/configng#746fix(software): fix netdata module issues and add test cleanup. by @igorpecovnik in armbian/configng#747fix: motd: handle empty temperature values in printf. by @igorpecovnik in armbian/build#9296followup #9164 2ba0766 - add ubuntu resolute,questing to optional-cli. by @iav in armbian/build#9320forge1: switch to RK3506J variant and add OPTEE support. by @igorpecovnik in armbian/build#9326json: add kernel_version field to images output. by @igorpecovnik in armbian/armbian.github.io#206Kernels 6.18 needs ZFS v2.4.0. by @igorpecovnik in armbian/os#425mainline-kernel: bump 6.19 to 6.19-rc8. by @rpardini in armbian/build#9332mainline: bump to 6.19-rc7. by @EvilOlaf in armbian/build#9294networking: relax networkd-wait-online to avoid multi-NIC timeouts. by @igorpecovnik in armbian/build#9311Odroid XU4: remove upstreamed patches. by @igorpecovnik in armbian/build#9306odroidm1: u-boot v2026.01 + kernel fix for ethernet. by @rpardini in armbian/build#9333OrangePi 3 LTS: Update U-Boot to v2026.01 and Linux DTS "and other fixups". by @pyavitz in armbian/build#9323Re-enable build targets after fixing their assembly. by @igorpecovnik in armbian/armbian.github.io#200refactor(docker): use upstream docker-ce for bookworm, distro for others. by @igorpecovnik in armbian/configng#726refactor(immich): standardize module and update postgres interface. by @igorpecovnik in armbian/configng#733refactor(network): standardize modules and add hidden WiFi support. by @igorpecovnik in armbian/configng#739refactor(pihole): standardize module with docker.io and improve detection. by @igorpecovnik in armbian/configng#734refactor(software): move docker check to install command. by @igorpecovnik in armbian/configng#738refactor(software): standardize 33 docker modules with modern patterns. by @igorpecovnik in armbian/configng#736refactor(system): harden armbian_firmware module with standard conventions. by @igorpecovnik in armbian/configng#744refactor(system): standardize headers and ZFS modules with improved hardening. by @igorpecovnik in armbian/configng#742refactor(wireguard): consolidate status checks and simplify module interface. by @igorpecovnik in armbian/configng#731refactor: standardize ghost and mysql docker modules. by @igorpecovnik in armbian/configng#728Resolving boot issues. by @rvdr in armbian/build#9329Rockchip 6.19: drop upstreamed patches. by @igorpecovnik in armbian/build#9309rockchip/64: import mainlined patch to fix gpio . by @paolosabatino in armbian/build#9328rockchip64-6.18: fix helios64 pcie patch. by @igorpecovnik in armbian/build#9315rockchip64-current: rewrite patches. by @EvilOlaf in armbian/build#9313rockchip64-current: rewrite patches due to upstream changes in 6.18.8. by @EvilOlaf in armbian/build#9319rockchip64: fix clang build error. by @paolosabatino in armbian/build#9307rockchip: fix gpio-ir-recv stack dumps, other minor fixes. by @paolosabatino in armbian/build#9317SMART AM40: Bump U-Boot. by @retro98boy in armbian/build#9302sun55i aftercare. by @EvilOlaf in armbian/build#9321sunxi a523: Adding support for PCIe, SPI Flash and Iommu. by @rvdr in armbian/build#9280sunxi: drop unneeded patches. by @EvilOlaf in armbian/build#9312targets: change community builds from forky to trixie. by @igorpecovnik in armbian/armbian.github.io#207Update header level for Pi-hole Explained section. by @igorpecovnik in armbian/configng#748Update odroidxu4-current to 6.6.122. by @belegdol in armbian/build#9322Update sm8250 current kernel config. by @retro98boy in armbian/build#9292Use EDGE branches for Orangepi 6 and Minisforum R1S. by @igorpecovnik in armbian/armbian.github.io#205uwe5622: fix compilation with clang on Linux 6.19. by @iav in armbian/build#9314[RFC] qcs6490: fix patched dtb not compiled. by @amazingfate in [#9301](https://github....View the full article
-
Thanks Igor. Just for reference, I also tried Armbian_community_26.2.0-trunk.332_Odroidhc4_forky_current_6.18.7_minimal.img apt update apt upgrade apt install linux-headers-current-meson64 apt install zfsutils-linux zfs-initramfs zfs-dkms zfs-zed Everything went fine and seams to working OK. Chris
-
Initially I attempted upgrading the kernel from 6.1.26 to 6.1.33 using the build scripts to generate the newer kernel and headers. After rebooting I found that the system just appeared to hang around starting kernel. I did wait 10 minutes at first, thinking that perhaps their maybe some stuff going on in the background but after that conclude that it had most certainly crashed. The frustrating thing being that I did not appear to get any errors come through the debug port. At this point I assumed that perhaps something may have broke during the upgrade. My second attempt was using a completely fresh compiled image but unfortunately the result was still the same. U-Boot SPL 2022.10-armbian (Jun 15 2023 - 13:35:35 +0000) DRAM: 1024 MiB CPU: 912000000Hz, AXI/AHB/APB: 3/2/2 Trying to boot from MMC1 ns16550_serial serial@1c28000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 U-Boot 2022.10-armbian (Jun 15 2023 - 13:35:35 +0000) Allwinner Technology CPU: Allwinner A20 (SUN7I) Model: LinkSprite pcDuino3 DRAM: 1 GiB Core: 52 devices, 23 uclasses, devicetree: separate WDT: Not starting watchdog@1c20c90 MMC: mmc@1c0f000: 0 Loading Environment from FAT... Unable to use mmc 0:1... Unknown monitor Unknown monitor In: serial Out: serial Err: serial Net: eth_designware ethernet@1c50000: Can't get reset: -2 eth0: ethernet@1c50000 230454 bytes read in 12 ms (18.3 MiB/s) Unknown monitor starting USB... Bus usb@1c14000: USB EHCI 1.00 Bus usb@1c14400: USB OHCI 1.0 Bus usb@1c1c000: USB EHCI 1.00 Bus usb@1c1c400: USB OHCI 1.0 scanning bus usb@1c14000 for devices... 2 USB Device(s) found scanning bus usb@1c14400 for devices... 1 USB Device(s) found scanning bus usb@1c1c000 for devices... 1 USB Device(s) found scanning bus usb@1c1c400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Autoboot in 1 seconds, press <Space> to stop switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 4121 bytes read in 2 ms (2 MiB/s) ## Executing script at 43100000 U-boot loaded from SD Boot script loaded from mmc 154 bytes read in 2 ms (75.2 KiB/s) 16660327 bytes read in 690 ms (23 MiB/s) 8480576 bytes read in 355 ms (22.8 MiB/s) Found mainline kernel configuration 42775 bytes read in 9 ms (4.5 MiB/s) 5532 bytes read in 5 ms (1.1 MiB/s) Applying kernel provided DT fixup script (sun7i-a20-fixup.scr) ## Executing script at 45000000 Kernel image @ 0x42000000 [ 0x000000 - 0x816740 ] ## Loading init Ramdisk from Legacy Image at 43400000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 16660263 Bytes = 15.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 43000000 Booting using the fdt blob at 0x43000000 EHCI failed to shut down host controller. Loading Ramdisk to 4901c000, end 49fff727 ... OK Loading Device Tree to 48fa9000, end 4901bfff ... OK DE is present but not probed Starting kernel ... I will gratefully for any possible insight Cheers Ryzer
-
http://blog.armbian.com/content/images/2026/01/githubhighlights-2-2.webpThis week’s Armbian development saw a wide range of updates focused on automation, hardware support, and workflow improvements. Key highlights include the introduction of automatic YAML target generation, expanded support for Hetzner ARM64 runners, and enhancements to the redirector update workflow with cache mirror support. Several board-specific fixes and feature additions were made, including improved power cycle handling for meson-sm1 devices and new binary files for RK35 series components. The team also advanced kernel support, notably enabling RDNA2 GPU compatibility and initial kernel 6.18 support for Ayn odin2. Continuous integration and build reliability received attention through Docker-based unit tests and improved artifact management. Overall, these changes reflect ongoing efforts to streamline development processes and broaden hardware compatibility across the Armbian ecosystem. Add automatic target YAML generation from image-info.json. by @igorpecovnik in armbian/armbian.github.io#184Add board-level extension to mask Wayland desktop sessions. by @schwar3kat in armbian/build#9268Add cache mirror support to redirector update workflow. by @igorpecovnik in armbian/armbian.github.io#189Add edge branch support to community targets. by @igorpecovnik in armbian/armbian.github.io#195Add exposed.map download step to download index workflow. by @igorpecovnik in armbian/armbian.github.io#190Add Hetzner server creation with cloud-init, swap, and configurable runners. by @igorpecovnik in armbian/actions#13Add new binary files for various RK35 series components. by @ghhccghk in armbian/rkbin#42Add regulator-boot-on to meson-sm1-odroid and -hc4 to fix power cycle during boot. by @ean365 in armbian/build#9217Add scripts/generate_targets.py to workflow push trigger. by @igorpecovnik in armbian/armbian.github.io#185Add workflow for enabling 16 Hetzner ARM64 runners. by @igorpecovnik in armbian/armbian.github.io#196arm64: enable AMD DC display controller for RDNA2 GPU support. by @igorpecovnik in armbian/build#9273atf: rk3399: fix PL330 DMA controller initialization. by @iav in armbian/build#9285Bump sm8250. by @CodeChenL in armbian/build#9180Change actions folder to actions-report. by @igorpecovnik in armbian/armbian.github.io#188Change exposed.map minimal patterns from bookworm to trixie, add forky as fallback. by @igorpecovnik in armbian/armbian.github.io#194chore: use release-signing policy for Windows artifacts. by @SuperKali in armbian/imager#87ci: add PR build artifacts with public download links. by @SuperKali in armbian/imager#81ci: use Docker containers for unit tests. by @igorpecovnik in armbian/configng#720cli: kernel-dtb: check dtc for version 1.7.2 before producing normalized dts. by @rpardini in armbian/build#9270config: arch: amd64: fix building kernel amd64 target with on arm64 host. by @rpardini in armbian/build#9271deps: update dependencies and document glib vulnerability. by @SuperKali in armbian/imager#88Enable debug. by @igorpecovnik in armbian/actions#14Enable Firefox download from PPA, drop Jammy and Oracular. by @igorpecovnik in armbian/os#424Exclude non-community trunk builds from promotion. by @igorpecovnik in armbian/armbian.github.io#193extension: grub: deploy qemu binary when doing cross build. by @amazingfate in armbian/build#9282feat: add image status warning for nightly builds and community boards. by @SuperKali in armbian/imager#83fix api change since v6.17. by @Spider84 in armbian/bcmdhd-dkms#5fix api change since v6.19. by @amazingfate in armbian/bcmdhd-dkms#6Fix uptime-kuma Docker image detection regex. by @igorpecovnik in armbian/configng#722fix: reduce board image scale and improve CI cache strategy. by @SuperKali in armbian/imager#86fix: regenerate Tauri updater signatures after SignPath code signing. by @SuperKali in armbian/imager#89fix: use any_changed output for reliable changed files detection. by @igorpecovnik in armbian/configng#725fix: use published_at for release sorting. by @igorpecovnik in armbian/community#46Framework: Add "Repeat Build Options" string at the end in case of er…. by @iav in armbian/build#9276framework: add custom_kernel_make_params extension hook. by @iav in armbian/build#9284Generate separate exposed.map patterns for stable and community boards. by @igorpecovnik in armbian/armbian.github.io#192Include community boards in exposed.map generation. by @igorpecovnik in armbian/armbian.github.io#191Initial support for kernel 6.18 on Ayn odin2. by @kasimling in armbian/build#9286mainline: bump to 6.19-rc6. by @EvilOlaf in armbian/build#9278memoize: add user feedback and configurable timeout for flock. by @iav in armbian/build#9262NanoPi R5C: Update to v2026.01; enable BTRFS support. by @okrc in armbian/build#9291orangepi5-plus: u-boot: restore vendor uboot with blobs. by @rpardini in armbian/build#9287orangepi5-plus: u-boot: use mainline ATF; bump to v2026.01; drop funky CE config options. by @rpardini in armbian/build#9261Override new yaml files - drop the code here if it works.. by @igorpecovnik in armbian/os#423radxa-e54c: board config: replace 'hacky' Wayland fix with wayland-sessions-mask extension. by @schwar3kat in armbian/build#9281radxa-zero2/khadas-vim3l: u-boot: disable LWIP. by @rpardini in armbian/build#9272refactor: conditionally hide custom image button when manufacturer is selected. by @SuperKali in armbian/imager#85refactor: standardize redis module and improve workflow reliability. by @igorpecovnik in armbian/configng#723Reload redirector after we check all mirrors. by @igorpecovnik in armbian/armbian.github.io#178Remove browsers from RISC-V desktop app groups. by @igorpecovnik in armbian/armbian.github.io#186Rockchip 6.18.y: drop upstreamed patches. by @igorpecovnik in armbian/build#9288Rockchip EDGE: drop up-streamed patches. by @igorpecovnik in armbian/build#9290rockchip64: station-m3: Enable USB type-C port. by @kasimling in armbian/build#9246rootfs: enable loong64 in qemu binfmt registration. by @igorpecovnik in armbian/build#9279scripts: use git commit date for 'edited' timestamp instead of filesystem mtime. by @igorpecovnik in armbian/armbian.github.io#177Switch Docker module to distribution maintained packages. by @igorpecovnik in armbian/configng#719Update CI documentation to reflect automated target generation. by @igorpecovnik in armbian/documentation#867Use armbian-apps config for app-specific images. by @igorpecovnik in armbian/armbian.github.io#187work-around Ubuntu Rust coreutils bug in dirname affecting linux-headers board-side compile of scripts/mod. by @iav in armbian/build#9264View the full article
-
Thanks Werner and Gaetano I fear DIY an image exceeds my skils 😉 I tried linux-headers-arm64. Result: kernel downgraded to 6.12 and wrong links in /boot: lrwxrwxrwx 1 root root 30 Dec 29 22:28 Image -> vmlinuz-6.18.2-current-meson64 lrwxrwxrwx 1 root root 27 Jan 23 13:27 uInitrd -> uInitrd-6.12.63+deb13-arm64 Corrected, built ZFS but at the end USB not working. It's not worth the hassle. I ended up installing Armbian_25.8.1_Odroidhc4_bookworm_current_6.12.41_minimal.img Everything seams OK, especially ZFS. Anyway, the link to Armbian_community_26.2.0-trunk.151_Odroidhc4_trixie_current_6.18.2_minimal.img is not there anymore 🙂 Thanks for your time. Chris
-
Hi Chris, when I tried to install the headers on my pcduino3nano, there were two options: linux-headers-armmp (or equivalent for your board) and kernel-headers. This secong package name was incomplete, but apt suggested a list of possible matches for my system. Give that a try. Cheers, Gaetano.
-
Thanks Werner. Meanwhile I have tried a minimal image and did not plug the ethernet cable it, the Armbian initial boot script installed the drivers and connected seamlessly to wifi. No need for the marrownr external driver, so the headers problem is no longer a problem. Now I am keeping my fingers crossed that the OTG will work (it didn't work with Johang's latest images. So I created my own using hte armbian compilation script. It doesn't have Trixie for pcduino3nano, but bookworm should work. Cheers, Gaetano.
-
Related answer: https://forum.armbian.com/topic/57601-missing-headers-for-618-kernel/#findComment-232075
-
Hi, this is my first post, my apologies, I could not find a matching topic category for this PCduino3 nano question/issue (no built-in wifi, I use a Roccar wifi dongle) I have successfully built the image using the armbian configuration script (bookworm current), the board boots and runs teslausb, however, I am unable to install the driver for my wifi dongle. The error when starting the install-driver.sh script is "your kernel headers are not properly installed". I tried apt install linux-headers-current-sunxi and kernel-headers-armmp, they install successfully but I still get the same error about the kernet headers not being properly installed. The drivers are for rtl88x2bu cloned from morrownr on github Any help would be appreciated Gaetano.
-
Help wanted to test a new OpenVFD alternative
s100sic replied to Jean-Francois Lessard's topic in Amlogic meson
Hi Lessard can you please check this error (X88 PRO-B-RK3318-D4-V1.6)? root@GREEN:~/tm16xx-display# make module make EXTRA_CFLAGS="-DCONFIG_TM16XX -DCONFIG_TM16XX_KEYPAD -DCONFIG_TM16XX_I2C -DCONFIG_TM16XX_SPI -include /root/tm16xx-display/drivers/auxdisplay/tm16xx_compat.h -I/root/tm16xx-display/include/" -C /lib/modules/6.18.6-current-rockchip64/build M=/root/tm16xx-display/drivers/auxdisplay CONFIG_TM16XX=m CONFIG_TM16XX_KEYPAD=y CONFIG_TM16XX_I2C=m CONFIG_TM16XX_SPI=m CONFIG_LINEDISP=m modules make[1]: Entering directory '/usr/src/linux-headers-6.18.6-current-rockchip64' make[2]: Entering directory '/root/tm16xx-display/drivers/auxdisplay' CC [M] line-display.o CC [M] tm16xx_core.o CC [M] tm16xx_keypad.o tm16xx_keypad.c:81:6: error: redefinition of ‘tm16xx_set_key’ 81 | void tm16xx_set_key(const struct tm16xx_display *display, const int row, | ^~~~~~~~~~~~~~ In file included from tm16xx_keypad.c:18: tm16xx.h:189:20: note: previous definition of ‘tm16xx_set_key’ with type ‘void(const struct tm16xx_display *, const int, const int, const bool)’ {aka ‘void(const struct tm16xx_display *, const int, const int, const _Bool)’} 189 | static inline void tm16xx_set_key(const struct tm16xx_display *display, | ^~~~~~~~~~~~~~ tm16xx_keypad.c:135:5: error: redefinition of ‘tm16xx_keypad_probe’ 135 | int tm16xx_keypad_probe(struct tm16xx_display *display) | ^~~~~~~~~~~~~~~~~~~ tm16xx.h:184:19: note: previous definition of ‘tm16xx_keypad_probe’ with type ‘int(struct tm16xx_display *)’ 184 | static inline int tm16xx_keypad_probe(struct tm16xx_display *display) | ^~~~~~~~~~~~~~~~~~~ make[4]: *** [/usr/src/linux-headers-6.18.6-current-rockchip64/scripts/Makefile.build:290: tm16xx_keypad.o] Error 1 make[3]: *** [/usr/src/linux-headers-6.18.6-current-rockchip64/Makefile:2010: .] Error 2 make[2]: *** [/usr/src/linux-headers-6.18.6-current-rockchip64/Makefile:248: __sub-make] Error 2 make[2]: Leaving directory '/root/tm16xx-display/drivers/auxdisplay' make[1]: *** [Makefile:248: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.18.6-current-rockchip64' make: *** [Makefile:50: module] Error 2 Thank you -
System Overview Hardware: ODROID HC4 OS: Armbian (current version) Kernel: 6.12.44-current-meson64 Use case: Production NAS with critical data Problem Description During apt upgrade, the following critical warnings appear: dpkg: warning: This system uses merged-usr-via-aliased-dirs, going behind dpkg's dpkg: warning: back, breaking its core assumptions. This can cause silent file dpkg: warning: overwrites and disappearances System state analysis reveals: /bin, /sbin, /lib are correct symlinks to /usr/* BUT: Files exist in duplicate (/bin/bash and /usr/bin/bash identical) DKMS cannot build kernel modules (missing headers) systemd cannot set journal flags (symlink to SD card) NAS Configuration (Critical Infrastructure) Storage Setup: RAID1 with mdadm (two HDDs) + LUKS encryption /var/log relocated to SD card Filesystem: /dev/mmcblk0p1: LABEL="armbi_root" TYPE="ext4" /dev/sda: TYPE="crypto_LUKS" /dev/sdb: TYPE="crypto_LUKS" /dev/mapper/sda_luks: TYPE="linux_raid_member" /dev/mapper/sdb_luks: TYPE="linux_raid_member" /dev/md0: TYPE="ext4" Reproduction $ ls -la /bin /sbin /lib lrwxrwxrwx 1 root root 7 Apr 22 2024 /bin -> usr/bin lrwxrwxrwx 1 root root 7 Apr 22 2024 /lib -> usr/lib lrwxrwxrwx 1 root root 8 Apr 22 2024 /sbin -> usr/sbin $ ls -la /usr/bin/bash /bin/bash -rwxr-xr-x 1 root root 1543048 Mar 31 2024 /bin/bash -rwxr-xr-x 1 root root 1543048 Mar 31 2024 /usr/bin/bash # DUPLICATE! Urgent Questions 1. Root Cause Analysis Has anyone experienced this specific issue with Armbian on ODROID HC4? Is this a known upgrade problem with a particular Armbian version? 2. Solution Paths Which approach do you recommend for a production NAS? A) System repair tool (is there an Armbian-specific one?) Manual cleanup - any experiences with this? C) Migration to new image - best method with LUKS+RAID? D) Install kernel headers first despite warnings? 3. Migration Strategy with LUKS How to safely migrate: LUKS configuration (keys, passphrases) mdadm RAID1 setup Samba/NFS shares and ACLs WireGuard configuration Risk Assessment Current risk: Silent data corruption possible Kernel updates may break filesystem modules System might not boot after next reboot Time pressure: NAS must remain available, but security is top priority. System Details # dpkg --version Debian 'dpkg' package management program version 1.22.6 (arm64). # uname -a Linux odroidhc4 6.12.44-current-meson64 #3 SMP PREEMPT Thu Aug 28 14:31:16 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux # cat /etc/armbian-image-release BOARD=odroidhc4 BOARD_NAME="Odroid HC4" VERSION=25.2.1 REVISION=25.2.1 IMAGE_UUID=54c1127b-9e70-4d3f-bedd-3faf1f5e58fa BUILD_REPOSITORY_COMMIT=1f6972065 Request for assistance with: Immediate actions to stabilize the system Proven migration method for Armbian+ODROID+LUKS Experiences with this specific bug
-
http://blog.armbian.com/content/images/2026/01/T6-Plus-01.pngThe NanoPC T6 Plus, powered by the performance-optimized Armbian OS, is your ticket to a truly professional, high-speed edge computing experience. This industrial-grade device is built around the flagship Octa-core Rockchip RK3588 SoC and now features a massive upgrade to LPDDR5 RAM (up to 32GB), giving it the muscle to handle heavy virtualization, 8K media, and AI workloads effortlessly. Its core hardware is ideal for power users and enterprise integration. The dual 2.5GbE Ethernet ports ensure you can maximize the speed of high-bandwidth wired connections, while multiple M.2 slots (M-Key for NVMe and E-Key for Wi-Fi/BT) allow for blazing-fast storage arrays and wireless expansion. More importantly, the switch to LPDDR5 memory significantly boosts bandwidth, unleashing the full potential of the 8-core CPU and NPU. With Armbian, managing this SBC is simple and utilizes the device's full potential. To configure your system or install complex software stacks, just launch the terminal and run: sudo armbian-config. Navigate to Software and select from pre-packaged installers like Docker, Home Assistant or JellyFin. This single step leverages the RK3588’s processing power for seamless containerization and service hosting, combating supply chain bottlenecks with older LPDDR4X boards. Finally, the PCIe 3.0 x4 interface is perfect for attaching high-speed NVMe SSDs, instantly turning the T6 Plus into a high-performance NAS or media server capable of real-time transcoding. This is just one example of usage. It can serve as a compact 8K workstation, an advanced NVR surveillance hub, a powerful emulation gaming box, or a local LLM host utilizing the 6 TOPS NPU and RKLLM. Thanks to its rich interface options—including HDMI 2.1 output and 2.0 HDMI input—the T6 Plus excels in scenarios where multimedia performance and raw compute power are essential. From segmented home labs to industrial control systems. Combined with the efficiency of the new memory architecture and solid software support, it offers an unrivaled balance between performance, expandability, and reliability. Hardware specifications Feature Specification SoC Rockchip RK3588 CPU Octa-core ARM (4× Cortex-A76 @ 2.4GHz + 4× Cortex-A55 @ 1.8GHz) GPU ARM Mali-G610 MP4 Compatible with OpenGL ES 1.1/2.0/3.2, OpenCL 2.2, Vulkan 1.2 NPU 6 TOPS (INT8) Supports INT4, INT8, INT16, FP16 VPU 8K@60fps H.265 / VP9 / AVS2 decoder 8K@30fps H.264 decoder 8K@30fps encoder (H.265 / H.264) Memory 16 GB / 32 GB LPDDR5 (Upgraded from LPDDR4X) Storage 32GB / 64GB / 256GB eMMC 5.1 1 × M.2 M-Key (PCIe 3.0 x4) for NVMe SSD microSD (UHS-I) Ethernet 2 × 2.5 GbE ports (RTL8125BG) Wireless Optional via M.2 E-Key (PCIe 2.1 x1 + USB 2.0) Video Output 2 × HDMI 2.1 (Up to 8K@60fps) 1 × USB-C (DisplayPort 1.4) Video Input 1 × HDMI 2.0 Input (Up to 4K@60fps) USB 1 × USB 3.0 Type-A 1 × USB-C (Data/DP) Misc USB 2.0 headers Expansion 40-pin GPIO header Mini-PCIe connector Power Input DC 12V/2A (5.5 x 2.1mm jack) PCB 8-layer PCB, 110 × 80 mm Operating Temp 0 °C to 70 °C View the full article
