Jump to content

Search the Community

Showing results for 'headers'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Armbian
    • Armbian project administration
  • Community
    • Announcements
    • SBC News
    • Framework and userspace feature requests
    • Off-topic
  • Using Armbian
    • Beginners
    • Software, Applications, Userspace
    • Advanced users - Development
  • Standard support
    • Amlogic meson
    • Allwinner sunxi
    • Rockchip
    • Other families
  • Community maintained / Staging
    • TV boxes
    • Amlogic meson
    • Allwinner sunxi
    • Marvell mvebu
    • Rockchip
    • Other families
  • Support

Categories

  • Volunteering opportunities
  • Part time jobs

Categories

  • Official giveaways
  • Community giveaways
  • Raffles

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Matrix


Mastodon


IRC


Website URL


XMPP/Jabber


Skype


Github


Discord


Location


Interests

  1. 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..
  2. Oh, okay. I'm not familiar with DKMS. But if you're updating multiple packages at once, doesn't apt sort out which need to be done first and second, etc? But if you're somehow rebuilding the kernel upon package installation, I'd install the headers package first - as those would be required for source-code level access. As for the devicetree blobs package, that just provides copies of those (already build) .dtb files to your /boot directory. But they're actually already included in the kernel package itself. The kernel package installs them to: /usr/lib/linux-image-_______/ So on my Orange PI 5 Plus, the dtb directory from the latest kernel package is here: /usr/lib/linux-image-6.18.0-rc3-edge-rockchip64/ Keeping the convention Armbian uses, instead of installing the redundant dtb package, I manually create two links to it in my /boot directory whenever I update the kernel (I have to do this for Debian-sourced kernels anyway): cd /boot ln -s /usr/lib/linux-image-6.18.0-rc3-edge-rockchip64 dtb-6.18.0-rc3-edge-rockchip64 ln -s /usr/lib/linux-image-6.18.0-rc3-edge-rockchip64 dtb Just replace that kernel with whichever one you're using. And if you're booting via uboot, be sure the Armbian.txt remains up to date.
  3. I think it's easier than that. I looked into the postinst file for kernel headers on my Ubuntu machine, and I found this: #!/bin/sh set -e version=6.17.0-7-generic if [ "$1" != configure ]; then exit 0 fi if [ -d /etc/kernel/header_postinst.d ]; then DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ /etc/kernel/header_postinst.d fi exit 0 The postinst script for the headers package doesn't have anything similar, so we should add it this part related to execute the scripts under `/etc/kernel/header_postinst.d`. Can you do that or should we add someone else to the discussion? EDIT: Debian does something similar. Same goal, just a different code: #!/bin/sh -e version=6.12.48+deb13-amd64 linux-run-hooks headers postinst $version -- "$@" exit 0
  4. Hi @Werner It seems the problem is in another place. The unattended upgrade updates the kernel, but the dkms hooks are not installed. I just got a couple kernel updates, and neither of them ran the DKMS, and since I'm using ZFS, it causes serious problems since the ZFS module wouldn't be build, so after a reboot wouldn't load and I couldn't access the data in my disks. I don't think adding the command to `armbian-upgrade` would solve since `apt upgrade` would still have the problem, and also the unattended upgrades, like mentioned before. Any ideas? EDIT: I found the problem, but couldn't find a solution. What is happening, is the kernel package is updated first, so actually it calls the dkms hook, but the headers wouldn't be installed, at least the latest version, yet, so the dkms can't run. The problem is how to install the headers before the kernel, or call the dkms hook from the headers package, so even if the kernel calls dkms but can't run because of the lack of updated headers, the headers will do that and succeed.
  5. Thank you for your quick answer, Jimbolaya. Yes, I did try different cables all with the same result. I wonder if there is another way to access the serial console, J13 perhaps? Albeit with some required soldering, I suppose. Then remains the question of which headers exactly relate to GND, TX and RX.
  6. root@rk3318-box:~/tm16xx-display# make module make EXTRA_CFLAGS="-DCONFIG_TM16XX -DCONFIG_TM16XX_KEYPAD -DCONFIG_TM16XX_I2C -DCONFIG_TM16XX_SPI" -C /lib/modules/6.16.4-edge-rockchip64/build M=/root/tm16xx-display modules make[1]: Entering directory '/usr/src/linux-headers-6.16.4-edge-rockchip64' make[2]: Entering directory '/root/tm16xx-display' CC [M] line-display.o /tmp/cc8iv0mf.s: Assembler messages: /tmp/cc8iv0mf.s:8: Error: junk at end of line, first unrecognized character is `L' /tmp/cc8iv0mf.s:9: Error: junk at end of line, first unrecognized character is `L' /tmp/cc8iv0mf.s:10: Error: junk at end of line, first unrecognized character is `L' /tmp/cc8iv0mf.s:11: Error: junk at end of line, first unrecognized character is `L' make[4]: *** [/usr/src/linux-headers-6.16.4-edge-rockchip64/scripts/Makefile.build:290: line-display.o] Error 1 make[3]: *** [/usr/src/linux-headers-6.16.4-edge-rockchip64/Makefile:2003: .] Error 2 make[2]: *** [/usr/src/linux-headers-6.16.4-edge-rockchip64/Makefile:248: __sub-make] Error 2 make[2]: Leaving directory '/root/tm16xx-display' make[1]: *** [Makefile:248: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-6.16.4-edge-rockchip64' make: *** [Makefile:46: module] Error 2 fresh install, box T9 rk3328
  7. Thank you so much for your help and explaining how it should work! I tried all the cores that you ordered - it only worked on this: #unnamed -a Linux orangepi5-plus 6.16.4-edge-rockchip64 #1 SMP PREEMPT Thu Aug 28 14:34:51 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux I put it like this: @apt install linux-image-edge-rockchip64 linux-headers-edge-rockchip64 The old cores were not suitable because the wifi card 0002:21:00.0 Network controller: MEDIATEK Corp. Device 7925 refuses to run on cores less than 6.12.X I bow low to you! cat /boot/armbianEnv.txt verbosity=1 bootlogo=true console=both overlay_prefix=rockchip-rk3588 fdtfile=rockchip/rk3588-orangepi-5-plus.dtb rootdev=UUID=e08e0355-09a7-41ad-a6db-fa17566a7f12 rootfstype=ext4 extraargs=cma=1G usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u With the extraargs=cma=1G parameter, videos in the browser somehow load faster.
  8. Dear All, I found armbian by chance and it's the best supporting linux solution for my orangepizero3 - will later start tinkering with orangepizero2w and orangepi5plus I'd love, along with Debian and Ubuntu, to have Kali selectable as distribution option - linux kernel, dtb, headers, u-boot, overlays and armbian-config would be the perfect base for it (and every other distribution imho) Being inspired by GoVanguard/karmbian, which is based on armbian's previous framework, I tried grossly "injecting" kali support into armbian branch v24.02 - but I'm lost; definitely no developer, just playing around specifically I'm stuck with "lib/functions/general/apt-utils.sh" function "apt_find_upstream_package_version_and_download_url()" - I don't know how to get kali deb packages url - kali tracker doesn't behave like Debian/Ubuntu - my clumsy approach is available at https://github.com/alexl83/build.git branch v24.02 I think orange pi boards are nice and hold potential, but manufacturer is stuck at an old forked armbian framework, old kernel and hacky dtbs - Armbian is great and I hope to get kali tools on it without "Frankensteining" Debian with overlapping repos, conflicts and pinnings Would love to get some proper support - sunxi64-current (6.6) works a charm, injection patches are ok, but even when deployed on trixie and using a kali extension script, the are overlapping packages - It would be great to have Kali distro just integrated in this framework Thanks for those who read all this Fingers crossed Alex
  9. This was originally meant as a reply to a user having problems enabling openVFD on a Tannix T3-Mini, a device I happen to own. I have recently been through this journey myself, and having searched the forums, I cannot find a recent topic on how to build this for Armbian, so have decided to make a new post that may be of use to some. Hold on to your hat, because this is going to be long. Caveats These instructions are, specifically, for the Tannix TX3-Mini. However, with a bit of fiddling, the general approach should work for any supported TV Box. I have added notes where you will need to look to edit a different file for your specific device There are many, many variants of the TX3-Mini out there. What works for me, may not work for you. Do not expect any help or support from me, I am just posting this as a courtesy for how I got this working... your mileage may vary. I am not going to troubleshoot anyone's issues These instructions are quite verbose, as they may also help users of other TV Boxes to get their displays working. It also may not. Like I say, I am not here to be tech support, but we can all agree not having a display stuck on "boot" is a nice thing to have As this is a kernel module it will most likely stop working after each kernel update. You will probably want to create a DKMS to rebuild the module whenever you download a new kernel. This is outside of scope here. Use Google. At the end of this, if all goes well, you will have a display showing the current time. If you want to do more with the display then this is outside of scope and you will need to look elsewhere. However, this link is useful for how to trigger the icons: https://github.com/arthur-liberman/linux_openvfd/blob/master/led_control.txt (note: only items 1 to 6 are valid for the tx3-mini) A lot of this can be done in a chroot, but the actual building of the kernel module itself must be done on the target device. To simplify things all of these instructions are to be executed on the device itself. If you want to do this in a chroot, then knock yourself out, but you are on your own. My setup At the time of writing, these instructions are confirmed working for the 7 Segment display and all icons on: Tannix T3-Mini S905w with 2GB RAM Armbian 25.11 Kernel 6.12.48-current-meson64 Debian stable (trixie) (13) Instructions Note: Every code block here is meant to be pasted and executed in one go, even the multi-line blocks We will work from the home folder to keep things simple. Don't worry, there will be no clutter as we will remove files we no longer require as we go cd ~ Device Tree Blob The first thing we are going to want to do is enable kernel support for openvfd in our DTB. Normally I'd do this with an overlay, but this does not appear to be enabled on the aml-s9xx-box image, so we will apply an overlay to the DTB directly: Install the device tree compiler: sudo apt install -y device-tree-compiler --no-install-recommends Back up the existing DTB (if anything goes wrong you can always just restore the backed up DTB) : Note: If your device is not a Tanix T3-Mini, then you will want to amend the following to point to the actual DTB you are using (you can find this in '/boot/extlinux/extlinux.conf') sudo cp /boot/dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb /boot/dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb.orig Create the overlay source code: cat << EOF > ~/openvfd.dts /dts-v1/; /plugin/; / { fragment@0 { target-path = "/"; __overlay__ { openvfd { compatible = "open,vfd"; dev_name = "openvfd"; status = "okay"; }; }; }; }; EOF Compile the overlay: dtc -@ -I dts -O dtb -o ~/openvfd.dtbo ~/openvfd.dts Merge the overlay into your DTB: Note: If your device is not a Tanix T3-Mini, then you will want to amend the following to point to the actual DTB you are using sudo fdtoverlay -i /boot/dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb -o /boot/dtb/amlogic/meson-gxl-s905w-tx3-mini.dtb ~/openvfd.dtbo Delete the overlay source: rm ~/openvfd.dts [Optional] Delete the compiled overlay: If your build is static (that is, you will never pull an updated DTB through apt) then you can also delete the compiled .dtbo overlay file. I prefer to keep this around, as you can just re-patch the new DTB with the "sudo fdtoverlay ..." command above. It is also possible to automate the update of a newly installed DTB file by creating a postinst.d script, but that is outside of the scope of this document. Google is your friend. rm ~/openvfd.dtbo Reboot so when we load the module later, our device knows what to do with it sudo reboot now Once your device has been rebooted, you can confirm that your change has been applied correctly with the following command: dtc -I fs -O dts /proc/device-tree | grep -A3 openvfd Again, this will generate a lot of warnings! This is normal. At the end of the warnings you should see the openvfd entry that you added to your DTS in the earlier step. If you do not, then you have not edited the file correctly, and you should go back and try again. OpenVFD Config file We need to create a configuration file which tells the OpenVFD module which GPIO pins are connected to the LCD display. We put this in the /etc folder as this is where we should be storing system configuration files for *deb based systems The contents of this file were extracted from https://github.com/arthur-liberman/vfd-configurations so if you are using a different device, you must replace the following config with the relevant one from the link. If you are having issues with your config not working, direct them to the repo owner, not me. I do not know your device or what may be wrong. Note: I remove the final functions='usb colon eth wifi' line as whilst the driver works fine with it included, it generates errors/warnings, which I would rather not see, and it appears to serve no purpose for Armbian Execute the following to generate the config for the TX3-Mini Note: If your device is not a Tanix T3-Mini do not execute the following. Instead, find your config at https://github.com/arthur-liberman/vfd-configurations and save it as /etc/openvfd.conf sudo bash -c "cat << 'EOF' > /etc/openvfd.conf vfd_gpio_clk='0,76,0' vfd_gpio_dat='0,75,0' vfd_gpio_stb='1,4,0' vfd_chars='4,3,2,1,0' vfd_dot_bits='0,1,3,2,4,5,6' vfd_display_type='0x01,0x00,0x00,0x00' EOF" Build the Kernel Module Now for the nitty gritty, we need to build the kernel module. The first thing we need is the kernel headers. Note: the headers version must match your installed kernel version exactly. Do not try installing the headers for a different kernel version. You will run into issues If you are on a standard image, or your kernel has been upgraded since you built your image, this is straightforward: sudo apt install linux-headers-$(uname -r) However, if you have built the image yourself, and you have not upgraded your kernel, then most likely the version available from the apt repository will not be compatible and your build may fail or the driver may not work at all. In these instances, you will need to go back to your build system and add the following switch to your ./compile.sh command: INSTALL_HEADERS=yes Install the required build tools sudo apt install -y git build-essential --no-install-recommends Clone the openvfd repo. At the time of writing the openvfd repo is not compatible with later Linux kernels. I have raised a PR against the repo to enable support, however it has not yet been accepted. If/when it is accepted I will be deleting my fork of the repo, but in the meantime, you can clone my fork with: git clone https://github.com/torzdf/linux_openvfd.git ~/linux_openvfd If the above does not work, it is because I have deleted my fork as the changes have been merged, and I am unable to come back and edit this post. If this is the case then run the following: Note: DO NOT run the next line, if the above git clone worked git clone https://github.com/arthur-liberman/linux_openvfd.git ~/linux_openvfd Enter the driver folder of the cloned repo cd ~/linux_openvfd/driver Create a Makefile. The provided Makefile will not work, so we need to replace it with our own: cat << 'EOF' > ./Makefile ifeq ($(KERNELRELEASE),) PWD = $(shell pwd) KERNELDIR = /lib/modules/`uname -r`/build modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules modules_install: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean: rm -rf *.o *.ko .tmp_versions *.mod.c modules.order Module.symvers ssd253x-ts.* else obj-m := openvfd.o openvfd-objs += protocols/i2c_sw.o openvfd-objs += protocols/i2c_hw.o openvfd-objs += protocols/spi_sw.o openvfd-objs += controllers/dummy.o openvfd-objs += controllers/seg7_ctrl.o openvfd-objs += controllers/fd628.o openvfd-objs += controllers/fd650.o openvfd-objs += controllers/hd44780.o openvfd-objs += controllers/gfx_mono_ctrl.o openvfd-objs += controllers/ssd1306.o openvfd-objs += controllers/pcd8544.o openvfd-objs += controllers/il3829.o openvfd-objs += openvfd_drv.o endif EOF Compile the kernel module: make -j$(nproc) Install the kernel module: sudo make modules_install Update the kernel modules: sudo depmod -a Create the helper service Next we need to compile and install the helper service Enter the folder that contains the source code for the helper service: cd ~/linux_openvfd Build the helper service: make OpenVFDService Make the helper service executable: chmod +x OpenVFDService Install the helper service: sudo cp OpenVFDService /usr/bin/ Clean up We have built everything we need from the OpenVFD repo, so we can get rid of the source code Go back to our home folder and delete the source code cd ~ && sudo rm -r linux_openvfd systemd Service file The final step. We need to create a service file that will load the kernel module, launch the helper service, and enable it on boot Create the systemd service file: note: If you prefer a 12 hour clock rather than a 24 hour clock, edit the 'Environment="OPTS=-24h"' line to 'Environment="OPTS=-12h"' sudo bash -c 'cat << '\''EOF'\'' > /etc/systemd/system/openvfd.service [Unit] Description=openvfd Wants=network-online.target [Service] Type=simple Environment="OPTS=-24h" ExecStartPre=/usr/bin/sh -c ". /etc/openvfd.conf; /usr/sbin/modprobe openvfd vfd_gpio_clk=$vfd_gpio_clk vfd_gpio_dat=$vfd_gpio_dat vfd_gpio_stb=$vfd_gpio_stb vfd_chars=$vfd_chars vfd_dot_bits=$vfd_dot_bits vfd_display_type=$vfd_display_type;" ExecStart=/usr/bin/OpenVFDService $OPTS & ExecStop=/usr/bin/killall OpenVFDService ExecStopPost=-/usr/sbin/rmmod openvfd [Install] WantedBy=multi-user.target EOF' Reload the systemd daemon: sudo systemctl daemon-reload Start the openvfd service: sudo systemctl start openvfd.service At this point your LCD should now be showing the time. If it is not, you can check for errors with: sudo systemctl status openvfd.service Enable the service at boot: sudo systemctl enable openvfd.service And that's it. If all has gone well, you now have a working LCD Display for your TV Box running a recent Armbian build
  10. Hi, I need linux kernel source to compile a custom module. The one I downloaded from kernel.org did not work, got module format error, indicating the kernel is different. i did not have this problem compiling the same module for Armbian lepotato (amlogic) Where do I get the kernel source for my Orangepi Zero 2? Linux orangepizero2 6.12.20-current-sunxi64 #1 SMP Sat Mar 22 19:54:28 UTC 2025 aarch64 GNU/Linux linux-headers-current-sunxi64/bookworm,now 25.2.3 arm64 [installed] Armbian Linux current headers 6.12.20-current-sunxi64 linux-image-current-sunxi64/bookworm,now 25.2.3 arm64 [installed] Armbian Linux current kernel image 6.12.20-current-sunxi64
  11. I'm trying to compile an LED display driver: https://github.com/arthur-liberman/linux_openvfd I follow this description: https://github.com/bk3a12/openvfd_enable_for_tx3_mini However, I can't build anything and the whole process ends with errors: sh ./scripts/modules-check.sh /home/user/INSTALKI/linux_openvfd/driver/modules.order make -f ./scripts/Makefile.modpost make[3]: *** No rules to make an object '/home/user/INSTALKI/linux_openvfd/driver/modules.order', required by '/home/user/INSTALKI/linux_openvfd/driver/Module.symvers'. Stop. make[2]: *** [/usr/src/linux-headers-6.12.33-current-meson64/Makefile:1897: modpost] Error 2 make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Leaving the directory '/usr/src/linux-headers-6.12.33-current-meson64' make: *** [Makefile:5: modules] Error 2
  12. I grabbed the "Armbian 25.8.1 Bookworm Minimal / IOT" image from https://www.armbian.com/tinkerboard/, landed it on a microSD card, booted it, and ran apt update apt upgrade apt install linux-headers-current-rockchip apt install zfs-dkms zfsutils-linux This gets me linux-image-current-rockchip 25.8.1 (kernel 6.12.44-current-rockchip) and a module built from zfs-dkms 2.3.2-2~bpo12+2. So far so good. And then I ran modprobe zfs.ko and was rewarded with the following panic in the kernel's module loader: [ 1128.728803] spl: loading out-of-tree module taints kernel. [ 1128.859152] zfs: module license 'CDDL' taints kernel. [ 1128.859178] Disabling lock debugging due to kernel taint [ 1128.859401] zfs: module license taints kernel. [ 1128.860612] 8<--- cut here --- [ 1128.860624] Unable to handle kernel paging request at virtual address 5e4f51d0 when read [ 1128.860641] [5e4f51d0] *pgd=00000000 [ 1128.860663] Internal error: Oops: 5 [#1] SMP ARM [ 1128.865857] Modules linked in: spl(O) zram zsmalloc snd_soc_hdmi_codec snd_usb_audio snd_soc_simple_card binfmt_misc snd_soc_rockchip_i2s snd_soc_simple_card_utils snd_hwdep hantro_vpu snd_usbmidi_lib rockchip_vdec(C) snd_ump snd_soc_core r8723bs(C) rockchip_rga rockchip_iep snd_rawmidi v4l2_vp9 panfrost snd_pcm_dmaengine v4l2_jpeg rk_crypto snd_seq_device v4l2_h264 dw_hdmi_i2s_audio snd_pcm videobuf2_dma_contig gpu_sched dw_hdmi_cec v4l2_mem2mem snd_timer syscon_reboot_mode crypto_engine reboot_mode snd dw_wdt rk3288_gpiomem soundcore rockchip_thermal cpufreq_dt fuse gpio_keys realtek [ 1128.924379] CPU: 3 UID: 0 PID: 20465 Comm: modprobe Tainted: P C O 6.12.44-current-rockchip #1 [ 1128.935373] Tainted: [P]=PROPRIETARY_MODULE, [C]=CRAP, [O]=OOT_MODULE [ 1128.942570] Hardware name: Rockchip (Device Tree) [ 1128.947822] PC is at resolve_symbol+0xf8/0x368 [ 1128.952795] LR is at cmp_name+0x14/0x18 [ 1128.957081] pc : [<b01ac790>] lr : [<b01ab960>] psr: 90010013 [ 1128.964083] sp : f1f1dd68 ip : f1f1dca8 fp : f1f1ddbc [ 1128.969919] r10: f1f1ded0 r9 : af1f81dc r8 : af1f62ac [ 1128.975755] r7 : af2489c0 r6 : af248c48 r5 : f1f1de48 r4 : af52c300 [ 1128.983049] r3 : 00000000 r2 : 5e4f51c0 r1 : 00000000 r0 : 00000001 [ 1128.990342] Flags: NzcV IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 1128.998318] Control: 10c5387d Table: 0364c06a DAC: 00000051 [ 1129.004737] Register r0 information: non-paged memory [ 1129.010383] Register r1 information: NULL pointer [ 1129.015639] Register r2 information: non-paged memory [ 1129.021283] Register r3 information: NULL pointer [ 1129.026538] Register r4 information: 201-page vmalloc region starting at 0xaf514000 allocated at load_module+0x744/0x1b34 [ 1129.038795] Register r5 information: 2-page vmalloc region starting at 0xf1f1c000 allocated at kernel_clone+0xac/0x340 [ 1129.050759] Register r6 information: 5-page vmalloc region starting at 0xaf247000 allocated at load_module+0x744/0x1b34 [ 1129.062820] Register r7 information: 5-page vmalloc region starting at 0xaf247000 allocated at load_module+0x744/0x1b34 [ 1129.074881] Register r8 information: 3-page vmalloc region starting at 0xaf1f6000 allocated at load_module+0x744/0x1b34 [ 1129.086942] Register r9 information: 3-page vmalloc region starting at 0xaf1f6000 allocated at load_module+0x744/0x1b34 [ 1129.099003] Register r10 information: 2-page vmalloc region starting at 0xf1f1c000 allocated at kernel_clone+0xac/0x340 [ 1129.111062] Register r11 information: 2-page vmalloc region starting at 0xf1f1c000 allocated at kernel_clone+0xac/0x340 [ 1129.123120] Register r12 information: 2-page vmalloc region starting at 0xf1f1c000 allocated at kernel_clone+0xac/0x340 [ 1129.135179] Process modprobe (pid: 20465, stack limit = 0xf191b45c) [ 1129.142183] Stack: (0xf1f1dd68 to 0xf1f1e000) [ 1129.147050] dd60: b01abd14 af52c3fc 00000000 f26174f8 00000100 af2489c0 [ 1129.156193] dd80: 00000000 af1f62ac 00000000 e7df2e2d b4795600 00005a2b f26174f8 f26bcb48 [ 1129.165334] dda0: af6dc2b4 00000000 0006a3d0 f1f1ded0 f1f1deb4 f1f1ddc0 b01ae384 b01ac6a4 [ 1129.174476] ddc0: b02f81d4 b02f2340 f26bcbc0 00000000 00000003 004d6d38 00000000 00000001 [ 1129.183618] dde0: 00000000 b4795600 f26bc508 00000000 af52c3fc 0000001e 00000000 b132bdb0 [ 1129.192759] de00: 00000000 af52c300 af52c300 b1bd8b84 af52c30c b1c8a1a4 00000000 00000001 [ 1129.201901] de20: b5b7e600 f26bcbc0 00459bc0 00459bc0 f1f1de5c f1f1de40 00459bc0 00000000 [ 1129.211041] de40: 7fffffff b5b7e600 00000000 00000000 00000000 00000000 00000000 00000000 [ 1129.220182] de60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 1129.229324] de80: 00000000 e7df2e2d 00000002 00000000 b5b7e600 004d6d38 b5b7e600 b1c8a5b4 [ 1129.238465] dea0: bbba0708 b5b7e600 f1f1df3c f1f1deb8 b01aeedc b01ad31c f1f1decc 7fffffff [ 1129.247607] dec0: 00000000 00000002 00000000 f2263000 f2576523 f24d6640 f2263000 00459bc0 [ 1129.256749] dee0: f26bc508 f26bc388 f25e9c54 0008272c 000a7eac 000a5a90 000c5d78 00000000 [ 1129.265890] df00: 000a5a80 00000028 00000029 00000016 00000000 0000001e 00000000 e7df2e2d [ 1129.275031] df20: 00000001 000000f6 b1c8a1a4 00000001 f1f1dfa4 f1f1df40 b01af2ac b01aee50 [ 1129.284172] df40: 00000000 00000000 004d6d38 b1c8a58c bbba0708 00000000 b1c8a58c 00000000 [ 1129.293314] df60: 00000000 f1f1df64 f1f1df64 fffffffc 00000000 e7df2e2d 000000c0 004d8ad8 [ 1129.302456] df80: 00fa74bc 22b57200 0000017b b01002c8 b4795600 0000017b 00000000 f1f1dfa8 [ 1129.311598] dfa0: b0100060 b01af108 004d8ad8 00fa74bc 00000004 004d6d38 00000000 004d86bc [ 1129.320738] dfc0: 004d8ad8 00fa74bc 22b57200 0000017b 00fa7520 00000000 00000000 004d50bc [ 1129.329879] dfe0: aeb5c0e8 aeb5c0d8 004cf149 a6bc3002 40070030 00000004 00000000 00000000 [ 1129.339018] Call trace: [ 1129.341845] resolve_symbol from load_module+0x1074/0x1b34 [ 1129.347983] r10:f1f1ded0 r9:0006a3d0 r8:00000000 r7:af6dc2b4 r6:f26bcb48 r5:f26174f8 [ 1129.356735] r4:00005a2b [ 1129.359559] load_module from init_module_from_file+0x98/0xd4 [ 1129.365987] r10:b5b7e600 r9:bbba0708 r8:b1c8a5b4 r7:b5b7e600 r6:004d6d38 r5:b5b7e600 [ 1129.374738] r4:00000000 [ 1129.377562] init_module_from_file from sys_finit_module+0x1b0/0x310 [ 1129.384670] r6:00000001 r5:b1c8a1a4 r4:000000f6 [ 1129.389826] sys_finit_module from ret_fast_syscall+0x0/0x54 [ 1129.396154] Exception stack(0xf1f1dfa8 to 0xf1f1dff0) [ 1129.401798] dfa0: 004d8ad8 00fa74bc 00000004 004d6d38 00000000 004d86bc [ 1129.410939] dfc0: 004d8ad8 00fa74bc 22b57200 0000017b 00fa7520 00000000 00000000 004d50bc [ 1129.420079] dfe0: aeb5c0e8 aeb5c0d8 004cf149 a6bc3002 [ 1129.425724] r10:0000017b r9:b4795600 r8:b01002c8 r7:0000017b r6:22b57200 r5:00fa74bc [ 1129.434475] r4:004d8ad8 [ 1129.437302] Code: ea00004a e5922000 e1520006 0a000047 (e5923010) [ 1129.444162] ---[ end trace 0000000000000000 ]--- I have been unable to find debug symbols or a way to get an objdump of the loaded kernel (probably I am just missing something). Please advise what more I can tell you to be useful. I am unable to run armbianmonitor; after the above, lsmod hangs, and upon boot, the machine attempts to load zfs.ko which again crashes as above and userspace is pretty direly stuck. FWIW, I am happily running ZFS on a Tinkerboard with an older system, specifically linux-image-current-rockchip 24.11.1 (which is kernel 6.6.63-current-rockchip) and zfs-dkms 2.2.2-0ubuntu9.1.
  13. I think official stand from open ZFS project is: "ZFS is not designed for 32-bit kernels" ... it still might work(ed). IMO stay on kernel 6.6.y. I doubt there is anything wrong on Armbian side ... worth experimenting with Ubuntu Noble minimal image to rule out possible headers incompatibility.
  14. I think the core problem is that headers were compiled with Ubuntu compiler / userspace and you try to use it on Debian. I used this on Ubuntu, which is the reason why it worked. We are aware of this problem - headers should be distro specific. Which adds complexity on our side ...
  15. So I recently loaded the x86 Armbian 6.12 - Ubuntu 24.04 (Noble) server image onto a GEEKOM Air12 Lite N150 (wow that was a mouthful), only to find the ethernet port missing... turns out the Motorcomm YT6801 Ethernet Controller it uses is not in the mainline distro and has to be built manually. I have so far referenced the following resources about this: https://github.com/albertogviana/YT6801 https://github.com/dante1613/Motorcomm-YT6801 https://forums.linuxmint.com/viewtopic.php?t=438301 https://deb.tuxedocomputers.com/ubuntu/pool/main/t/tuxedo-yt6801/ and run the gamut for two days straight without much luck. First the linux headers were not installed, so I installed them through armbian-config, only to find out they were still not available because potentially the headers are for 6.12.41 are not available? https://mirror.twds.com.tw/armbian-apt/pool/main/l/linux-headers-current-x86/ (I don't see them listed here, I do see a 6.12.32 and a 6.12.44) Then I rolled back the Kernel to 6.12.32 and tried to install the headers again them through armbian-config, only to find out they were still not available?!?!? So I installed them by downloading the *.deb directly and manually installed them. Now I can get the latest tuxedo driver (tuxedo-yt6801_1.0.30tux4_all.deb) to build and install, but the module will not load. journalctl | grep "yt6801" shows .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time here is the output from the install: root@Armbian:~# sudo dpkg -i tuxedo-yt6801_1.0.30tux4_all.deb (Reading database ... 79866 files and directories currently installed.) Preparing to unpack tuxedo-yt6801_1.0.30tux4_all.deb ... Module tuxedo-yt6801-1.0.30tux4 for kernel 6.12.32-current-x86 (x86_64). Before uninstall, this module version was ACTIVE on this kernel. yt6801.ko: - Uninstallation - Deleting from: /lib/modules/6.12.32-current-x86/updates/dkms/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod......... Deleting module tuxedo-yt6801-1.0.30tux4 completely from the DKMS tree. (Re)load module if possible Unpacking tuxedo-yt6801 (1.0.30tux4) over (1.0.30tux4) ... Setting up tuxedo-yt6801 (1.0.30tux4) ... Loading new tuxedo-yt6801-1.0.30tux4 DKMS files... Building for 6.12.32-current-x86 Building initial module for 6.12.32-current-x86 Done. yt6801.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/6.12.32-current-x86/updates/dkms/ depmod... (Re)load module if possible Warning: Could not load module yt6801. Any clues on what I might be missing? I'm not a hardcore Linux pro by any means, but I'm not a novice either. Any help would be much appreciated.
  16. Tried for several days to get this working with the latest kernel and headers (never got it working and always got the same linkonce error). So I just abandoned the idea of Armbian for x86 and installed Debian which did work, perhaps when the Motorcomm YT6801 driver hits mainline I'll give it another try.
  17. Oh are you saying that the Tuxedo v1.0.30 package works with the latest 6.12.44 headers? I did not try moving ahead to the latest as I didn't see an option to swap to that kernel in armbian-config (only to go back to 6.12.32). My current kernel is 6.12.41 (default install). I assume I can manually update via: sudo apt-get update && apt upgrade -y and then install the headers afterwards.
  18. tl;dr; You need to fix the driver code similar we do it here https://github.com/armbian/build/tree/main/patch/misc I tried this: https://github.com/albertogviana/YT6801 (but tuxedo v1.0.30 might have this already fixed) https://paste.armbian.com/xeraretaxu.diff I fix the most obvious errors, but don't have time to deal with this code. Some intermediate or old kernels might be missing matched headers. They are present at latest kernel (tested). BTW, it works for me: khadas-mind:Downloads:% sudo dpkg -i tuxedo-yt6801_1.0.30tux4_all.deb Selecting previously unselected package tuxedo-yt6801. (Reading database ... 158138 files and directories currently installed.) Preparing to unpack tuxedo-yt6801_1.0.30tux4_all.deb ... Unpacking tuxedo-yt6801 (1.0.30tux4) ... Setting up tuxedo-yt6801 (1.0.30tux4) ... Loading new tuxedo-yt6801-1.0.30tux4 DKMS files... Building for 6.12.44-current-x86 Building initial module for 6.12.44-current-x86 Done. yt6801.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/6.12.44-current-x86/updates/dkms/ depmod... (Re)load module if possible khadas-mind:Downloads:% modinfo yt6801 filename: /lib/modules/6.12.44-current-x86/updates/dkms/yt6801.ko license: GPL license: GPL author: Motorcomm Electronic Tech. Co., Ltd. version: 1.0.30 description: Motorcomm YT6801 Gigabit Ethernet Driver srcversion: 13DED66BAFB05DCB4D65DE6 alias: pci:v00001F0Ad00006801sv*sd*bc*sc*i* depends: name: yt6801 retpoline: Y vermagic: 6.12.44-current-x86 SMP preempt mod_unload modversions parm: debug:FUXI ethernet debug level (0=none,...,16=all) (int)
  19. I need to compile a driver on the raspberry my kernel is 6.6.78-current-bcm2711 I need to download linux-headers-6.6.78 can someone help
  20. Hi, I have attempted to boot with edge and current branches with no success. I am now trying vendor since its what its running. My process is: ./compile.sh BOARD=orangepi5pro BRANCH=current kernel-config I enable tunneling GRE and some broadcom wifi drivers. ./compile.sh BOARD=orangepi5pro BRANCH=current kernel sudo dpkg -i output/debs/linux-image-*.deb sudo dpkg -i output/debs/linux-headers-*.deb sudo dpkg -i output/debs/linux-dtb-*.deb sudo reboot and after this the system does not boot or post through HDMI. I have to go back and erase /boot and restore a backup to be able to get it working again. What am I missing? P.S. I have /boot partition in SD card and the system partition is in an NVME drive.
  21. Mission: provide easy way to configure OS and install services armbian-config provides configuration and installation routines for customizing and automating tasks within Armbian Linux environment. These utilities help streamline setup processes for various use cases. Key Advantages Lightweight: Minimal dependencies for optimal performance. Flexible: Supports JSON, TUI, CLI, and API interfaces. Modern: A fresh approach to configuration. Low entropy: Byte clean uninstall for most targets. Features System Configuration: Kernel management, headers, hardware tweaks. NFS and ZFS storage management. SSH user access tweaks. System updates, rolling / stable, containers update. Network Management: Fixed / dynamic IP configuration. Connecting to wireless network. Access point management. Localization Settings: Configure time zone. Set language and locales. Change hostname. Software Management: Software installation and removal. Native and containerized environment. Standardised, updatable, maintained. Compatibility This tool is tailored to works best with Armbian Linux but it has also been automatically tested on: Debian Bookworm Ubuntu Jammy Ubuntu Noble In theory it should work on all systemd APT based Linux distributions: Linux Mint, Elementary OS, Kali Linux, MX Linux, Parrot OS, Proxmox, Raspberry Pi OS, ... Getting Started Armbian config is preinstalled on Armbian. Open or login into your terminal and run: armbian-config End users: Request new software title Documentation: Armbian config | Optimised software Developers: Adding a new feature or software install title
  22. @Chris C In case going's suggestion doesn't help, the kernel should be compatible with the Rock 5b. I don't think that you need to install the dtb if you're already running Armbian with vendor kernel 6.1.x. So just install with "sudo apt install ./linux-image*.deb and the headers if you need them to compile drivers that you need for testing. To be sure if the install went correct you should look if the symlinks are all to the correct kernel. "ls -l /boot" otherwise "sudo ln -sf correct-vmlinuz Image" and so on But adding a log is always helpful indeed. Send it after the nvme stopped working.
  23. Hello everybody, I tried building an in-kernel module for USB Dongle Bus 001 Device 003: ID 2357:0120 TP-Link Archer T2U PLUS [RTL8821AU] on my OrangePi Plus. Armbian supplied module from aircrack-ng/rtl8812au has become aging and raises exception errors on modprobe -r. It was deactivated : root@orangepiplus:/etc/modprobe.d# vi blacklist-88XXau.conf #blacklist 88XXau I made a fresh install of Armbian minimal image, then switched to : root@orangepiplus:~# uname -a Linux orangepiplus 6.15.4-edge-sunxi #1 SMP Fri Jun 27 10:13:43 UTC 2025 armv7l GNU/Linux root@orangepiplus:/usr/src# cat /proc/version Linux version 6.15.4-edge-sunxi (build@armbian) (arm-linux-gnueabihf-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #1 SMP Fri Jun 27 10:13:43 UTC 2025 root@orangepiplus:/usr/src# zcat /proc/config.gz | grep CC_VERSION CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0" CONFIG_GCC_VERSION=130300 root@orangepiplus:/usr/src# zcat /proc/config.gz | grep STACKPROTECTOR CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y CONFIG_STACKPROTECTOR_PER_TASK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y Headers were downloaded with armbian-config : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# drwxr-xr-x 25 root root 4096 Aug 21 21:40 linux-headers-6.15.4-edge-sunxi Then performed usual build process: root@orangepiplus:/usr/src# sudo git clone --depth 1 --branch linux-6.15.y https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git root@orangepiplus:/usr/src# sudo ln -s /usr/src/linux /lib/modules/$(uname -r)/build root@orangepiplus:/usr/src# ls -al /lib/modules/$(uname -r)/build lrwxrwxrwx 1 root root 14 Aug 21 22:45 /lib/modules/6.15.4-edge-sunxi/build -> /usr/src/linux cp /boot/config-$(uname -r) /usr/src/linux/.config sudo make olddefconfig sudo make menuconfig Module activated in the following tree : │ Symbol: RTW88 [=m] │ │ Type : tristate │ │ Defined at drivers/net/wireless/realtek/rtw88/Kconfig:2 │ │ Prompt: Realtek 802.11ac wireless chips support │ │ Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_REALTEK [=y] && MAC80211 [=m] │ │ Location: │ │ -> Device Drivers │ │ -> Network device support (NETDEVICES [=y]) │ │ -> Wireless LAN (WLAN [=y]) │ │ -> Realtek devices (WLAN_VENDOR_REALTEK [=y]) │ │ (1) -> Realtek 802.11ac wireless chips support (RTW88 [=m]) root@orangepiplus:/usr/src/linux# grep -E 'CONFIG_RTW88_CORE|CONFIG_RTLWIFI|CONFIG_RTW88_8821AU' .config CONFIG_RTLWIFI=m CONFIG_RTLWIFI_USB=m # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTW88_CORE=m CONFIG_RTW88_8821AU=m cp /usr/src/linux-headers-6.15.4-edge-sunxi/Module.symvers /usr/src/linux/ Then compiled with: root@orangepiplus:/usr/src/linux# sudo make -j$(nproc) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- M=drivers/net/wireless/realtek/rtw88 make[1]: Entering directory '/usr/src/linux/drivers/net/wireless/realtek/rtw88' MODPOST Module.symvers CC [M] rtw88_core.mod.o CC [M] .module-common.o CC [M] rtw88_8822b.mod.o CC [M] rtw88_8822bs.mod.o CC [M] rtw88_8822bu.mod.o CC [M] rtw88_8822c.mod.o CC [M] rtw88_8822cs.mod.o ... LD [M] rtw88_core.ko LD [M] rtw88_8822b.ko LD [M] rtw88_8822bs.ko LD [M] rtw88_8822bu.ko LD [M] rtw88_8822c.ko LD [M] rtw88_8822cs.ko LD [M] rtw88_8822cu.ko LD [M] rtw88_8723x.ko LD [M] rtw88_8723d.ko LD [M] rtw88_8723ds.ko LD [M] rtw88_8723du.ko LD [M] rtw88_8821c.ko LD [M] rtw88_8821cs.ko LD [M] rtw88_8821cu.ko LD [M] rtw88_88xxa.ko LD [M] rtw88_8821a.ko LD [M] rtw88_8821au.ko LD [M] rtw88_sdio.ko LD [M] rtw88_usb.ko make[1]: Leaving directory '/usr/src/linux/drivers/net/wireless/realtek/rtw88' root@orangepiplus:/usr/src/linux# modinfo /usr/src/linux/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko filename: /usr/src/linux/drivers/net/wireless/realtek/rtw88/rtw88_8821au.ko license: Dual BSD/GPL description: Realtek 802.11ac wireless 8821au/8811au driver author: Bitterblue Smith <rtl8821cerfe2@gmail.com> ... alias: usb:v0BDAp0811d*dc*dsc*dp*icFFiscFFipFFin* depends: rtw88_usb,rtw88_8821a name: rtw88_8821au vermagic: 6.15.11 SMP mod_unload ARMv7 thumb2 p2v8 sudo make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- doesn't work. Needs fixing. So I just copied modules to system location : root@orangepiplus:/usr/src/linux# sudo cp /usr/src/linux/drivers/net/wireless/realtek/rtw88/*.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtw88/ root@orangepiplus:/usr/src/linux# sudo depmod -a But loading failed as follows : root@orangepiplus:/usr/src/linux# sudo modprobe rtw88_8821au modprobe: ERROR: could not insert 'rtw88_8821au': Exec format error Aug 22 16:31:52 orangepiplus kernel: module rtw88_88xxa: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time It appears to be a structural issue, as I also tried building out-of-kernel module from lwfinger/rtw88 I also tried building on Nanopi-r5s. Each time Exec format error was observed despite the module was successfully built. Different analysis point to GCC version mismatch between kernel and build host, ABI incompatibility and subtle build failures, thus causing non-alignment with the kernel buid. Several other build flags were tried to align with the kernel, but in vain. The root cause was not found. I am running out of options now. Could community or development team point to correct approach building an in-kernel module on a running system in native environment ? PS : complementary information : when armbian headers were downloaded with armbian-config, the following build output was observed : /usr/lib/gcc/arm-linux-gnueabihf/12/cc1 -quiet -I ./scripts/include -I ./scripts/dtc/libfdt -imultilib . -imultiarch arm-linux-gnueabihf -D _LARGEFILE_SOURCE -D _FILE_OFFSET_BITS=64 -D NO_YAML -MMD scripts/dtc/.dtc.o.d scripts/dtc/dtc.c -quiet -dumpdir scripts/dtc/ -dumpbase dtc.c -dumpbase-ext .c -mfloat-abi=hard -mtls-dialect=gnu -mthumb -mlibarch=armv7-a+fp -march=armv7-a+fp -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -std=gnu11 -fomit-frame-pointer -o /tmp/ccY6Z3QK.s It may give some clues on the flags used.
  24. In the meantime and in order digging further I've switched to gcc-13 to build module with the same version as the kernel : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# gcc --version gcc (Debian 13.4.0-1) 13.4.0 Then I've downloaded headers with armbian-config to : /usr/src/linux-headers-6.15.4-edge-sunxi and proceeded with rebuild Using Official Headers cd /mnt/sda2/src/linux-6.15.4 make clean cp /usr/src/linux-headers-6.15.4-edge-sunxi/.config .config sed -i 's/^EXTRAVERSION =.*/EXTRAVERSION = -edge-sunxi/' Makefile make olddefconfig 787 make menuconfig 788 grep -E 'CONFIG_RTW88_CORE|CONFIG_RTLWIFI|CONFIG_RTW88_8821AU' .config make modules_prepare cp /usr/src/linux-headers-6.15.4-edge-sunxi/Module.symvers . make M=drivers/net/wireless/realtek/rtw88 modules -j$(nproc) sudo cp /boot/System.map-$(uname -r) /mnt/sda2/src/linux-6.15.4/System.map root@orangepiplus:/mnt/sda2/src/linux-6.15.4# sudo make M=drivers/net/wireless/realtek/rtw88 modules_install make[1]: Entering directory '/mnt/sda2/src/linux-6.15.4/drivers/net/wireless/realtek/rtw88' INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_core.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822b.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822bs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822bu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822c.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822cs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822cu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723x.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723d.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723ds.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723du.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821c.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821cs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821cu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_88xxa.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821a.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821au.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_sdio.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_usb.ko DEPMOD /lib/modules/6.15.4-edge-sunxi make[1]: Leaving directory '/mnt/sda2/src/linux-6.15.4/drivers/net/wireless/realtek/rtw88' sudo depmod -a But the resulting module failed loading again : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# sudo modprobe rtw88_8821au modprobe: ERROR: could not insert 'rtw88_8821au': Exec format error Aug 24 12:08:53 orangepiplus kernel: module rtw88_core: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time It proves a structural mismatch again. Armbian built the 6.15.4-edge-sunxi kernel using Ubuntu's GCC 13 likely with plugins. GCC plugins randomize or instrument the layout of kernel structures — including struct module. It means, that you cannot reproduce the exact struct module layout unless you use the exact same GCC plugin configuration — which is not available to end users! Could it be fixed and what is the right approach to adding missing in-kernel modules from kernel sources or headers ?
  25. I do agree, that it doesn't. But it looks like Armbian kernel is built with arm-linux-gnueabihf-gcc Taken unalignment problem the same flag was used with which the kernel and headers were built. It doesn't help either.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines