Hi, 

Indeed kernelkit seems a good alternative to cross compile the kernel source. 
I've burnt a bootable CD of kernelkit. But when I booted from CD and tried to 
use it to compile the kernel source in my hard disk I always got the errors 
like "Read only file" for those files in the hard disk, and the procedure 
terminated. It is obvious I might not have the right such as write to the hard 
disk files, but after I mounted the hda1 device (or my directory in it) to a 
temporary directory of kernelkit root, I still cannot compile. How could I 
compile the kernel source in the hard disk with bootable kernelkit CD? 

And, how could I configure the kernelkit internet configuration so that I can 
access wireless internet through this OS? Many thanks. 

-Michael

Subject: RE: problem on building a new linux kernel
Date: Thu, 8 May 2008 09:32:58 +0100
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [email protected]










Hi,
 
There is nothing in my .bashrc file other than adding 
Java runtime to my PATH.
 
>From what I have found on this subject (via google) the 
'include_next' appears to be a toolchain problem. In this case it is the host 
toolchain (ubuntu) that is the cause. Does ubuntu have a second toolchain for 
building kernels? (I only mention this because Redhat used to ship an (older) 
gcc for kernel building whilst the newer gcc was for system packages. This was 
several years ago - it might have been in the transition from gcc 3.x -> 
4.x).
 
Here is something you can try....
 
Michael Opdenacker at Free Electrons does Linux 
training courses (very good - highly recommended). As part of this he has 
'spun' 
a special version of Knoppix with all the 'fluff' taken out and lots of 
development tools put in place. If you download his CD image & boot from it 
you should have a development system that is capable of building a kernel. (The 
CD has ARM emulators/compilers - all part of the training & makes the 
training material available as well (creative commons 
license)).
 
See http://free-electrons.com/community/tools/kernelkit/
 
Download the latest version 0.6.1. 
 
You should be able to build a kernel without touching 
your ubuntu installation - if it all works out you should be able to install 
his 
Knoppix if you want to & then install the Davinci tools/LSP & have a 
development box up & running really quickly.
 
 
Regards
 
Phil Q
 
Phil Quiney, Senior Software 
Engineer
Trinity Convergence
Cambridge Business Park
Cowley Road
Cambridge CB4 0WZ, UK
T: 
+44(0)1223-435536
F: +44(0)1223-435560
www.trinityconvergence.com

 



From: YangZhijun [mailto:[EMAIL PROTECTED] 

Sent: 07 May 2008 22:25
To: Phil Quiney; 
[email protected]
Subject: RE: problem on 
building a new linux kernel





Thanks, Phil, 

I checked my /usr/include/limits.h, which seems 
exactly the same as yours (see attached). The problem is in line 125:26: 
error: no include path in which to search for limits.h. Probably it is about 
the 
notorious  '#include_next'. 

I think you are right - the Ubuntu 
limits.h is trying to load another file of the same name and it is this file 
that cannot be found.  In our case, 
(Ubuntu) linux should have a search path list for header files in which the 
compiler can search for another limits.h  in the next  head file 
directory.  AFAIK  /usr/include and /usr/local/include  are 
two  default  header  file dirs in the search list. Besides  
these I have to use either command line option (like -I /head/file/dir) or 
include in the .bashrc like the following C header path to expand the search 
list,

C_INCLUDE_PATH=/opt/gdbm-1.8.3/include 
export 
C_INCLUDE_PATH

Should this thought make sense, since  there are 
so many  different limits.h files in the kernel tree, please can you advise 
me what header path is included in your .bashrc file (as it seems you did not 
use -I option in the command line) so that I can include that also. 
Thanks.

Michael




  
  Subject: RE: problem on building a new linux kernel
Date: Wed, 7 May 2008 
  11:37:08 +0100
From: [EMAIL PROTECTED]
To: 
  [EMAIL PROTECTED]; [email protected]


  
  

  Hi,
   
  Compiling on the target should be possible but 
  very slow. When on the target you need to remember that you are no longer 
  cross compiling. This does assume that the NFS file system is 'sane' as far 
as 
  'gcc' is concerned, it is ceratinly big enough at over 1G (for an embedded 
  system).
   
  The only reason for the [EMAIL PROTECTED] 
  linux-2.6.10_mvl401]#.  prompt was I happened to be 
  logged into the host where I was preparing a custom set of kernel modules 
  & device files for inclusion into a root filesystem (produced by 
  DevRocket). I need to be root to get the permissions right on the target 
  files. You should be able to build the kernel & modules as non-root 
  although installing the modules requires root permission to chown the files 
to 
  uid:0 gid:0 before using them.
   
  Very rarely do you gain much by re installing in 
  the Linux world. If the machine boots you should be able to add/remove 
  packages with the package management tools that the Linux distribution has. 
  The *buntu series has one of the better tools for doing this - you need the 
  'package manager' rather than 'add/remove software'. AFAIK it is the same 
tool 
  with a different 'view'
   
  I would fire it up and make sure that you have 
  installed all the relavant 'devel' packages, particularly 'glibc-headers' 
  (that is the Fedora/Redhat name). That should put the host header files 
  under /usr/include. I don't understand why your build is failing - it would 
  seem to be finding the files...in that it references line numbers within 
  limits.h for example. It is the 'no include path' bit I don't get - being 
that 
  /usr/include is *the* well known path for include files. It could be a 
partial 
  install of gcc??
   
  Have a look in /usr/include/limits.h to see what 
  it is complaining about. I have attached the Fedora 8 version for comparison 
- 
  I think you will find the Ubuntu limits.h is trying to load another file of 
  the same name and it is this file that cannot be found.
   
  If you decide to switch to Fedora, I would either 
  wait for Fedora 9 to be officially released, use Fedora 8 or given you are 
  effectively building a server try CentOS.
   
  Regards
   
  Phil Q
   
  Phil Quiney, Senior Software 
  Engineer
Trinity Convergence
Cambridge Business Park
  Cowley Road
  Cambridge CB4 0WZ, UK
T: 
  +44(0)1223-435536
F: +44(0)1223-435560
  www.trinityconvergence.com

   

  
  
  From: YangZhijun [mailto:[EMAIL PROTECTED] 
  
Sent: 07 May 2008 10:43
To: Phil Quiney; 
  [email protected]
Subject: RE: problem 
  on building a new linux kernel


  Thanks Phil, 

I checked the hidden files in my /workdir/lsp 
  directory, a copy dir of the  MV  LSP in my home  dir.  
  There are  .mvl_cross_compile, .mvl_target_cpu and  
  .mvl_target_installdir already in the dir which contain  
  arm_v5t_le-,  arm  and  arm/v5t_le  respectively. I then 
  use


  
  make mrproper
It seems 
  this make does some cleaning things all right. But still I got the following 
  errors when I compile,

[EMAIL PROTECTED]:~/workdir/lsp/ti-davinci$ 
  make V=1 davinci_dm355_evm_defconfig
make -f 
  scripts/Makefile.build obj=scripts/basic
  gcc 
  -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wstrict-prototypes -O2 
  -fomit-frame-pointer         -o 
  scripts/basic/fixdep scripts/basic/fixdep.c
In file included 
  from scripts/basic/fixdep.c:113:
/usr/include/limits.h:125:26: 
  error: no include path in which to search for limits.h
In file 
  included from 
  /usr/include/bits/socket.h:31,
                 
  from 
  /usr/include/sys/socket.h:35,
                 
  from 
  /usr/include/netinet/in.h:24,
                 
  from 
  /usr/include/arpa/inet.h:23,
                 
  from scripts/basic/fixdep.c:115:
/usr/include/limits.h:125:26: 
  error: no include path in which to search for 
  limits.h
make[1]: *** [scripts/basic/fixdep] Error 
  1
make: *** [scripts_basic] Error 2

I saw you compiled 
  with a command line prompt like, [EMAIL PROTECTED] 
  linux-2.6.10_mvl401]#.  I'm wondering if I should 
  compile in the console emulation window connecting to the EVM board via RS232 
  with my prompt '[EMAIL PROTECTED]' (i.e., target $ in the guide), and use the 
  workdir which has subdirs of filesys and lsp as the shared file system. But 
if 
  my gcc package has any bug, then I don't think I can pass compilation even 
  using shared file system. 

I am using Ubuntu linux 7.04, I did not 
  perceive any mis-operation in my last installation but do you think it help 
if 
  I re-install ubuntu or another linux such as Fedora 9 Beta? Any suggestions 
  would be appreciated.

Cheers,

Michael 



  
    
    Subject: RE: problem on building a new linux kernel
Date: Tue, 6 May 2008 
    14:11:15 +0100
From: [EMAIL PROTECTED]
To: 
    [EMAIL PROTECTED]; [email protected]


    

    Hi
     
    Can you do the following at the top of your 
    kernel source tree.....
     
    echo 'arm_v5t_le-' > 
    .mvl_cross_compile
    echo 'arm' > 
    .mvl_target_cpu
    echo 'arm/v5t_le' > 
    .mvl_target_installdir
    make mrproper
    make V=1 
    davinci_dm355_evm_defconfig
     
    The 'echo' commands set up the tree so you no 
    longer need to specify ARCH= & CROSS_COMPILE= options. MV added this to 
    the Makefile so might as well use it. 
     
    The V=1 increases verbosity of the kernel 
    build. This should give more information as to what is going 
    wrong
     
    My guess is there is something wrong with 
    your host tools (that is native gcc for the PC). The host compiler is 
needed 
    even when cross compiling so that the kernel configuration menus can be 
    built.
     
    For reference my kernel tree does 
    this.....
     
    [EMAIL PROTECTED] linux-2.6.10_mvl401]# make V=1 
    davinci_dm355_evm_defconfig
make -f scripts/Makefile.build 
    obj=scripts/basic
  gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall 
    -Wstrict-prototypes -O2 -fomit-frame-pointer 
    -I/opt/mv_pro_4.0.1/montavista/pro/bin//../include        
    -o scripts/basic/fixdep scripts/basic/fixdep.c
     
    for the file you were having problems 
    with.

    Regards
     
    Phil Q
     
     
    Phil Quiney, Senior Software 
    Engineer
Trinity Convergence
Cambridge Business Park
    Cowley Road
    Cambridge CB4 0WZ, UK
T: 
    +44(0)1223-435536
F: +44(0)1223-435560
    www.trinityconvergence.com

     

    
    
    From: 
    [EMAIL PROTECTED] 
    [mailto:[EMAIL PROTECTED] On Behalf 
    Of YangZhijun
Sent: 04 May 2008 17:45
To: 
    [email protected]
Subject: problem on 
    building a new linux kernel


    Dear All,

When following the getting started guide of 
    DM355 DVEVM to build a new linux kernel, 
after entering, 

$ make 
    ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm355_evm_defconfig

I got 
    the following errors,

  
    HOSTCC  scripts/basic/fixdepIn file 
    included from scripts/basic/fixdep.c:113:/usr/include/limits.h:125:26: 
error: no include 
    path in which to search for limits.hIn file 
    included from /usr/include/bits/socket.h:31,                 
    from /usr/include/sys/socket.h:35,
                 
    from /usr/include/netinet/in.h:24,                 
    from /usr/include/arpa/inet.h:23,                 
    from scripts/basic/fixdep.c:115:/usr/include/limits.h:125:26: error: no 
include 
    path in which to search for limits.hmake[1]: *** 
    [scripts/basic/fixdep] Error 1make: *** [scripts_basic] Error 2
Any suggestions about this pr oblem? Thanks. 
    

Michael


    
    “七件武器,七种完美” 立刻体验! 
  

  
  用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息! 



用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息! 

_________________________________________________________________
用手机MSN聊天写邮件看空间,无限沟通,分享精彩!
http://mobile.msn.com.cn/
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to