This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Invalid module format

what does invalid module format means? and how can I fix it?

 

Tue Dec 21 17:30:00 UTC 2010                                                   
Configuring update-modules                                                     
NET: Registered protocol family 10                                             
INIT: Entering runlevel: 5                                                     
Starting telnet daemon.                                                        
Starting syslogd/klogd: done                                                   
Starting thttpd.                                                               
                                                                               
 _____                    _____           _         _                          
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_                        
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|                       
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|                         
              |___|                    |___|                                   
                                                                               
Arago Project http://arago-project.org dm365-evm ttyS0                         
                                                                               
Arago 2009.11 dm365-evm ttyS0                                                  
                                                                               
dm365-evm login: root                                                          
root@dm365-evm:~# cd /opt/gstreamer_demo/dm365/                                
root@dm365-evm:/opt/gstreamer_demo/dm365# ./loadmodules.sh                     
cmemk: disagrees about version of symbol module_layout                         
insmod: error inserting 'cmemk.ko': -1 Invalid module format                   
irqk: disagrees about version of symbol module_layout                          
insmod: error inserting 'irqk.ko': -1 Invalid module format                    
edmak: disagrees about version of symbol module_layout                         
insmod: error inserting 'edmak.ko': -1 Invalid module format                   
dm365mmap: disagrees about version of symbol module_layout                     
insmod: error inserting 'dm365mmap.ko': -1 Invalid module format               
BusyBox v1.13.2 (2010-12-21 16:29:09 IST) multi-call binary                    
                                                                               
Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR                                   
                                                                               
Create a special file (block, character, or pipe)                              
                                                                               
Options:                                                                       
        -m      Create the special file using the specified mode (default a=rw)
TYPEs include:                                                                 
        b:      Make a block device                                            
        c or u: Make a character device                                        
        p:      Make a named pipe (MAJOR and MINOR are ignored)                
                                                                               
root@dm365-evm:/opt/gstreamer_demo/dm365#

  • Andre Bella said:

    cmemk: disagrees about version of symbol module_layout                        
    ...
    irqk: disagrees about version of symbol module_layout                         
    ...
    edmak: disagrees about version of symbol module_layout                        
    ...
    dm365mmap: disagrees about version of symbol module_layout                    
    ...


    Your issue is indicated in the these prints.
    It means that the modules you are trying to insert were not built with the kernel version you are using on the board.
    Solution could be either of following:
    1) Build these modules again - this time with the kernel version that you are booting.
    2) Revert back to the older kernel that matches the one used to build these modules.
    Before anyone points out, there is another "unsafe" method, that I am specifically not listing here.

  • Thanks for your reply  Sanjeev, I'm using this kernel and filesystem

    http://arago-project.org/files/releases/davinci-psp_03.01.01.38/images/dm365-evm/

    because it supports the 5MP sensor

    but the tutorial for the Gstreamer I guess is using an older kernel

    http://processors.wiki.ti.com/index.php/DMAI_GStreamer_Plug-In_Getting_Started_Guide#Building_DM365_kernel.2C_DVSDK.2C_and_GStreamer_software_.28DVSDK_3.10.00.19.29

    how can I build the modules for the newest kernel?

    what I did is download the DVSDK and the GStreamer pluging from the tutorial site and the kernel and filesystem from the arago site, I dont want to go to the old kernel so what would be the option number 1 and the "unsafe" method? thanks.

     

     

     

  • Andre Bella said:
    how can I build the modules for the newest kernel?


    Each module would have their own build options. I believe DVSDK had a top level makefile that eases the rebuild process. You may wan to check the documentation.
    Andre Bella said:
    what I did is download the DVSDK and the GStreamer pluging from the tutorial site and the kernel and filesystem from the arago site, I dont want to go to the old kernel so what would be the option number 1 and the "unsafe" method?

    Unsafe method is really unsafe - usually used only during development. Kernel can be compiled to ignore the version mismatch and continue loading the modules. In controlled env this can work - but when working across multiple kernel versions changes in the data structures, static inlines, build flags etc. can corrupt the running system leading to random crashes.

  • Thanks Serkeev, this is what I used to create build the Gstreamer for the latest filesystem

    cd $HOME/gst-ti-plugin-full-1.02.00
    make DVSDK_INSTALL_DIR=$HOME/dvsdk/dvsdk_3_10_00_19 TARGET_ROOT_DIR=$HOME/install/dm365_fs PLATFORM=dm365 all install

    I look at the makefile and it does not say anything about the kernel version,
    also where did you download manual, everything I seen are getting starter guide that are less than 30 pages
    do you know what files I have to configure/modified so the GStreamer would work with the latest kernel and filesystem?

    Regards,
    Andre

  • The Makefile may not have information about the kernel version - but to the directory containing the kernel sources.

    Before building gstreamer, you should try to build the modules like cmemk, irqk edmak and dm365mmap. Since you have changed the kernel version, I think you'd need to repeat all the steps... including building of kernel.

    See: http://processors.wiki.ti.com/index.php/DMAI_GStreamer_Plug-In_Getting_Started_Guide#Building_DM365_kernel.2C_DVSDK.2C_and_GStreamer_software_.28DVSDK_3.10.00.19.29

    In the instructions, i did not see some of the modules explicitly getting built/ installed. But I'd assume that they are being created and installed implicitly.

    where did you download manual

    I didn't! Infact I haven't even seen a DM365EVM. All I have shared with you is general linux - applies universally.

  • Thanks Sanjeev but I'm still having problems with those GStreamer modules they work with the kernel 2.6.32-rc2-davinci1 but they dont work with the kernel 2.6.32.17-davinci1, any ideas where I can make the changes so when I build those gstreamer modules by running this command

    make DVSDK_INSTALL_DIR=$HOME/dvsdk/dvsdk_3_10_00_19 TARGET_ROOT_DIR=$HOME/install/dm365_fs PLATFORM=dm365 all install

    or how can I configure because it works fine with kernel & filesystem  2.6.32-rc2-davinci1 but when I'm using kernel & filesystem 2.6.32.17-davinci1 I get those errors I posted in the begining

  • I guess you need to find where/how the kernel sources are being references during the build.

    Is there a Rules.make (or similar) in the top level DVSDK directory? It should have a variable pointing to location of the kernel sources.