您的位置:首页 > 编程语言 > PHP开发

Ubuntu 11.10下davinci开发平台搭建--nfs以及tftp配置

2013-03-08 10:33 423 查看
nfs安装配置
1、安装nfs服务版

$ sudo apt-get install nfs-kernel-server

2、修改nsf配置文件

$ sudo vi /etc/exports

在文件中添加nfs的目录格式如下

/opt/nfs_dm6467 *(rw,sync,no_subtree_check,no_root_squash)

注释:“/opt/nfs_dm6467”是NFS服务器的主目录,注意目录的权限

     “*”表示所有的IP都可以访问NFS主目录

     “rw”表示可读可写

     ”no_root_squash“表示登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限

     “sync”表示同步
参考链接:ubuntu 11.10 配置nfs--http://blog.csdn.net/ypist/article/details/7088214
存盘退
3、在根目录下建立nsf的目录

$ mkdir /opt/nfs_dm6467
4、重新启动nfs

$ sudo /usr/sbin/exportfs -av

exportfs: scandir /etc/exports.d: No such file or directory  --貌似这个问题没有太大的影响,不行就直接sudo mkdir /etc/exports.d创建一个文件夹即可

exporting *:/opt/nfs_dm6467
$ sudo /etc/init.d/nfs-kernel-server restart

5. 本地nfs测试:

sudo mkdir /mnt/nfs                                                        --在/mnt下创建nfs目录

sudo touch /opt/nfs_dm6467/nfstest                              --在/opt/nfs_dm6467目录下创建一个文件nfstest

sudo mount -t nfs localhost:/opt/nfs_dm6467 /mnt/nfs   --将主机/nfs目录挂载到/mnt/nfs下

sudo ls /mnt/nfs/                                                                --查看/mnt/nfs/目录下有nfstest文件

sudo umount /mnt/nfs/                        --测试完后卸载掉
6. 远程nfs测试
假设nfs主机的ip为192.201.0.8
在测试机上键入命令:

$sudo mkdir /mnt/nfs

$sudo mount -t nfs 192.201.0.8:/opt/nfs_dm6467 /mnt/nfs 

mount: wrong fs type, bad option, bad superblock on 192.201.0.8:/opt/nfs_dm6467,

       missing codepage or helper program, or other error

       (for several filesystems (e.g. nfs, cifs) you might

       need a /sbin/mount.<type> helper program)

       In some cases useful info is found in syslog - try

       dmesg | tail  or so

 $ sudo apt-get install nfs-common          -- Fixed by installing nfs-common

$ sudo mount -t nfs 192.201.0.8:/opt/nfs_dm6467 /mnt/nfs         
tftp安装配置

1. 安装tftp所需的软件
首先需要安装tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入
sudo apt-get install tftp-hpa tftpd-hpa
然后还需要安装xinetd,在终端下输入
sudo apt-get install xinetd

2. 配置相关服务文件
进入根目录下的etc文件夹

$ cd /etc/
首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:

# Simple configuration file for xinetd 



# Some defaults, and include /etc/xinetd.d/ 

defaults 



# Please note that you need a log_type line to be able to use log_on_success ont-size: 12pt; "> # log_type = SYSLOG daemon info 



includedir /etc/xinetd.d
3. 配置tftp服务器
$ sudo vim /etc/default/tftpd-hpa

将内容修改成

# /etc/default/tftpd-hpa 

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot" 

#这是你tftp服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为777,命令sudo chmod 777 /tftpboot

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"
4. 配置xinetd.d
进入xinetd.d文件夹
$ cd /etc/xinetd.d
查看是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
service tftp

{

socket_type = dgram

wait = yes

disable = no

user = root

protocol = udp

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot

#log_on_success += PID HOST DURATION

#log_on_failure += HOST

per_source = 11

cps =100 2

flags =IPv4

}
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的

5. 修改所需文件夹的权限
需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件夹/tftpboot。
以我的配置文件为例,创建一个文件夹:
$ sudo mkdir /tftpboot
然后把它可以设置成访问权限最宽松的
$ sudo chmod 777 /tftpboot
也可以设置成合适的权限。

6. 重新启动服务
$ sudo service tftpd-hpa restart
这也是我经常疏忽的一步,当配置好tftp的配置文件后,需要重新启动一下xinetd
$ sudo /etc/init.d/xinetd reload,重新加载一下进程,再输入
$ sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需要重新启动一下服务。

执行次序:

$ sudo service tftpd-hpa restart

$ sudo /etc/init.d/xinetd reload

$ sudo /etc/init.d/xinetd restart

总结:

通过以上四步就可以建立好tftp服务器了,可以在本地先进行一下测试。
还是以我的配置文件为例,首先在/tftpboot中新建一个文件file,然后在其中随便输入内容;
然后进入一个不是/tftpboot的目录下(原因是避免混淆,因为在获取文件是,默认是将想要获取的文件存放在当前目录下的);
$ cd ~
再在终端中输入:
$ sudo tftp localhost
进入tftp命令符下(可以在其中输入help查看命令和命令的作用),输入:
tftp> get file
如果没有任何提示,就说明传输成功了,然后输入 q 退出tftp命令符,在当前目录下就可以看到一个file文件,内容是与开始新建的那个file的内容是一致的。
同样也可以在tftp命令符中输入:
put xx
把xx文件上传到服务器文件夹中。如果一切ok,那就么一个可用的tftp服务器就顺利搭建成功了。

对于上面的测试是针对本地测试的,如果想要对其他电脑或者开发板进行tftp传输,则在终端输入:
$ sudo tftp xxx(即目标电脑或目标开发板的ip地址),而且还要关闭ubuntu自带的防火墙(书上说的)
$ sudo ufw disable
,我是直接把防火墙给卸载了
$ sudo apt-get remove iptables速冻
因为我觉得对于Linux来说,防火墙可能没什么需要把,至少目前为止我还没有受到过攻击。。。当然,想要与其他局域网内的电脑或开发板互联进行传输,还要将这些机器的ip改到同一个段内。好了,通过以上的步骤,就可以通过tftp协议,在电脑和开发板之间进行文件传输了,目前的目的就是下载Linux内核和文件系统到开发板。如果有朋友发现了我的不足,都可以给我提出来,我们也可以进行讨论。不过还要强调一点,我的这些配置都是针对于ubuntu的,对于其他的系统可能会有所出入的。
http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html

问题整理:
1. 内核能够加载,但在挂载文件系统时候出现问题

rtc-pcf8563 1-0051: low voltage detected, date/time is not reliable.

rtc-pcf8563 1-0051: retrieved date/time is not valid.

rtc-pcf8563 1-0051: hctosys: invalid date/time

eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, id=4061e4)

IP-Config: Complete:

     device=eth0, addr=192.201.0.10, mask=255.255.255.0, gw=192.201.0.254,

     host=192.201.0.10, domain=, nis-domain=(none),

     bootserver=192.201.0.8, rootserver=192.201.0.8, rootpath=

Looking up port of RPC 100003/2 on 192.201.0.8

PHY: 1:00 - Link is Up - 100/Full

Looking up port of RPC 100005/1 on 192.201.0.8

VFS: Mounted root (nfs filesystem) on device 0:14.

Freeing init memory: 136K
内核启动在这里停止,没有任何输出
参考链接:http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/t/5841.aspx
问题出在文件系统部分,在使用TI提供的DVSDK时,内核要和响应的文件系统对应,我们的内核目前需要用mv_pro_5.0(而不是mv_pro_4.0,切记!)

bbs$ cd /opt

bbs$ sudo makdir /nfs_dm6467

bbs$ sudo cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* /opt/nfs_dm6467/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu nfs tftp
相关文章推荐