Hi
Since a network card normally has only one IP, nfs and tftp server have
got the same. I think the problem is somewhere else.
So I would recommend to
- double check the filename/path settings for the kernel image in UBoot
- check whether the tftp server is running correctly and offering a tftp
folder cat /proc/tftpd (or something similar)
- check whether your firewall is open for tftp since this is not
standard (if you are working on a gui desktop system you can easily use
yast (for Suse) or other system configuration tools)
Andre
YangZhijun schrieb:
Thanks Phil,
After correct the PATH in my .bashrc, I successfully built the new Linux
kernel, and hence completed section 4.5 at page 4-13 of the getting started
guide. I got the boot file, uImage. I then installed the tftp package for
ubuntu according to David Sudjiman's guide at
http://www.davidsudjiman.info/2006/03/27/installing-and-setting-tftpd-in-ubuntu/
I used %sudo netstat -uap to test, I got,
-----------------------------------------------------------------------
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 *:32768 *:* 5173/avahi-daemon:
udp 0 0 *:nfs *:* -
udp 0 0 *:32770 *:* -
udp 0 0 *:32771 *:* 5631/rpc.statd
udp 0 0 *:bootpc *:* 6128/dhclient
udp 0 0 *:bootpc *:* 5863/dhclient3
udp 0 0 *:tftp *:* 5620/xinetd
udp 0 0 *:719 *:* 5631/rpc.statd
udp 0 0 *:mdns *:* 5173/avahi-daemon:
udp 0 0 *:sunrpc *:* 4456/portmap
udp 0 0 *:1021 *:* 5509/rpc.mountd
----------------------------------------------------------------------------
Which means that tftp is working in my machine.
However, when I followed section 4.7 at page 4-15 to try to use the new kernel
to boot the board, after I set the four environmental variables as required I
got,
-------------------------------------------------
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 52
*** Unhandled DHCP Option in OFFER/ACK: 52
DHCP client bound to address 192.168.1.136
TFTP from server 192.168.1.207; our IP address is 192.168.1.136
Filename '�'.
Load address: 0x80700000
Loading: *
TFTP error: 'No such file or directory' (0)
--------------------------------------------------------
I used my NFS IP address, 192.168.1.207, as the tftp server IP address. I am not sure if it is right or not, and this is the only possibility that I think might lead to the above problem.
Does anyone knows how to identify the installed tftp server IP address? Thanks
a lot.
-Michael
Subject: RE: problem on building a new linux kernel
Date: Wed, 14 May 2008 14:48:20 +0100
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [email protected]
Hi
this looks like a PATH issue.
To build things you need to add both
<install_dir>/montavista/pro/devkit/arm/v5t_le/bin
and <install_dir>/montavista/pro/bin
to your PATH variable. Here '<install_dir>' is
wherever the installation of the MV tools appears to the kernel kit (physically
it is on your Ubuntu partition). You need to find where the partition is mounted
when running the kernelkit. The command 'df' may help
here.
The first path is the compiler, the second is needed
for other tools such as 'mkimage'.
You can test it is working by typing 'which
arm_v5t_le-gcc' and 'which mkimage'. 'which' should return a path to the command
rather than saying 'no mkimage in .......'
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: 13 May 2008 22:00
To: Phil Quiney;
[email protected]
Subject: RE: problem on
building a new linux kernel
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,支持离线撰写博客内容,随时随地想写就写。 立即使用!
用 Windows Live Spaces 展示个性自我,与好友分享生活! 了解更多信息!
_________________________________________________________________
多个邮箱同步管理,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