[Solved] No matching kernel headers for 3.0.35 armel ?

Discussion in 'Kernels' started by flipsa, Jan 14, 2014.

  1. flipsa

    flipsa New Member

    Joined:
    Jan 14, 2014
    Messages:
    17
    Likes Received:
    0
    Update: Got everything working now. If you are looking for information how to compile the module for rtl2832 based DVB-T adapter or TVHeadend check out this thread: viewtopic.php?f=27&t=821

    Original post:

    tl;dr: where are the linux-3.0.35 header files? I can only find 2 dozen versions for kernel 3.2.0?

    ---

    Hey,

    Just got my UDOO a few days ago, and have been playing around with it a bit. Also, this is my first post, so hello everybody :)

    So, the first thing I wanted to do is to get my DVB-T receiver (rtl2832) working, but the kernel provided with the Linaro Ubuntu 12.04 LTS (release version: 2.0 / 2013-11-28) does not have a module for it. So i downloaded the kernel sources from github (https://github.com/UDOOboard/Kernel_Unico) and tried to compile the modules myself, but there's no support for this receiver. So i found this (https://github.com/ambrosa/DVB-Realtek- ... rnel-3.0.0) and tried to build the needed modules for the 3.0.35 kernel. Obviously, linux-headers are needed at this point, but the only ones I can find in the repos are for kernel 3.2.0:

    Code:
      linux-headers-3.2.0-49-omap 3.2.0-49.75
      linux-headers-3.2.0-49 3.2.0-49.75
      linux-headers-3.2.0-30-omap 3.2.0-30.48
      linux-headers-3.2.0-30 3.2.0-30.48
      linux-headers-3.2.0-24-omap 3.2.0-24.39
      linux-headers-3.2.0-24 3.2.0-24.39
      linux-headers-3.2.0-58-omap 3.2.0-58.88
      linux-headers-3.2.0-58 3.2.0-58.88
      linux-headers-3.2.0-57-omap 3.2.0-57.87
      linux-headers-3.2.0-57 3.2.0-57.87
      linux-headers-3.2.0-56-omap 3.2.0-56.86
      linux-headers-3.2.0-56 3.2.0-56.86
      linux-headers-3.2.0-55-omap 3.2.0-55.85
      linux-headers-3.2.0-55 3.2.0-55.85
      linux-headers-3.2.0-54-omap 3.2.0-54.82
      linux-headers-3.2.0-54 3.2.0-54.82
      linux-headers-3.2.0-53-omap 3.2.0-53.81
      linux-headers-3.2.0-53 3.2.0-53.81
      linux-headers-3.2.0-52-omap 3.2.0-52.78
      linux-headers-3.2.0-52 3.2.0-52.78
      linux-headers-3.2.0-51-omap 3.2.0-51.77
      linux-headers-3.2.0-51 3.2.0-51.77
      linux-headers-3.2.0-48-omap 3.2.0-48.74
      linux-headers-3.2.0-48 3.2.0-48.74
      linux-headers-3.2.0-45-omap 3.2.0-45.70
      linux-headers-3.2.0-45 3.2.0-45.70
      linux-headers-3.2.0-44-omap 3.2.0-44.69
      linux-headers-3.2.0-44 3.2.0-44.69
      linux-headers-3.2.0-43-omap 3.2.0-43.68
      linux-headers-3.2.0-43 3.2.0-43.68
      linux-headers-3.2.0-41-omap 3.2.0-41.66
      linux-headers-3.2.0-41 3.2.0-41.66
      linux-headers-3.2.0-40-omap 3.2.0-40.64
      linux-headers-3.2.0-40 3.2.0-40.64
      linux-headers-3.2.0-39-omap 3.2.0-39.62
      linux-headers-3.2.0-39 3.2.0-39.62
      linux-headers-3.2.0-38-omap 3.2.0-38.61
      linux-headers-3.2.0-38 3.2.0-38.61
      linux-headers-3.2.0-37-omap 3.2.0-37.58
      linux-headers-3.2.0-37 3.2.0-37.58
      linux-headers-3.2.0-36-omap 3.2.0-36.57
      linux-headers-3.2.0-36 3.2.0-36.57
      linux-headers-3.2.0-35-omap 3.2.0-35.55
      linux-headers-3.2.0-35 3.2.0-35.55
      linux-headers-3.2.0-34-omap 3.2.0-34.53
      linux-headers-3.2.0-34 3.2.0-34.53
      linux-headers-3.2.0-33-omap 3.2.0-33.52
      linux-headers-3.2.0-33 3.2.0-33.52
      linux-headers-3.2.0-32-omap 3.2.0-32.51
      linux-headers-3.2.0-32 3.2.0-32.51
      linux-headers-3.2.0-31-omap 3.2.0-31.50
      linux-headers-3.2.0-31 3.2.0-31.50
      linux-headers-3.2.0-29-omap 3.2.0-29.46
      linux-headers-3.2.0-29 3.2.0-29.46
      linux-headers-3.2.0-27-omap 3.2.0-27.43
      linux-headers-3.2.0-27 3.2.0-27.43
      linux-headers-3.2.0-26-omap 3.2.0-26.41
      linux-headers-3.2.0-26 3.2.0-26.41
      linux-headers-3.2.0-25-omap 3.2.0-25.40
      linux-headers-3.2.0-25 3.2.0-25.40
      linux-headers-3.2.0-23-omap 3.2.0-23.36
      linux-headers-3.2.0-23 3.2.0-23.36
    
    I also wasn't able to find anything about kernel headers for UDOO searching the forum, google, or anywhere else for that matter. The only thing i could find were 3.0.35 header files for armhf here (http://www.ags131.com/index.php/). But since Linaro Ubuntu 12.04 is armel, those don't work.

    Can anybody point me towards the right kernel headers for the current Linaro release please?
    Thanks a lot!
     
  2. jas-mx

    jas-mx Active Member

    Joined:
    Dec 31, 2013
    Messages:
    407
    Likes Received:
    118
    Re: No matching kernel headers for 3.0.35 armel ?

    You can get the kernel headers from the udoo kernel source by doing something simliar to this:

    Code:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_HDR_PATH=output headers_install
    cd output
    tar cvf ../headers.tar include
     
  3. flipsa

    flipsa New Member

    Joined:
    Jan 14, 2014
    Messages:
    17
    Likes Received:
    0
    Re: No matching kernel headers for 3.0.35 armel ?

    Hey jas-mx,

    Thanks for your help. This seems to have sort of worked, in the sense that make now doesn't complain about missing header sources. However, now I'm stuck at:

    Code:
    root@udoo:~/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0# make 
    make -C /usr/src/linux-headers-`uname -r` SUBDIRS=/root/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0 modules
    make[1]: Entering directory `/usr/src/linux-headers-3.0.35'
    make[1]: *** No rule to make target `modules'.  Stop.
    make[1]: Leaving directory `/usr/src/linux-headers-3.0.35'
    make: *** [default] Error 2
    
    Edit: I've manually changed the symlinks for 'build' and 'source' in /lib/modules to point to /usr/src/Kernel_Unico (before they were pointing to "/home/udoo/udoo-dev-export/linux-3.0.35-QUADMO-iMX6" which obviously doesn't exist) but that didn't change anything...

    A quick google search for this error suggests that the header files are still not (properly) installed. I've been a long time Linux user, and have built Kernels and modules (in Gentoo) many times, but I'm kinda lost here.

    Any input / help how to continue is much appreciated! Thanks!
     
  4. flipsa

    flipsa New Member

    Joined:
    Jan 14, 2014
    Messages:
    17
    Likes Received:
    0
    Re: No matching kernel headers for 3.0.35 armel ?

    Please disregard my previous post, I got it to compile now :)

    I had to manually edit the makefile and change the header dir.

    I could now compile without errors, but the module (dvb-usb-rtl2832u.ko) doesn't load (invalid module format).

    I will keep investigating and update this thread once i know more...

    Update: as already stated above, the compile runs fine. The module wouldn't load because the kernel i built has a slighty different version string. Installing and booting with the new kernel solved the module load error. So now I have what seems like a working module for my DVB-T adapter :)
     
  5. centro001

    centro001 New Member

    Joined:
    Apr 4, 2014
    Messages:
    2
    Likes Received:
    0
    Hi

    I gave this a crack but came unstuck., managed to get the kernal_unico, but wasn't sure what needed to be edited in the makefile.

    Anyone willing to do a bit of a cheat guide (i.e. step by step) on how to install the kernel headers?

    Thanks
     
  6. habusho

    habusho New Member

    Joined:
    Aug 15, 2014
    Messages:
    4
    Likes Received:
    0
    I'd love a guide to installing the linux headers correctly too.
     
  7. flipsa

    flipsa New Member

    Joined:
    Jan 14, 2014
    Messages:
    17
    Likes Received:
    0
    jas-mx's post is the way to go! see this for additional info: https://www.kernel.org/doc/Documentatio ... nstall.txt

    so, in a nutshell, if you do this on the udoo itself, first change into the kernel sources directory e.g. "/usr/src/Kernel_Unico" and then issue the following command to extract the header files:

    Code:
    make headers_install ARCH=arm INSTALL_HDR_PATH=/usr/include
    You can actually leave out the INSTALL_HDR_PATH if you don't intend to change it, because it defaults to "/usr/include".

    if you cross-compile on another machine/architecture you will have to setup a cross compilation environment first, but that's way more complicated, so i'll not cover that here (google "cross compile for arm" or something, you'll get good results but there are different ways to go about this...)
     

Share This Page