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