Search the Community
Showing results for 'headers'.
-
Hi — I've been following this thread, the 100 Mbit ethernet cap and the silent mainline boot hang especially. I ended up doing a full mainline bring-up of the 4A on 6.18.38 and got gigabit ethernet working properly (RX/TX), plus the boot hang sorted, so I wanted to share the whole patch series in case it helps here. Full disclosure: I'm not a kernel developer by trade — I got most of this working with a lot of help from AI coding agents, leaning hard on the BSP 5.15 as the source of truth. In my own testing everything seems stable, but I'd genuinely welcome anyone who actually knows this stuff to review the patches and tell me what I got wrong or did in a hacky way. No egos here — I'm sharing it in case it's useful and to get feedback, not claiming it's perfect. 🙂 What works (confirmed on hardware): HDMI KMS display (DE33/DE3.5 + TCON-TV + DW-HDMI 2.0 + Inno PHY) — 720p/1080p, clean VSU8 scaling GPU Mali-G57 (Panfrost) — accelerated (KDE Plasma Wayland) HDMI audio (i2s2 → dw-hdmi) — PCM out to the TV Ethernet GMAC1 (YT8531 PHY, RGMII) — full gigabit RX/TX WiFi AP6256 (BCM43456, brcmfmac, SDIO) — 2.4/5 GHz scan + assoc reboot / poweroff (sunxi_wdt / AXP717) AFBC scanout (v350 AFBD decoder) USB — the 4 rear ports (all USB 2.0; the board doesn't wire the SoC's USB3) — HID + mass storage, hotplug THS thermal sensors (5 zones: cpu_l / cpu_b / gpu / npu / ddr) + 110 °C critical trip CPU cpufreq/DVFS (little cluster up to 1.416 GHz, big cluster up to 1.8 GHz) + thermal throttling GPU devfreq/DVFS (Panfrost, 150–600 MHz) + thermal throttling HDMI HPD / hotplug (native, no force) Known not working / help wanted: eMMC — not tested (I don't have a module). I saw the mmc2: error -110 reports earlier in the thread; happy to dig into it with anyone who has eMMC. Hardware video decode (VPU) — no driver in 6.18 yet (software decode works). Suspend/hibernate — untested. 4GB variant — expected to work out of the box (the bootloader auto-detects the RAM size and fills in /memory at boot; verified over UART on the 2GB board). I only own the 2GB variant, so if you have the 4GB one, a free -h confirmation would be very welcome. NVMe SSD — untested, no drive here. Everything so far has only run from microSD. Freshness note: the cpufreq/thermal/GPU-devfreq block landed this very week and is still under soak testing on my board — everything else has more mileage. I'll report anything that shakes out in this thread. Repo / patches: https://github.com/ut-slayer/orangepi-4a-mainline It's a git format-patch series (~106 patches) on top of 6.18.38 vanilla, plus a defconfig and the board .dts. The README groups the patches by intended destination: generic sunxi fixes (pinctrl, watchdog vs PSCI, AXP717 poweroff, a RESET_GPIO/mmc-pwrseq bug affecting any sunxi board with SDIO WiFi), the HDMI KMS display series (largely ported/adapted from the minimyth2 / Justin Suess H728 work, with original authorship kept in the patch headers), the A523 CPU CCU + thermal + DVFS, board integration (dts + defconfig), and a few U-Boot BSP workarounds that go away with mainline U-Boot. Coming next: a ready-to-flash Debian 13 (Trixie) image with accelerated Panfrost and KDE Plasma on Wayland — I'll share it in this thread once it's had a bit more soak testing. Happy to open a PR against armbian/build (sun55iw3 family) with the board dts + defconfig + patches if there's interest. Feedback and testers welcome! Credits: minimyth2 / Justin Suess for the H728 display groundwork, and the linux-sunxi community. Cheers.
-
Hello, I am new using the "build" tool. I am trying to compile Armbian using this config: # Board and kernel selection BOARD="rock-4se" # e.g., "odroidc4", "orangepi5", etc. BRANCH="current" RELEASE="jammy" # or "bookworm" for Debian # Build options BUILD_MINIMAL="yes" BUILD_DESKTOP="no" KERNEL_CONFIGURE="no" KERNEL_BTF=no # Use custom kernel KERNELSOURCE="https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git" KERNELBRANCH="tag:v5.15.92-rt57" # Enable RT patch KERNEL_USE_GCC="yes" KERNEL_COMPILER="aarch64-linux-gnu-" # or aarch64-linux-gnu- for ARM64 # Disable non-needed drivers SKIP_EXTERNAL="yes" SKIP_BOOTSPLASH="yes" BUILD_KSRC="no" ENABLE_WIRELESS="no" BLUETOOTH_SUPPORT="no" WIREGUARD="no" DRIVER_UWE5622="no" DRIVER_RTL8723DU="no" DRIVER_RTL8723DS="no" I stored it in userpatches/config-rock-4se.h and I compile using ./compile.sh rock-4se. I get this error with wireless patches, it seems that they are not compatible with this kernel (?) [🐳|🌱] * applying patch/misc/wireless-uwe5622/uwe5622-warnings.patch [🐳|🔨] The text leading up to this was: [🐳|🔨] -------------------------- [🐳|🔨] |diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c [🐳|🔨] |--- a/net/bluetooth/hci_sync.c (revision 58aa050aa57333b34b358234002121c59fb3af26) [🐳|🔨] |+++ b/net/bluetooth/hci_sync.c (revision bf8ab2f58b21494ffde96979431a3da931deb48b) [🐳|🔨] -------------------------- [🐳|🔨] No file to patch. Skipping patch. [🐳|🔨] 1 out of 1 hunk ignored [🐳|💥] * applying patch/misc/wireless-uwe5622/uwe5622-park-link-v6.1-post.patch [ failed ] [🐳|💥] error! [ Patching error, exiting. ] [🐳|💥] Exiting with error 43 [ at /armbian/lib/functions/logging/traps.sh:1 exit_with_error() --> lib/functions/logging/traps.sh:1 process_patch_file() --> lib/functions/compilation/patch/patching.sh:103 driver_uwe5622() --> lib/functions/compilation/patch/drivers_network.sh:506 kernel_drivers_prepare_harness() --> lib/functions/compilation/patch/drivers-harness.sh:160 kernel_drivers_create_patches() --> lib/functions/compilation/patch/drivers-harness.sh:94 do_with_hooks() --> lib/functions/general/extensions.sh:603 do_with_logging() --> lib/functions/logging/section-logging.sh:81 kernel_main_patching() --> lib/functions/compilation/kernel-patching.sh:76 compile_kernel() --> lib/functions/compilation/kernel.sh:54 artifact_kernel_build_from_sources() --> lib/functions/artifacts/artifact-kernel.sh:240 artifact_build_from_sources() --> lib/functions/artifacts/artifacts-obtain.sh:34 obtain_complete_artifact() --> lib/functions/artifacts/artifacts-obtain.sh:280 build_artifact_for_image() --> lib/functions/artifacts/artifacts-obtain.sh:392 main_default_build_packages() --> lib/functions/main/build-packages.sh:102 full_build_packages_rootfs_and_image() --> lib/functions/main/default-build.sh:31 do_with_default_build() --> lib/functions/main/default-build.sh:42 cli_standard_build_run() --> lib/functions/cli/cli-build.sh:25 armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136 cli_entrypoint() --> lib/functions/cli/entrypoint.sh:176 main() --> compile.sh:50 ] [🐳|💥] Cleaning up [ please wait for cleanups to finish ] You can see that in the conf file I tried to disable this drivers but the patches are still being applied. I also try to remove all those patches but I got errors like this: $ rm patch/misc/wireless-* -rf $./compile.sh rock-4se ... [🐳|🔨] HEAD is now at 81306b3f6006 'Linux 5.15.92-rt57' [🐳|🌱] Preparing driver [ driver_generic_bring_back_ipx ] [🐳|🌱] Reverting upstream-removed [ IPX stuff needed for Wireless Drivers ] /armbian/patch/misc/wireless-bring-back-headers.patch: No such file or directory patch: **** Can't open patch file /armbian/patch/misc/wireless-bring-back-headers.patch : No such file or directory [🐳|💥] * applying patch/misc/wireless-bring-back-headers.patch [ failed ] [🐳|💥] error! [ Patching error, exiting. ] [🐳|💥] Exiting with error 43 [ at /armbian/lib/functions/logging/traps.sh:1 exit_with_error() --> lib/functions/logging/traps.sh:1 process_patch_file() --> lib/functions/compilation/patch/patching.sh:103 driver_generic_bring_back_ipx() --> lib/functions/compilation/patch/drivers_network.sh:33 kernel_drivers_prepare_harness() --> lib/functions/compilation/patch/drivers-harness.sh:160 kernel_drivers_create_patches() --> lib/functions/compilation/patch/drivers-harness.sh:94 do_with_hooks() --> lib/functions/general/extensions.sh:603 do_with_logging() --> lib/functions/logging/section-logging.sh:81 kernel_main_patching() --> lib/functions/compilation/kernel-patching.sh:76 compile_kernel() --> lib/functions/compilation/kernel.sh:54 artifact_kernel_build_from_sources() --> lib/functions/artifacts/artifact-kernel.sh:240 artifact_build_from_sources() --> lib/functions/artifacts/artifacts-obtain.sh:34 obtain_complete_artifact() --> lib/functions/artifacts/artifacts-obtain.sh:280 build_artifact_for_image() --> lib/functions/artifacts/artifacts-obtain.sh:392 main_default_build_packages() --> lib/functions/main/build-packages.sh:102 full_build_packages_rootfs_and_image() --> lib/functions/main/default-build.sh:31 do_with_default_build() --> lib/functions/main/default-build.sh:42 cli_standard_build_run() --> lib/functions/cli/cli-build.sh:25 armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136 cli_entrypoint() --> lib/functions/cli/entrypoint.sh:176 main() --> compile.sh:50 ] [🐳|💥] Cleaning up [ please wait for cleanups to finish ] ... how can I fix this issue and compile that kernel branch?
-
I just installed Armbian_community_26.2.0-trunk.732_Rockpi-4bplus_trixie_current_6.18.22_minimal on a Rockpi-4bplus. How do I install the correct Linux headers? The standard apt install linux-headers-$(uname -r) method doesn't work for armbian. OK, there's a corresponding option in armbian-config, and it seems to run successfully, but for some reason, I only see linux-headers-6.12.74+deb13+1-arm64 and linux-headers-6.12.74+deb13+1-common in /usr/src.
-
This week's cycle emphasizes broad U-Boot modernization, new board and SoC enablement, and kernel and wireless driver consolidation. A large-scale U-Boot bump moves sunxi 32-bit and 64-bit targets from v2024.01 to v2026.07-rc4, with follow-on updates for self-pinned H616/H618 boards (Zero2W, Zero3, Longan Pi 3H), Mixtile Edge2, NanoPi R5S (now patch-less), and the Youyeetoo YY3588 switching to mainline v2026.04. The imx6 line (UDOO, Cubox-i) was modernized to U-Boot v2026.07 with legacy 6.12, current 6.18, and edge 7.1 kernels. Related toolchain work fixes ODROID-C1, ODROID-XU4, Recore, and X96Q builds under Trixie's GCC 14, and resolves errexit failures on Rockchip SPI boards. Platform expansion introduces community support for the Allwinner A733-based Radxa Cubie A7Z and Orange Pi Zero 3W, Rockchip Graperain G3568 v2, and Anbernic RG Vita Pro and Lubancat-5IO image entries. BeagleY-AI gained USB, PCIe, ISP + IMX219, and VPAC patches on the vendor kernel, alongside GPU acceleration fixes for TI K3 targets and TI Wave5 VPU firmware. Rockchip RV1106 support was split into distinct RV1103G and RV1103B families, and new SPI/NVMe boot and Maskrom recovery paths were added. On the kernel and driver side, sunxi received an H3/H5 DVFS RCU-stall fix, MMC/I2C PM deadlock resolution, MGLRU enablement, and LTE modem USB serial support. Meson64 gained a GPIO pinctrl cansleep series and v7.2-rc1 via bleedingedge, while SpacemiT K1 was updated to linux-7.2.y. The RTL8189ES, RTL8189FS, and RTL8192EU wireless drivers were migrated to dedicated forks with 7.2 compatibility and patch cleanup, and an RTW88 SDIO interrupt storm was addressed. User-visible improvements include swapfile creation fixes, useradd-based first-login provisioning, and video-group access to Rockchip MPP codec devices. #Armbian #EmbeddedLinux #UBoot #Rockchip #Allwinner Changesboard: visionfive2: optimize config for modern U-Boot and single-partition booting. by @zevlaoxie2010 in armbian/build#10097Add Anbernic RG Vita Pro board image. by @crackerjacques in armbian/armbian.github.io#351Add Lubancat-5IO board image and vendor logo. by @lch08 in armbian/armbian.github.io#348Add TI Wave5 VPU firmware. by @Grippy98 in armbian/firmware#132beaglebadge: drop vendor-edge u-boot target (not in ti-u-boot-2026.01). by @igorpecovnik in armbian/build#10126BeagleY-AI Add Patches for ISP + IMX219 & VPAC. by @Grippy98 in armbian/build#10129board: anbernic-rg-ds: make OTG-C port dual-role so USB hubs work. by @crackerjacques in armbian/build#10124Build-Switches: document KERNEL_DO_STUBBLE. by @iav in armbian/documentation#928Bump/rk uboot swig fleet mkspi 2. by @redrathnure in armbian/build#10122chore(deps): patch vulnerable transitive deps. by @SuperKali in armbian/website#33ci(docs-preview): skip publish/comment steps on fork PRs. by @iav in armbian/documentation#934ci: auto-regenerate build lists when image-info.json changes. by @igorpecovnik in armbian/armbian.github.io#349ci: bump image build cap 30m → 45m. by @igorpecovnik in armbian/os-ci-test#24ci: widen auto-retry budget and the systemic-failure threshold. by @igorpecovnik in armbian/os-ci-test#23clk: sunxi-ng: ccu_common: Replace ktime-dependent lock wait loop with udelay. by @deece in armbian/build#10119config: rockpi-e: change rkbin repository and use spl-blobs. by @chenxmqqqq in armbian/build#10027cubie-a7z: Add community support for Radxa Cubie A7Z (Allwinner A733). by @shkolnik in armbian/build#10036docs: add Datacenter access section (Netbird VPN + board access). by @igorpecovnik in armbian/documentation#936docs: document PREFER_NATIVE_ARMHF and enrich arm64-compat-vdso entry. by @iav in armbian/documentation#921docs: exclude docs/README.md from mkdocs build. by @iav in armbian/documentation#933docs: use unpinned python3-dev in setup instructions. by @igorpecovnik in armbian/documentation#935Drop testing-wireless-performance-test.yml. by @igorpecovnik in armbian/armbian.github.io#350Enable USB and PCIe on BeagleY-AI vendor kernel. by @Grippy98 in armbian/build#10115fake-ubuntu-advantage-tools: provide ubuntu-pro-client. by @Grippy98 in armbian/build#10116family-rv1106: Split RV1103G and RV1103B, cleanup overrides. by @vidplace7 in armbian/build#10011feat(api): serve QDL board metadata and proxy-cache firehose assets. by @SuperKali in armbian/website#31feat(qdl): serve the board registry from the API. by @SuperKali in armbian/imager#163firstlogin: use useradd/groupadd instead of the adduser suite. by @igorpecovnik in armbian/build#10127Fix swapfile creation. by @pierg75 in armbian/build#10065Fix TI K3 Suite Matching for Ubuntu Hosts and Enable GPU Acceleration for BeagleBoards. by @Grippy98 in armbian/build#10112fix: stop setting LC_ALL in armbian-lang.sh. by @saschabuehrle in armbian/build#10132Guard config-disabled static helpers to silence -Wunused-function. by @iav in armbian/wifi-rtl8852bs#9Import long-carried armbian/build regd-init fix, with authorship. by @iav in armbian/wifi-rtl8852bs#8imx6 modernization: udoo + cubox-i u-boot v2026.07 + kernel (legacy 6.12 / current 6.18 / edge 7.1). by @igorpecovnik in armbian/build#10098kernel-rust: ship prebuilt Rust crate artifacts in linux-headers. by @iav in armbian/build#10117Makena: add SC8280XP firehose and Radxa Dragon Q8B UFS provisioning. by @SuperKali in armbian/qcombin#3meson64: add GPIO shared-proxy/pinctrl cansleep series (upstream v3). by @adeepn in armbian/build#10090meson64: enable v7.2-rc1 via bleedingedge. by @EvilOlaf in armbian/build#10079mixtile-edge2: u-boot: main: bump (generic) u-boot to v2026.07-rc5. by @rpardini in armbian/build#10071nanopi-r5s: u-boot: main: bump u-boot to v2026.07-rc5 + make it patch-less. by @rpardini in armbian/build#10072odroidc1: fix u-boot build on trixie (GCC 14) via config.mk -fpermissive. by @igorpecovnik in armbian/build#10111odroidxu4: fix u-boot build on trixie (GCC 14 implicit-decl errors). by @igorpecovnik in armbian/build#10110orangepizero3w: Add community support for Orange Pi Zero 3W (Allwinner A733). by @shkolnik in armbian/build#10103recore: fix ATF v2.8.0 build - drop -Wl, prefix from LD flag. by @igorpecovnik in armbian/build#10100refactor(api): drop min_imager_version from QDL enrichment. by @SuperKali in armbian/website#32rockchip64: fix errexit build failure on SPI boards (undefined hook). by @igorpecovnik in armbian/build#10101rockchip64_common: add board_uboot postprocess hooks. by @mingzhangqun in armbian/build#10031rockchip: add support for Graperain G3568 v2. by @rbqvq in armbian/build#10056rockchip: udev: grant video group access to MPP codec devices and DMA-heaps. by @yisding in armbian/build#10085rtl8189es: switch fork, clean up patches, bump to 7.2. by @EvilOlaf in armbian/build#10086rtl8189fs: switch to own fork, add 7.2 compatibility, drop patches from misc. by @EvilOlaf in armbian/build#10092rtl8192eu: switch to own fork, add 7.2 compat, remove integrated patches from misc. by @EvilOlaf in armbian/build#10095shellfmt: run lib/tools/shellfmt.sh, no changes. by @rpardini in armbian/build#10087SpacemiT K1: Update EDGE to linux-7.2.y. by @pyavitz in armbian/build#10123sunxi (32+64-bit): bump u-boot v2024.01 -> v2026.07-rc4. by @igorpecovnik in armbian/build#10089sunxi, sunxi64, sun60iw2: enable MGLRU in kernel config. by @ValdikSS in armbian/build#10133sunxi-6.18: fix H3/H5 RCU stall / CPU hang during DVFS (current kernel). by @igorpecovnik in armbian/build#10083sunxi64: bump self-pinned H616/H618 boards to v2026.07 (zero2w, zero3, longanpi-3h). by @igorpecovnik in armbian/build#10102sunxi64: enable USB_SERIAL_OPTION (module) for GSM/UMTS/LTE modem support. by @pumuckly in armbian/build#10050sunxi: pin mmc and i2c controllers to active to break circular PM deadlock. by @deece in armbian/build#10120uboot: add SPI/NVMe boot support and Maskrom SD-card/flash fixes. by @mingzhangqun in armbian/build#10030wifi: rtw88: sdio: Fix unhandled RX request interrupt storm. by @deece in armbian/build#10121WifiPerformance: update infrastructure section to autotests framework. by @igorpecovnik in armbian/documentation#931x96q: fix u-boot build hang — add missing CONFIG_DRAM_SUNXI_TPR6. by @igorpecovnik in armbian/build#10114youyeetoo-yy3588: switch to mainline U-Boot v2026.04. by @SuperKali in armbian/build#10125youyeetoo: fix 7" touch with TPC2059 config, add YY3588 display overlays. by @SuperKali in armbian/linux-rockchip#507yy3588: fix eDP video port and timing, document panel requirement. by @SuperKali in armbian/linux-rockchip#508View the full article
-
This week's cycle emphasizes broad U-Boot modernization, new board and SoC enablement, and kernel and wireless driver consolidation. A large-scale U-Boot bump moves sunxi 32-bit and 64-bit targets from v2024.01 to v2026.07-rc4, with follow-on updates for self-pinned H616/H618 boards (Zero2W, Zero3, Longan Pi 3H), Mixtile Edge2, NanoPi R5S (now patch-less), and the Youyeetoo YY3588 switching to mainline v2026.04. The imx6 line (UDOO, Cubox-i) was modernized to U-Boot v2026.07 with legacy 6.12, current 6.18, and edge 7.1 kernels. Related toolchain work fixes ODROID-C1, ODROID-XU4, Recore, and X96Q builds under Trixie's GCC 14, and resolves errexit failures on Rockchip SPI boards. Platform expansion introduces community support for the Allwinner A733-based Radxa Cubie A7Z and Orange Pi Zero 3W, Rockchip Graperain G3568 v2, and Anbernic RG Vita Pro and Lubancat-5IO image entries. BeagleY-AI gained USB, PCIe, ISP + IMX219, and VPAC patches on the vendor kernel, alongside GPU acceleration fixes for TI K3 targets and TI Wave5 VPU firmware. Rockchip RV1106 support was split into distinct RV1103G and RV1103B families, and new SPI/NVMe boot and Maskrom recovery paths were added. On the kernel and driver side, sunxi received an H3/H5 DVFS RCU-stall fix, MMC/I2C PM deadlock resolution, MGLRU enablement, and LTE modem USB serial support. Meson64 gained a GPIO pinctrl cansleep series and v7.2-rc1 via bleedingedge, while SpacemiT K1 was updated to linux-7.2.y. The RTL8189ES, RTL8189FS, and RTL8192EU wireless drivers were migrated to dedicated forks with 7.2 compatibility and patch cleanup, and an RTW88 SDIO interrupt storm was addressed. User-visible improvements include swapfile creation fixes, useradd-based first-login provisioning, and video-group access to Rockchip MPP codec devices. #Armbian #EmbeddedLinux #UBoot #Rockchip #Allwinner Changesboard: visionfive2: optimize config for modern U-Boot and single-partition booting. by @zevlaoxie2010 in armbian/build#10097Add Anbernic RG Vita Pro board image. by @crackerjacques in armbian/armbian.github.io#351Add Lubancat-5IO board image and vendor logo. by @lch08 in armbian/armbian.github.io#348Add TI Wave5 VPU firmware. by @Grippy98 in armbian/firmware#132beaglebadge: drop vendor-edge u-boot target (not in ti-u-boot-2026.01). by @igorpecovnik in armbian/build#10126BeagleY-AI Add Patches for ISP + IMX219 & VPAC. by @Grippy98 in armbian/build#10129board: anbernic-rg-ds: make OTG-C port dual-role so USB hubs work. by @crackerjacques in armbian/build#10124Build-Switches: document KERNEL_DO_STUBBLE. by @iav in armbian/documentation#928Bump/rk uboot swig fleet mkspi 2. by @redrathnure in armbian/build#10122chore(deps): patch vulnerable transitive deps. by @SuperKali in armbian/website#33ci(docs-preview): skip publish/comment steps on fork PRs. by @iav in armbian/documentation#934ci: auto-regenerate build lists when image-info.json changes. by @igorpecovnik in armbian/armbian.github.io#349ci: bump image build cap 30m → 45m. by @igorpecovnik in armbian/os-ci-test#24ci: widen auto-retry budget and the systemic-failure threshold. by @igorpecovnik in armbian/os-ci-test#23clk: sunxi-ng: ccu_common: Replace ktime-dependent lock wait loop with udelay. by @deece in armbian/build#10119config: rockpi-e: change rkbin repository and use spl-blobs. by @chenxmqqqq in armbian/build#10027cubie-a7z: Add community support for Radxa Cubie A7Z (Allwinner A733). by @shkolnik in armbian/build#10036docs: add Datacenter access section (Netbird VPN + board access). by @igorpecovnik in armbian/documentation#936docs: document PREFER_NATIVE_ARMHF and enrich arm64-compat-vdso entry. by @iav in armbian/documentation#921docs: exclude docs/README.md from mkdocs build. by @iav in armbian/documentation#933docs: use unpinned python3-dev in setup instructions. by @igorpecovnik in armbian/documentation#935Drop testing-wireless-performance-test.yml. by @igorpecovnik in armbian/armbian.github.io#350Enable USB and PCIe on BeagleY-AI vendor kernel. by @Grippy98 in armbian/build#10115fake-ubuntu-advantage-tools: provide ubuntu-pro-client. by @Grippy98 in armbian/build#10116family-rv1106: Split RV1103G and RV1103B, cleanup overrides. by @vidplace7 in armbian/build#10011feat(api): serve QDL board metadata and proxy-cache firehose assets. by @SuperKali in armbian/website#31feat(qdl): serve the board registry from the API. by @SuperKali in armbian/imager#163firstlogin: use useradd/groupadd instead of the adduser suite. by @igorpecovnik in armbian/build#10127Fix swapfile creation. by @pierg75 in armbian/build#10065Fix TI K3 Suite Matching for Ubuntu Hosts and Enable GPU Acceleration for BeagleBoards. by @Grippy98 in armbian/build#10112fix: stop setting LC_ALL in armbian-lang.sh. by @saschabuehrle in armbian/build#10132Guard config-disabled static helpers to silence -Wunused-function. by @iav in armbian/wifi-rtl8852bs#9Import long-carried armbian/build regd-init fix, with authorship. by @iav in armbian/wifi-rtl8852bs#8imx6 modernization: udoo + cubox-i u-boot v2026.07 + kernel (legacy 6.12 / current 6.18 / edge 7.1). by @igorpecovnik in armbian/build#10098kernel-rust: ship prebuilt Rust crate artifacts in linux-headers. by @iav in armbian/build#10117Makena: add SC8280XP firehose and Radxa Dragon Q8B UFS provisioning. by @SuperKali in armbian/qcombin#3meson64: add GPIO shared-proxy/pinctrl cansleep series (upstream v3). by @adeepn in armbian/build#10090meson64: enable v7.2-rc1 via bleedingedge. by @EvilOlaf in armbian/build#10079mixtile-edge2: u-boot: main: bump (generic) u-boot to v2026.07-rc5. by @rpardini in armbian/build#10071nanopi-r5s: u-boot: main: bump u-boot to v2026.07-rc5 + make it patch-less. by @rpardini in armbian/build#10072odroidc1: fix u-boot build on trixie (GCC 14) via config.mk -fpermissive. by @igorpecovnik in armbian/build#10111odroidxu4: fix u-boot build on trixie (GCC 14 implicit-decl errors). by @igorpecovnik in armbian/build#10110orangepizero3w: Add community support for Orange Pi Zero 3W (Allwinner A733). by @shkolnik in armbian/build#10103recore: fix ATF v2.8.0 build - drop -Wl, prefix from LD flag. by @igorpecovnik in armbian/build#10100refactor(api): drop min_imager_version from QDL enrichment. by @SuperKali in armbian/website#32rockchip64: fix errexit build failure on SPI boards (undefined hook). by @igorpecovnik in armbian/build#10101rockchip64_common: add board_uboot postprocess hooks. by @mingzhangqun in armbian/build#10031rockchip: add support for Graperain G3568 v2. by @rbqvq in armbian/build#10056rockchip: udev: grant video group access to MPP codec devices and DMA-heaps. by @yisding in armbian/build#10085rtl8189es: switch fork, clean up patches, bump to 7.2. by @EvilOlaf in armbian/build#10086rtl8189fs: switch to own fork, add 7.2 compatibility, drop patches from misc. by @EvilOlaf in armbian/build#10092rtl8192eu: switch to own fork, add 7.2 compat, remove integrated patches from misc. by @EvilOlaf in armbian/build#10095shellfmt: run lib/tools/shellfmt.sh, no changes. by @rpardini in armbian/build#10087SpacemiT K1: Update EDGE to linux-7.2.y. by @pyavitz in armbian/build#10123sunxi (32+64-bit): bump u-boot v2024.01 -> v2026.07-rc4. by @igorpecovnik in armbian/build#10089sunxi, sunxi64, sun60iw2: enable MGLRU in kernel config. by @ValdikSS in armbian/build#10133sunxi-6.18: fix H3/H5 RCU stall / CPU hang during DVFS (current kernel). by @igorpecovnik in armbian/build#10083sunxi64: bump self-pinned H616/H618 boards to v2026.07 (zero2w, zero3, longanpi-3h). by @igorpecovnik in armbian/build#10102sunxi64: enable USB_SERIAL_OPTION (module) for GSM/UMTS/LTE modem support. by @pumuckly in armbian/build#10050sunxi: pin mmc and i2c controllers to active to break circular PM deadlock. by @deece in armbian/build#10120uboot: add SPI/NVMe boot support and Maskrom SD-card/flash fixes. by @mingzhangqun in armbian/build#10030wifi: rtw88: sdio: Fix unhandled RX request interrupt storm. by @deece in armbian/build#10121WifiPerformance: update infrastructure section to autotests framework. by @igorpecovnik in armbian/documentation#931x96q: fix u-boot build hang — add missing CONFIG_DRAM_SUNXI_TPR6. by @igorpecovnik in armbian/build#10114youyeetoo-yy3588: switch to mainline U-Boot v2026.04. by @SuperKali in armbian/build#10125youyeetoo: fix 7" touch with TPC2059 config, add YY3588 display overlays. by @SuperKali in armbian/linux-rockchip#507yy3588: fix eDP video port and timing, document panel requirement. by @SuperKali in armbian/linux-rockchip#508View the full article
-
I just build the build the driver for my RTL8188FTV that supported by rtl8188fu. It works as wifi hot spot but has some problems with nmcli . I share what is done and I hope it be useful for others. 0. Install dkms , make and git: apt install dkms make git 1. Remove any existing source and dkms config for module : dkms remove rtl8188fu/1.0 --all rm -f /lib/firmware/rtlwifi/rtl8188fufw.bin rm -f /etc/modprobe.d/rtl8188fu.conf rm -r /var/lib/dkms/rtl8188fu 2. Get current kernel version and install matching headers: uname -a My results are: Linux orangepipc 5.10.21-sunxi #21.02.3 SMP Mon Mar 8 00:28:04 UTC 2021 armv7l GNU/Linux so my matching kernel headers package would be `linux-headers-current-sunxi=21.02.3` . You might replace `sunxi` and `21.02.3` depending on your top results. I installed it by specifying version: apt install linux-headers-current-sunxi=21.02.3 3. Make kernels headers scripts: cd /usr/src/linux-headers-$(uname -r) make scripts 4. Clone arm branch from driver repository: git clone -b arm https://github.com/kelebek333/rtl8188fu rtl8188fu-arm 5. Disable power saving in make config. find and replace this variable in `./rtl8188fu-arm/Makefile` and set as below: CONFIG_POWER_SAVING = n CONFIG_WIFI_MONITOR = y 6. Build and install driver: ln -s /lib/modules/$(uname -r)/build/arch/arm /lib/modules/$(uname -r)/build/arch/armv7l dkms add ./rtl8188fu-arm dkms build rtl8188fu/1.0 dkms install rtl8188fu/1.0 cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/ # Known problems : - ` nmcli dev wifi list` not works. Refrences: - https://github.com/kelebek333/rtl8188fu/tree/arm#how-to-install-for-arm-devices - https://docs.armbian.com/User-Guide_Advanced-Features/#how-to-build-a-wireless-driver - https://forum.armbian.com/topic/13628-help-me-to-setup-a-wifi-ap-via-command-line/?do=findComment&comment=104106 - https://github.com/ulli-kroll/rtl8188fu - https://askubuntu.com/a/1131265/483814 - https://github.com/brektrou/rtl8821CU#arm-architecture-tweak-for-this-driver-this-solves-compilation-problem-of-this-driver
-
How to install correct linux-headers?
ErinBong replied to Stanislav Chizhik's topic in Software, Applications, Userspace
One thing that helped me in a similar situation was checking that the running kernel version matched the headers exactly with uname -r. A mismatch there can be really confusing. If you've recently upgraded the kernel, a reboot before installing the headers is worth trying too. -
There is supposed to be a package that automatically handles building a (presumably patched) version of the kernel module for this wifi/bt chip, called `aic8800-usb-dkms`, but for some reason, a kernel upgrade doesn't auto-trigger it. During the last kernel upgrade, I was able to get it working by manually doing `sudo dpkg-reconfigure aic8800-usb-dkms`, but that also does not work since 26.5.1, as it gives Deleting module aic8800-usb-4.0+git20250410.b99ca8b6-3 completely from the DKMS tree. Loading new aic8800-usb-4.0+git20250410.b99ca8b6-3 DKMS files... Building for 6.18.2-current-qcs6490 Building initial module for 6.18.2-current-qcs6490 Error! Bad return status for module build on kernel: 6.18.2-current-qcs6490 (aarch64) Consult /var/lib/dkms/aic8800-usb/4.0+git20250410.b99ca8b6-3/build/make.log for more information. And that file basically says (a bunch is redacted for brevity): DKMS make.log for aic8800-usb-4.0+git20250410.b99ca8b6-3 for kernel 6.18.2-current-qcs6490 (aarch64) Sat Jun 20 06:36:14 PM PDT 2026 make: Entering directory '/usr/src/linux-headers-6.18.2-current-qcs6490' make[1]: Entering directory '/var/lib/dkms/aic8800-usb/4.0+git20250410.b99ca8b6-3/build/USB/driver_fw/drivers/aic8800' warning: the compiler differs from the one used to build the kernel The kernel was built by: aarch64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0 You are using: gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0 ... gcc: error: unrecognized command-line option ‘-fmin-function-alignment=8’; did you mean ‘-flimit-function-alignment’? gcc: error: unrecognized command-line option ‘-fmin-function-alignment=8’; did you mean ‘-flimit-function-alignment’? make[4]: *** [/usr/src/linux-headers-6.18.2-current-qcs6490/scripts/Makefile.build:287: aic_load_fw/aic_txrxif.o] Error 1 ... Apparently, the kernel is now built with gcc 14 (which matches the default in Debian Trixie images but not Ubuntu Noble images which have gcc 13). Not sure how to resolve that inconsistency. 1. Install & replace gcc 13 with gcc 14 (just installing won't work as this dkms module build doesn't respect CC env vars); not sure if this will break other things in Ubuntu 24.04 2. Rebuild the kernel with gcc 13; same issue will re-occur on the next kernel upgrade 3. Or something else Just out of curiosity, did you have to mess around with gcc versions to get it to compile (or are you using Debian Trixie images)?
-
@sr4armbian You could try building your own X98H image and use the kernel headers from your build. Your kernel headers will be in the build/output/debs directory, and the image will be in the build/output/images directory. I would recommend starting with a fresh install with this new image and kernel headers. git clone https://github.com/NickAlilovic/build.git --branch v20250306 cd build ./compile.sh choose "Do not change kernel configuration" choose "Show CSC/WIP/EOS/TVB" choose "I understand and agree" choose "X98H" choose "edge" rest is up to you... I used this method to get my display working. But that was a while ago.
-
Hello, I have installed the minimal Trixie based image for Orange Pi5 (the image named Armbian_26.2.1_Orangepi5_trixie_current_6.18.8_minimal) and then attempted to build an out-of-tree kernel module. Having installed dkms and build-essentials, plus the kernel headers through armbian-config, I found the headers package hasn't been fully set-up, the build symlink in /lib/modules/<KVER> is missing and dkms complains that the kernel headers for the kernel are not installed. The kernel headers are installed though, but it looks like they're from a previous release (25.11.2 instead of 26.2.1). # dpkg -l | grep rockchip ii linux-dtb-current-rockchip64 26.2.1 arm64 Armbian Linux current DTBs in /boot/dtb-6.18.8-current-rockchip64 ii linux-headers-current-rockchip64 25.11.2 arm64 Armbian Linux current headers 6.12.58-current-rockchip64 ii linux-image-current-rockchip64 26.2.1 arm64 Armbian Linux current kernel image 6.18.8-current-rockchip64 It the headers package still pending packaging ? Shouldn't armbian-config provide an error in this case and not install the old kernel headers ? EDIT: armbianmonitor ouput - https://paste.armbian.com/oliyalebeq
-
I did more of a dance with AI and eventually got it working. This was the real repo: https://github.com/radxa-pkg/aic8800 Got the AI to write a summary of the dance. Phase 1: Resolving the Tooling and Environment Dependencies We started with a clean, lightweight system image missing common Linux development tools. We methodically installed the software compilation and packaging toolchain required to handle vendor drivers: Kernel Headers: Replaced the generic linux-headers-$(uname -r) command with the specific architecture branch package (linux-headers-current-arm64) to give the driver access to the Linux kernel API blueprints. Line Ending Conversions: Installed dos2unix to fix internal cross-platform formatting issues within the raw source files. Packaging Toolchain: Installed devscripts, debhelper, and fakeroot to fulfill the minimum environment demands of the dpkg-buildpackage engine. DKMS Engine Helpers: Installed dh-dkms to handle the missing modern virtual package mapping (dh-sequence-dkms). Phase 2: Resolving Kernel Version API Incompatibilities Because the hardware driver code was originally written for older Linux builds, trying to compile it directly against a modern 6.18 kernel threw standard compilation crashes. We bypassed the rigid Debian patch architecture and fixed the source code directly: Signature Alignment: Modified the function argument signature for .get_tx_power in rwnx_main.c to support the newer 5-parameter layout required by the upstream kernel (struct wiphy *wiphy, struct wireless_dev *wdev, int bss_idx, unsigned int link_id, int *mbm). Variable Alignment: Updated the interior variable name pointer within that function definition from dbm to mbm to match modern wireless power unit metrics used in current Linux network subsystems. Phase 3: Bypassing Packaging & Direct Kernel Compilation Rather than battling failing packaging lint tests or restrictive file verification scripts, we pivoted to an elegant, direct implementation: Dropped straight into the target interface folder (src/USB/driver_fw/drivers/aic8800/). Ran a direct raw build command targeting the standalone USB interface module flag: make CONFIG_AIC8800_USB=m. Manually pushed the generated binaries directly into the system kernel storage directory tree using sudo make install and synchronized the dependency layout using depmod -a. Phase 4: Correcting Firmware Pathing & Module Sequence The driver successfully built and registered with the kernel, but the physical USB bus threw initialization timeouts (bus is not up=0). We fixed the underlying hardware communication pipeline: Firmware Relocation: Traced the location of the compiled firmware folder hidden within the repository's package blueprints, and copied the raw firmware files directly into the absolute hardware search path at /lib/firmware/aic8800D80/. Sequential Probing: Cleared out the broken module states and forced the hardware interface modules to load in their structural order—giving the hardware bus loader helper (aic_load_fw) a 2-second sleep window to awaken the USB links before initializing the operational wireless adapter engine (aic8800_fdrv).
-
## Description After a fresh installation of Armbian for Rockchip64 (Rock 3A), the system ships with `linux-image-current-rockchip64` version **26.2.1** (kernel 6.18.8), but the corresponding `linux-headers-current-rockchip64` package for version 26.2.1 is **not available** in the public APT repositories. This prevents installation of kernel headers required for DKMS modules, out-of-tree drivers, or any kernel module compilation. ## Steps to Reproduce 1. Flash the latest Armbian image for `rock-3a` (branch: `current`) from the official download page. 2. Boot the device and connect to the network. 3. Run `apt update` with any standard mirror (e.g., `mirrors.tuna.tsinghua.edu.cn`, `mirror.yandex.ru`). 4. Check installed kernel version: ```bash uname -r # Output: 6.18.8-current-rockchip64 ``` 5. Check available headers: ```bash apt policy linux-headers-current-rockchip64 ``` ## Actual Behavior - Installed image packages: ``` linux-image-current-rockchip64 26.2.1 [installed,local] linux-dtb-current-rockchip64 26.2.1 [installed,local] armbian-bsp-cli-rock-3a-current 26.2.1 [installed] ``` - `apt policy` output for headers: ``` linux-headers-current-rockchip64: Installed: (none) Candidate: 25.11.2 Version table: 25.11.2 500 500 http://<mirror>/armbian noble/main arm64 Packages ... (no 26.2.1 available) ``` ## Expected Behavior - The `linux-headers-current-rockchip64` package version **26.2.1** should be available in the `current` branch repository, matching the kernel shipped in the image. - Alternatively, the image should ship with packages that are already published and synchronized in the public repository. ## Impact - Users cannot install DKMS modules (ZFS, VirtualBox, WiFi drivers, etc.). - Development workflows requiring kernel headers are blocked. - Confusion for users performing a "clean install" who expect a consistent system. ## System Information - **Board:** Radxa Rock 3A - **Armbian version:** 26.2.1 (from image filename/release) - **Kernel:** 6.18.8-current-rockchip64 - **APT branch:** `current` - **Distribution:** Ubuntu Noble (24.04) - **Mirrors tested:** - `http://mirrors.tuna.tsinghua.edu.cn/armbian` - `http://mirror.yandex.ru/mirrors/armbian/apt` - `http://apt.armbian.com` (redirector) ## Possible Causes (hypothesis) 1. **Publishing race condition:** The image was built after `linux-image-26.2.1` was compiled but before `linux-headers-26.2.1` was published to the public repository. 2. **Branch mislabeling:** Version 26.2.1 may have been moved to `edge` after the image was built, but the image metadata was not updated. 3. **Mirror sync delay:** The master repository has the package, but mirrors have not yet synchronized (though multiple mirrors were tested over several days).
-
@sr4armbian You need this kernel header. 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
-
@Nick A Thanks for your reply. This box got FD6551 chip set that is handling the Front Side Display. I have opened the box and double checked this. I also checked the status of the VFD when the box booted from Android image it came with. The VFD looks similar to the one found in the picture given here. Below given is the section from stock android dts file. I can share the entire dts if you are looking for any other specific details. fd655_para { device_type = "fd655_para"; compatible = "Ik,fd655_dev"; fd655_clk_io = <0x23 0x07 0x06 0x01>; fd655_dat_io = <0x23 0x07 0x07 0x01>; status = "okay"; }; Since the alternate VFD configuration requires latest Linux headers, I am getting errors and I have posted about that in the respective thread in this forum. Trying to deploy the OpenVFD which could be possible. I will share the boot logs at the earliest.
-
Help wanted to test a new OpenVFD alternative
sr4armbian replied to Jean-Francois Lessard's topic in Amlogic meson
Hi @Jean-Francois Lessard Thanks for sharing the new openvfd option for Armbian. I am using a Allwinner H618 Android 12 TV box that got FD6551 controller. I have verified the chip model by opening the box. The headers of respective version is also installed and I have double checked that. apt install -y linux-headers-edge-sunxi64 Reading package lists... Done Building dependency tree... Done Reading state information... Done linux-headers-edge-sunxi64 is already the newest version (25.11.2). From the Android dts file I can find the following. I have tried the configuration mentioned here as well but there is no VFD output. Is there any other configuration I have to check or modify for the VFD to work? leds { leds_clk = <0x23 0x08 0x0b 0x00>; leds_dat = <0x23 0x08 0x0c 0x00>; status = "okay"; }; fd655_para { device_type = "fd655_para"; compatible = "Ik,fd655_dev"; fd655_clk_io = <0x23 0x07 0x06 0x01>; fd655_dat_io = <0x23 0x07 0x07 0x01>; status = "okay"; }; ald-colorleds { compatible = "elebao,colorleds"; dev_name = "ald-colorleds"; pinctrl-0 = <0x70>; colorleds_data_gpio = <0x23 0x07 0x02 0x01>; status = "okay"; }; I tried to make the module as you have instructed, however I am getting the below given error messages. /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.12.11-edge-sunxi64/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.12.11-edge-sunxi64' CC [M] /root/tm16xx-display/drivers/auxdisplay/line-display.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_core.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_keypad.o LD [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_i2c.o CC [M] /root/tm16xx-display/drivers/auxdisplay/tm16xx_spi.o MODPOST /root/tm16xx-display/drivers/auxdisplay/Module.symvers CC [M] /root/tm16xx-display/drivers/auxdisplay/line-display.mod.o In file included from /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:2: /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:41: error: expected ‘)’ before ‘LINEDISP’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:13:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 13 | KSYMTAB_FUNC(linedisp_attach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:41: error: expected ‘)’ before ‘LINEDISP’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:14:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 14 | KSYMTAB_FUNC(linedisp_detach, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:43: error: expected ‘)’ before ‘LINEDISP’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:15:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 15 | KSYMTAB_FUNC(linedisp_register, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:45: error: expected ‘)’ before ‘LINEDISP’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~ ./include/linux/export-internal.h:45:28: note: in definition of macro ‘__KSYMTAB’ 45 | " .asciz \"" ns "\"" "\n" \ | ^~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ ./include/linux/export-internal.h:41:12: note: to match this ‘(’ 41 | asm(" .section \"__ksymtab_strings\",\"aMS\",%progbits,1" "\n" \ | ^ ./include/linux/export-internal.h:62:41: note: in expansion of macro ‘__KSYMTAB’ 62 | #define KSYMTAB_FUNC(name, sec, ns) __KSYMTAB(name, KSYM_FUNC(name), sec, ns) | ^~~~~~~~~ /root/tm16xx-display/drivers/auxdisplay/line-display.mod.c:16:1: note: in expansion of macro ‘KSYMTAB_FUNC’ 16 | KSYMTAB_FUNC(linedisp_unregister, "_gpl", ""LINEDISP""); | ^~~~~~~~~~~~ make[3]: *** [scripts/Makefile.modfinal:31: /root/tm16xx-display/drivers/auxdisplay/line-display.mod.o] Error 1 make[2]: *** [/usr/src/linux-headers-6.12.11-edge-sunxi64/Makefile:1870: modules] Error 2 make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' make: *** [Makefile:50: module] Error 2 root@homeassistant2:~/tm16xx-display# make-module install make-module: command not found root@homeassistant2:~/tm16xx-display# make module-install make -C /lib/modules/6.12.11-edge-sunxi64/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_install INSTALL_MOD_PATH= make[1]: Entering directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' DEPMOD /lib/modules/6.12.11-edge-sunxi64 Warning: modules_install: missing 'System.map' file. Skipping depmod. make[1]: Leaving directory '/usr/src/linux-headers-6.12.11-edge-sunxi64' root@homeassistant2:~/tm16xx-display# make service-install modprobe tm16xx modprobe: ERROR: could not insert 'tm16xx': Exec format error make: *** [Makefile:60: service-install] Error 1 -
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
-
I was able to get RTL8188FTV $2.00 US USB wifi https://www.ebay.com/itm/123713550193 working with a script I made from a forked project. The power saver has already been disabled in the Makefile. Check out https://github.com/sgjava/rtl8188fu/tree/arm. I've tested this on ARM 32 and ARM 64, but not x86 or x86_64. This is currently a dkms module that requires beta repos to get matching kernel headers.
-
Hello @jock, thank you for the quick reply! Indeed, the drivers for the 8723cs have been disabled in the rockchip64 version, as confirmed by my config file: grep -i "8723" /boot/config-$(uname -r) # CONFIG_RTL8723CS is not set # CONFIG_RTW88_8723CS is not set I found 2 GitHub repos with the uncompiled drivers for the 8723cs chipset: - https://github.com/VictorIstratii151/rtl8703bs_rtl8723cs_linux_driver - https://github.com/TinkerBoard-Android/rockchip-android-external-wifi_driver/tree/android14-rockchip I tried to compile them natively on my machine but without success. They relies on Android-specific headers that are missing in Armbian. Regarding the rockchip armhf family you mentioned, do I need to completely reinstall Armbian on my board using a different image (the 32-bit armhf one)? Do I have to use the Armbian build framework to achieve this? Or is there a way/tool to cross-compile this specific module for my current 64-bit setup? Thanks again for your help!
-
Thank you! I ended up getting this working. For one, an update and reboot did get me the 6.18.10 kernel. Then, in the installation scripts for drivers, I just had to specify the package name for the headers explicitly, e.g. replacing: apt-get install linux-headers-$(uname -r) -y with apt-get install linux-headers-current-bcm2711 -y
-
I just checked at my ROCK5B running Armbian userspace: # sudo apt update # sudo apt list -a linux-headers-*current-bcm2711 linux-headers-current-bcm2711/trixie 26.2.1 arm64 linux-headers-current-bcm2711/trixie 25.11.2 arm64 linux-headers-current-bcm2711/trixie 25.8.2 arm64 linux-headers-current-bcm2711/trixie 25.8.1 arm64 linux-headers-current-bcm2711/trixie 25.5.1 arm64 linux-headers-current-bcm2711/trixie 25.2.3 arm64 linux-headers-current-bcm2711/trixie 25.2.2 arm64 linux-headers-current-bcm2711/trixie 24.11.1 arm64 linux-headers-current-bcm2711/trixie 24.8.2 arm64 linux-headers-current-bcm2711/trixie 24.5.1 arm64 linux-headers-current-bcm2711/trixie 24.2.1 arm64 So you can install them with: # sudo apt install linux-headers-*current-bcm2711 You will get the latest if you do not select explicit version 6.18.9, I got 6.18.10 as that seems to be the latest now. Armbian also has edge and legacy, but for normal release all 64-bit Raspberry Pis is named 'current-bcm2711', which should be the equivalent of 'rpi-v8', which is the normal 4k pages downstream kernel in Raspberry Pi OS 64-bit. It might be you originally had the dedicated rpi5b installation, so you simply had not gotten the headers maybe. Armbian has no 16k pages kernel, if you want that, you need to build yourself, but note that this comes with quite some of issues, many people are not aware and cannot fix issues due to that. See 2+ years of trouble w.r.t. that on RPL forums. I do not use Ubuntu based Armbian, but Debian based, but should not matter for that kernel packages as those are Armbian on top of either distro.
-
Hello! I have a follow-up question about installing Armbian on a Raspberry Pi 5, and hopefully this is a good place for it. Perhaps this belongs here instead: I just installed the Armbian/Gnome version for Raspberry Pi "4b", as mentioned above, for my Raspberry Pi 5. The OS booted fine and is running. However, I'm trying to install some additional software (specifically this: https://github.com/sunfounder/pipower5/tree/main) and I'm getting errors related to installing the right version of `linux-headers`, the output of `uname`, and possibly the `bcm2711` vs. `bcm2712` CPU. The original error was: ``` Error: E: Unable to locate package linux-headers-6.18.9-current-bcm2711 E: Couldn't find any package by glob 'linux-headers-6.18.9-current-bcm2711' E: Couldn't find any package by regex 'linux-headers-6.18.9-current-bcm2711' ``` When I searched for the available packages, I found the following "closest" options: ``` linux-headers-current-bcm2711/noble 26.2.1 arm64 [upgradable from: 26.2.1] Armbian Linux current headers 6.18.10-current-bcm2711 linux-headers-current-bcm2712/noble 24.11.1 arm64 Armbian Linux current headers 6.6.63-current-bcm2712 ``` At this point, I realized that the installation scripts were pulling the kernel version from the output of `uname`: ``` denbro@rpi5b:~$ uname -r 6.18.9-current-bcm2711 denbro@rpi5b:~$ uname -a Linux rpi5b 6.18.9-current-bcm2711 #1 SMP PREEMPT Mon Feb 9 10:54:02 UTC 2026 aarch64 aarch64 aarch64 GNU/Linux ``` My two main questions are: 1. Why is the proper linux header not available? My understanding is that, in principle, `linux-headers-$(uname -r)` should always be available. 2. Should I be concerned that my linux kernel thinks it is using the bcm2711 CPU? That's the Pi 4 CPU, but my raspberry pi 5 has a bcm2712. Should I install the version of armbian for the Pi 500? Two additional notes - 1. The Sunfounder software I mentioned above installed without issue on the same device running Raspberry Pi OS Trixie. 2. I originally tried to flash an SD card with Armbian using Raspberry Pi Imager, and it wouldn't boot; the device turned on, and printed a bunch of startup output, and then shut off. After confirming that the SD card worked, I switched to using Armbian Imager to flash the SD card and that led to my current state. ``` denbro@rpi5b:~$ neofetch ##### denbro@rpi5b ####### ------------ ##O#O## OS: Armbian 26.2.1 noble aarch64 ####### Host: Raspberry Pi 5 Model B Rev 1.1 ########### Kernel: 6.18.9-current-bcm2711 ############# Uptime: 1 hour, 25 mins ############### Packages: 1200 (dpkg) ################ Shell: bash 5.2.21 ################# Resolution: 1280x800 ##################### Terminal: /dev/pts/1 ##################### CPU: (4) @ 2.400GHz ################# Memory: 691MiB / 3983MiB ``` Let me know if there's any other information I can provide, and thanks in advance for any guidance!
-
Hi there. I just got my hands on a brand new 5T with 24GB of RAM and installed Armbian 26.04 minimal on it (on an SD card - no eMMC on this board). I immediately put it to use running CI jobs, however started seeing segfaults and things almost straight away. Current power source is the Radxa 60W power supply. Currently passively cooled (with the Radxa heat sink). Hasn't gone over 70º in the last 24 hours, even when maxxed out compiling rust packages. Here's information about the board: james@kassandra:~$ cat /proc/device-tree/model Radxa ROCK 5Tjames@kassandra:~$ james@kassandra:~$ dpkg -l | grep '^ii linux-' ii linux-base 4.15ubuntu5 all Linux image base package ii linux-dtb-current-rockchip64 26.2.5 arm64 Armbian Linux current DTBs in /boot/dtb-6.18.24-current-rockchip64 ii linux-image-current-rockchip64 26.2.5 arm64 Armbian Linux current kernel image 6.18.24-current-rockchip64 ii linux-libc-dev:arm64 7.0.0-15.15 arm64 Linux Kernel Headers for development ii linux-u-boot-rock-5t-current 26.2.5 arm64 Das U-Boot for rock-5t james@kassandra:~$ sudo dd if=/dev/mmcblk1 bs=512 count=8192 2> /dev/null | strings | grep '^DDR' DDR 9fa84341ce typ 24/09/06-09:51:11,fwver: v1.18 I can reliably recreate the segfault by running `claude`: Bun v1.3.14 (0a466a11) Linux arm64 Linux Kernel v6.18.24 | glibc v2.43 CPU: neon fp aes crc32 atomics Args: "claude" Features: Bun.stderr(2) Bun.stdin(2) Bun.stdout(2) abort_signal(5) fetch(35) jsc spawn(8) standalone_executable yaml_parse claude_code Builtins: "bun:main" "node:assert" "node:async_hooks" "node:buffer" "node:child_process" "node:constants" "node:crypto" "node:dns" "node:events" "node:fs" "node:fs/promises" "node:http" "node:https" "node:module" "node:net" "node:os" "node:path" "node:path/posix" "node:path/win32" "node:perf_hooks" "node:process" "node:readline" "node:stream" "node:stream/consumers" "node:string_decoder" "node:timers/promises" "node:tls" "node:tty" "node:url" "node:util" "node:vm" "node:zlib" "ws" "node:http2" Elapsed: 9886ms | User: 3200ms | Sys: 775ms RSS: 72.61MB | Peak: 0.32GB | Commit: 72.61MB | Faults: 993 | Machine: 24.72GB panic(main thread): Segmentation fault at address 0x7300A749AD00 dmesg output: [54442.949901] 2.1.128: claude: potentially unexpected fatal signal 5. [54442.949933] CPU: 5 UID: 1000 PID: 540517 Comm: claude Not tainted 6.18.24-current-rockchip64 #2 PREEMPT [54442.949952] Hardware name: Radxa ROCK 5T (DT) [54442.949959] pstate: 00001000 (nzcv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--) [54442.949973] pc : 00000000031cb264 [54442.949980] lr : 00000000031cb264 [54442.949986] sp : 0000ffffece87fd0 [54442.949992] x29: 0000ffffece88070 x28: 000000000059aabe x27: 0000ffffb267f740 [54442.950016] x26: 0000000000000004 x25: 0000ffffece884c8 x24: 0000ffffece887b8 [54442.950035] x23: 0000ffffece88850 x22: 000000000691c000 x21: 0000ffffece88540 [54442.950055] x20: 000000000691c000 x19: 0000ffffece886d0 x18: 0000000000000000 [54442.950073] x17: 0000ffffb28386a0 x16: 0000000006a12ff0 x15: 0000000000000034 [54442.950092] x14: 0000000000000032 x13: 0000000000000003 x12: aaaaaaaaaaaaaaaa [54442.950111] x11: 0101010101010101 x10: 0000000000000000 x9 : 0000000000000000 [54442.950130] x8 : 0000000000000086 x7 : 0000000000000000 x6 : 0000000000000000 [54442.950148] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 [54442.950165] x2 : 0000000000000000 x1 : 0000ffffb2a3bc90 x0 : 0000000000000000 I tried running stress-ng and saw thousands of failures leading to a hard lockup: stress-ng: info: [542138] setting to a 10 mins run per stressor stress-ng: info: [542138] dispatching hogs: 8 vm stress-ng: info: [542139] vm: using 1.35GB per stressor instance (total 10.79GB of 13.48GB available memory) stress-ng: fail: [542153] checkerboard: detected 4 memory errors stress-ng: fail: [542149] galpat-one: detected 2437 memory errors stress-ng: fail: [542148] flip: detected 32 memory errors stress-ng: fail: [542147] flip: detected 96 memory errors stress-ng: fail: [542152] galpat-one: detected 5632 memory errors stress-ng: fail: [542148] galpat-one: detected 818 memory errors stress-ng: fail: [542147] fwdrev: detected 48 memory errors stress-ng: fail: [542149] gray code (flip): detected 96 memory errors stress-ng: fail: [542150] flip: detected 96 memory errors stress-ng: fail: [542147] galpat-one: detected 1980 memory errors stress-ng: fail: [542148] gray code: detected 160 memory errors stress-ng: fail: [542150] fwdrev: detected 112 memory errors stress-ng: fail: [542149] incdec code: detected 160 memory errors stress-ng: fail: [542150] galpat-one: detected 1740 memory errors stress-ng: fail: [542149] inc-nybble: detected 32 memory errors stress-ng: fail: [542148] incdec code: detected 16 memory errors stress-ng: fail: [542152] incdec code: detected 16 memory errors stress-ng: fail: [542151] flip: detected 288 memory errors stress-ng: fail: [542154] flip: detected 288 memory errors stress-ng: fail: [542153] flip: detected 144 memory errors stress-ng: fail: [542151] galpat-one: detected 256 memory errors stress-ng: fail: [542153] galpat-one: detected 871 memory errors stress-ng: fail: [542149] modulo X: detected 2 memory errors stress-ng: fail: [542149] info: 5 failures reached, aborting stress process stress-ng: fail: [542144] vm: detected 2727 bit errors while stressing memory stress-ng: error: [542138] vm: [542144] terminated with an error, exit status=2 (stressor failed) stress-ng: fail: [542148] modulo X: detected 4 memory errors stress-ng: fail: [542148] info: 5 failures reached, aborting stress process stress-ng: fail: [542142] vm: detected 1030 bit errors while stressing memory stress-ng: error: [542138] vm: [542142] terminated with an error, exit status=2 (stressor failed) stress-ng: fail: [542152] modulo X: detected 3 memory errors stress-ng: fail: [542150] modulo X: detected 8 memory errors stress-ng: fail: [542147] modulo X: detected 1 memory error stress-ng: fail: [542150] moving inversion: detected 12 memory errors stress-ng: fail: [542150] info: 5 failures reached, aborting stress process stress-ng: fail: [542139] vm: detected 1968 bit errors while stressing memory stress-ng: error: [542138] vm: [542139] terminated with an error, exit status=2 (stressor failed) stress-ng: fail: [542151] modulo X: detected 5 memory errors stress-ng: fail: [542152] one-zero: detected 7881 memory errors stress-ng: fail: [542151] moving inversion: detected 168 memory errors stress-ng: fail: [542153] modulo X: detected 37 memory errors stress-ng: fail: [542146] vm: detected 13532 bit errors while stressing memory stress-ng: error: [542138] vm: [542146] terminated with an error, exit status=2 (stressor failed) stress-ng: fail: [542147] mscan: detected 640 memory errors stress-ng: fail: [542147] info: 5 failures reached, aborting stress process stress-ng: fail: [542143] vm: detected 2765 bit errors while stressing memory stress-ng: error: [542138] vm: [542143] terminated with an error, exit status=2 (stressor failed) stress-ng: fail: [542153] moving inversion: detected 32 memory errors stress-ng: fail: [542153] info: 5 failures reached, aborting stress process stress-ng: fail: [542141] vm: detected 1088 bit errors while stressing memory stress-ng: error: [542138] vm: [542141] terminated with an error, exit status=2 (stressor failed) Anyone have any advice on how to fix this? Is it faulty DDR or a firmware issue?
-
Version `25.8.2` of kernel, dtb and/or header package on Armbian Ubuntu Noble break `zfs-dkms` (I'm pretty sure kernel module `zfs` was not built with success) I had to run: ```sh sudo apt install linux-image-current-meson64=25.8.1 linux-headers-current-meson64=25.8.1 linux-dtb-current-meson64=25.8.1 && sudo dpkg-reconfigure zfs-dkms ``` I couldn't look in to the problem, because I was busy doing something else when I was just upgrading every package on the system. I had to prioritize quickly fixing it before another user arrives so I just reverted the suspicious packages (the three I mentioned in the title) I can't look into the problem now either because the computer is not being used by me alone..
-
How to install correct linux-headers?
Igor replied to Stanislav Chizhik's topic in Software, Applications, Userspace
Community images are tied to daily beta repo where it should always be a match kernel - headers. Just make sure you have a clean updated system then proceeding to header installation via armbian-config. And only if this doesn't work, report so we can look into.
