Hi,
Thanks for your suggestion. Now I can configure the kernel using the DaVinci
defaults, and enable the Montavista default kernel options, i.e., step 3 and 4
in the getting started guide sec.4.5. But I encounter another problem when I
tried to compile the kernel (I wish it be the last problem for me to get
started:-),
[EMAIL PROTECTED]:/media/hda1/home/zyang1/workdir/lsp/ti-davinci$ make ARCH=arm
CROSS_COMPILE=arm_v5t_le- uImage CHK include/linux/version.h UPD
include/linux/version.h SYMLINK include/asm -> include/asm-arm HOSTCC
scripts/basic/fixdep HOSTCC scripts/basic/split-include HOSTCC
scripts/basic/docproc SPLIT include/linux/autoconf.h -> include/config/*
HOSTCC scripts/genksyms/genksyms.o SHIPPED scripts/genksyms/lex.c SHIPPED
scripts/genksyms/parse.h SHIPPED scripts/genksyms/keywords.c HOSTCC
scripts/genksyms/lex.o SHIPPED scripts/genksyms/parse.c HOSTCC
scripts/genksyms/parse.o HOSTLD scripts/genksyms/genksyms CC
scripts/mod/empty.o/bin/sh: arm_v5t_le-gcc: command not foundmake[2]: ***
[scripts/mod/empty.o] Error 127make[1]: *** [scripts/mod] Error 2make: ***
[scripts] Error 2
It might be that I compile from kernelkit, and the ubuntu linux root dir is now
in /media/hda1, is it? I remember you suggested me to install/copy lsp after
running kernelkit. I did not do that, instead, I used my already installed lsp
and made a copy to the lsp subdir of workdir, as in step 2 of 4.5, after that
I booted from kernelkit from CD and did the above compilation. Not sure if it
makes problem. Any more suggestion on tackling it? Thanks a lot.
-Michael
Subject: RE: problem on building a new linux kernel
Date: Mon, 12 May 2008 08:27:41 +0100
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [email protected]
Hi,
I
think that Knoppix by default mounts the hard disks as 'read only'. If you
right
click on the desktop icon for the disk there should be an option to mount
read/write.
Failing that you can study 'mount' options and do it
manually, something like 'mount -o remount,rw /dev/hda1' assuming your
partition
is /dev/hda1. I have only ever used the kernelkit with Fedora boxes
(when Michael was here doing the courses for us) and they use LVM to manage the
partitions which needs manual intervention to start the volume manager so
Knoppix can then mount the resulting logical partition.
As far
as wireless support goes, I have no idea. If the wireless chipset has Linux
support (& you had it working in Ubuntu) you may need to do some digging to
find which kernel module supports it (do an 'lsmod' on the ubuntu box to get a
list). It may just be a case of loading the module manually in Knoppix. There
could be a problem if support for your wireless chipset was added recently
(that is the support is not in the Knoppix kernel).
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: 11 May 2008 10:28
To: Phil Quiney;
[email protected]
Subject: RE: problem on
building a new linux kernel
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 展示个性自我,与好友分享生活! 了解更多信息!
Windows Live Writer,支持离线撰写博客内容,随时随地想写就写。 立即使用!
_________________________________________________________________
多个邮箱同步管理,live mail客户端万人抢用中
http://get.live.cn/product/mail.html_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source