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.

DM355 Linux kernel Compile

Other Parts Discussed in Thread: CSD

Hi,

Now I am trying to compile the Linux kernel for DM355. when i fire the make command, console shows the unlimited following lines. I followed the DM355 starter manual.

& change setting in Rules.make but it did't compile.

 

make[7]: *** [modules] Interrupt
make[6]: *** [modules] Interrupt
make[5]: *** [modules] Interrupt
make[4]: *** [modules] Interrupt
make[3]: *** [modules] Interrupt
make[2]: *** [modules] Interrupt
make[1]: *** [release] Interrupt
make: *** [/home/arvind/dvsdk_1_30_01_41/cmem_2_00_01/packages/ti/sdo/linuxutils/cmem/src/module] Interrupt

How to compile the kernel.

Arvind

  • I would check two things.

    1) There is a minor mistake in step 4.5.4 of the Getting Started Guide (GSG).  It should read

       host $ cd ti-davinci

    instead of host $ cd ti-davinci/linux-2.6.10_mvl401

    2) Make sure you type the right build command into the linux prompt (se GSG)

       host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm355_evm_defconfig

       host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage

       host $ make ARCH=arm CROSS_COMPILE=arm_v5t_le- modules

    If it is only the last command that is failing, then you probrably have your PATH variable set correctly and this is a command line mistake; otherwise, I would ensure thhe PATH is set correctly (e.g. we you able to successfully complete hello program per GSG).

  • Also note that the next command in the "Getting Started Guide" to copy the newly created uImage to the /tftpboot directory  was pointed to the wrong directory to find the new uImage and should be:

    host $ cp /opt/mv_pro_4.0.1/montavista/pro/devkit/lsp/t-davinci/arch/arm/boot/uImage  /tftpboot

  • Juan - On a similar note when re-building the linux kernel. I'm trying to rebuild the DVEVM Software for the Target (Section4.6 of the GSG)

    I have edited the Rules.make file accordingly, but when i execute the "make" command, the routine finds an error in the dvsdk_1_30_00_23/demos/utils/smooth directory, in which the smooth.c file cannot locate the asm/arch/dm355_ipipe.h file. I know I'm using the older dvsdk that came with the EVM, but is this a know issue with just this version of the dvsdk and the 1_30_00_41 version will fix this.  Here is a log file of the error for your reference.

    Making all in subdirectory smooth...

    make[3]: Entering directory `/home/dvsdk/dvsdk_1_30_00_23/demos/utils/smooth'

    Compiling debug/smooth.o from smooth.c..

    smooth.c:12:34: asm/arch/dm355_ipipe.h: No such file or directory

    smooth.c: In function `Smooth_config':

    smooth.c:50: error: storage size of 'params' isn't known

    smooth.c:56: error: `IPIPE_SET_PARAM' undeclared (first use in this function)

    smooth.c:56: error: (Each undeclared identifier is reported only once

    smooth.c:56: error: for each function it appears in.)

    smooth.c:61: error: `IPIPE_GET_PARAM' undeclared (first use in this function)

    smooth.c:66: error: `SDRAM_YUV' undeclared (first use in this function)

    smooth.c:73: error: `DIVIDE_SIXTH' undeclared (first use in this function)

    smooth.c:75: error: `YUV2YUV' undeclared (first use in this function)

    smooth.c:88: error: `ENABLE' undeclared (first use in this function)

    smooth.c:89: error: `DISABLE' undeclared (first use in this function)

    smooth.c:50: warning: unused variable `params'

    smooth.c: In function `Smooth_execute':

    smooth.c:114: error: storage size of 'convert' isn't known

    smooth.c:117: error: `IPIPE_BUF_IN' undeclared (first use in this function)

    smooth.c:122: error: `IPIPE_BUF_OUT' undeclared (first use in this function)

    smooth.c:127: error: `IPIPE_START' undeclared (first use in this function)

    smooth.c:114: warning: unused variable `convert'

    make[3]: *** [debug/smooth.o] Error 1

    make[3]: Leaving directory `/home/dvsdk/dvsdk_1_30_00_23/demos/utils/smooth'

    make[2]: *** [smooth] Error 2

    make[2]: Leaving directory `/home/dvsdk/dvsdk_1_30_00_23/demos/utils'

    make[1]: *** [utils] Error 2

    make[1]: Leaving directory `/home/dvsdk/dvsdk_1_30_00_23/demos'

    make: *** [demos] Error 2

     

     

  • I have not tried dvsdk_1_30_00_23, but can confirm that 1_30_00_41 does not have this issue; that is what I use on a daily basis.

  • Am I also required to update the lsp and/or flash_image? Or can I just update the dvsdk to 1_30_01_41?

  • Nathan,

    DVSDK releases normally include everything you need (linux kernel, file system, codec engine, toolchains, other software components) and is tested to ensure it all works together. 

    LSP is a single component within DVSDK which includes Linux Kernel... you can choose to update LSP (or any other software component) individually ar update it via one of our DVSDK releases.  If you update any software component individually, you must carefully read the release notes to ensure compatibility (can become a long process of updating multiple components).  Personally, I always recommend customers stick to official DVSDK releases to avoid software compatibility issues; once you get thru Getting Started Guide on a DVSDK release, you should be good to go.

  • The updated LSP allowed me to compile the new kernel. I updated the dvsdk to the 1_30_01_41 version, but the DEVM was unable to be rebuild to the target system without updateing the xdc to the xdc_setuplinux_3_00_02_14.bin version first.

    For future reference: All software (DVSDK, XRC, LSP, EVM Flash Image, dvsdk u-Image, and the A/V Data) must be updated to follow the newest "Getting Started Guide" The only software that doesn't need the updated is the "Demonstration Version of Montavista Linux 4.0.1 System Tools and Target File System". 

    Thanks

  • Hi, I have a problem building the kernel. I'm following instructions in the Getting Started Guide spruf73a section 4.5 (noting the comment above about the incorrect directory specified in 4.5.4).

    I created the local copy of the kernel files as suggested in the instructions, but when it comes to building I'm getting an error. By the way, my own application software builds fine and executes on the EVM.

    Trying to build the kernel:

    [steve@localhost ti-davinci]$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm355_evm_defconfig
      HOSTCC  scripts/basic/fixdep
    /bin/sh: gcc: command not found
    make[1]: *** [scripts/basic/fixdep] Error 127
    make: *** [scripts_basic] Error 2

    It's as though the command line args ARCH and CROSS_COMPILE are not being used by the make, maybe one clue is the CROSS_COMPILE arg did not get prepended to the 'gcc', so giving a command not found error?

    Is there something else, or maybe I'm not using the right version of make? - the 'which' and 'make -v' and compiler paths are shown below:

    [steve@localhost ti-davinci]$ which make                                
    /opt/mv_pro_4.0.1/montavista/common/bin/make                                     

    [steve@localhost ti-davinci]$ make -v
    GNU Make 3.80
    Copyright (C) 2002  Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    [steve@localhost ti-davinci]$ which arm_v5t_le-gcc
    /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc

    PATH=/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_4.0.1/montavista/pro/bin:/opt/mv_pro_4.0.1/montavista/common/bin:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin/:/usr/lib/qt4/bin:/home/steve/bin

  • I believe you also need some tools on your host to do the build in addition to the tools included with the DVSDK software package, I believe the tool it is looking for here is the host's gcc, you may have to install this based on your host distribution's instructions. I am curious what host Linux distribution you are using?

  • Hi Bernie, you were right on the mark, it was because gcc wasn't installed on the host PC (running Mandriva 2009), thanks for that. I didn't realise the make would want to compile a utility for execution on the host itself. I downloaded gcc and the build works, I do get some compiler warnings though, would these normally be expected?

    [steve@localhost ti-davinci]$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm355_evm_defconfig                                                     
    lex.zconf.c:2972: warning: ‘input’ defined but not used                          
    drivers/mmc/Kconfig:66:warning: defaults for choice values not supported         

    [steve@localhost ti-davinci]$ make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage                                                                  
    scripts/genksyms/lex.c:1230: warning: ‘input’ defined but not used               
    scripts/kallsyms.c: In function ‘read_symbol’:                                   
    scripts/kallsyms.c:152: warning: pointer targets in assignment differ in signedness                                                                                
    scripts/kallsyms.c:153: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness                                                            
    kernel/softirq.c: In function `ksoftirqd':                                       
    kernel/softirq.c:410: warning: unused variable `param'                           
    kernel/intermodule.c:178: warning: `inter_module_register' is deprecated (declared at kernel/intermodule.c:38)
    kernel/intermodule.c:179: warning: `inter_module_unregister' is deprecated (declared at kernel/intermodule.c:78)
    kernel/intermodule.c:182: warning: `inter_module_put' is deprecated (declared at kernel/intermodule.c:159)
    fs/exec.c: In function `de_thread':
    fs/exec.c:668: warning: implicit declaration of function `msleep'
    drivers/char/keyboard.c:1015:2: warning: #warning "Cannot generate rawmode keyboard for your architecture yet."
    drivers/mmc/mmc.c: In function `mmc_decode_cid':
    drivers/mmc/mmc.c:460: warning: left shift count >= width of type
    drivers/mmc/mmc.c:464: warning: left shift count >= width of type
    drivers/mmc/mmc.c:467: warning: left shift count >= width of type
    drivers/mmc/mmc.c:481: warning: left shift count >= width of type
    drivers/mmc/mmc.c:485: warning: left shift count >= width of type
    drivers/mmc/mmc.c:500: warning: left shift count >= width of type
    drivers/mmc/mmc.c:504: warning: left shift count >= width of type
    drivers/mmc/mmc.c:506: warning: left shift count >= width of type
    drivers/mmc/mmc.c: In function `mmc_decode_csd':
    drivers/mmc/mmc.c:544: warning: left shift count >= width of type
    drivers/mmc/mmc.c:578: warning: left shift count >= width of type
    drivers/mmc/mmc_block.c: In function `mmc_blk_issue_rq':
    drivers/mmc/mmc_block.c:201: warning: `req' is deprecated (declared at include/linux/mmc/mmc.h:63)
    net/ipv6/ip6_output.c: In function `ip6_forward_proxy_check':
    net/ipv6/ip6_output.c:536: warning: label `drop' defined but not used
    net/xfrm/xfrm_policy.c: In function `__xfrm_policy_check':
    net/xfrm/xfrm_policy.c:974: warning: 'pol' might be used uninitialized in this function

  • Steve,

    We do see a few warnings (not many) when building as well, mostly from source code native to the kernel (not TI specific as you can see from your log above), hence there is not much we can do about it.  Just wanted to confirm we also see warnings.