首页 > 代码库 > EasyARM i.mx28学习笔记——安装和使用tftp
EasyARM i.mx28学习笔记——安装和使用tftp
0 前言
前段时间购买了周立功的EasyARM i.mx287开发板,加之前3个月工作内容也和linux有关,就借助周立功的EasyARM总结Linux开发过程中的若干注意点。
本文说明在ubuntu中安装tftp服务器的详细步骤,在ubuntu中编写一个让LED闪烁的脚本,使用串口登录EasyARM,在EasyARM中通过busybox的tftp指令获得主机中的脚本文件,增加可执行权之后运行,最终LED灯间隔闪烁。
1 安装tftp
【1】新建目录,并修改权限
在用户目录中新建一个名为tftpboot的文件夹,并修改权限。该目录中放置所有需通过tftp交换的文件,可称为tftp根目录。
mkdir tftpboot
chmod -R 777 tftpboot
【2】安装tftp、tftpd
开始安装之前,请先更新软件源
sudo apt-get update
安装tftp、tftpd和
sudo apt-get install tftpd tftp xinetd
其中tftp为客户端, tftp为服务器端,xinetd为linux超级守护进程。
【3】修改配置文件
在/etc/xinetd.d/下建立一个tftpd的配置文件
sudo vi /etc/xinetd.d/tftp
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/<user>/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
server_args = -s /home/<user>/tftpboot
指定tftp根目录,通过tftp交换的文件均放置于该目录中。
【4】重新运行xinetd
sudo /etc/init.d/xinetd restart
【5】检查配置成功
如下输出说明控制台工作正常
sudo netstat -a | grep tftp
# 返回结果,运行正常
udp 0 0 *:tftp *:*
2 使用tftp
【在ubuntu中】
【1】编写脚本——blink.sh
#!/bin/sh LEDFILE=/sys/class/leds/led-err/brightness for i in $( seq 1 10 ) do echo 1 >$LEDFILE sleep 1 echo 0 >$LEDFILE sleep 1 echo "LED Blink!" done
【2】复制到tftp根目录中
cp blink ~/tftpboot
【在EasyARM中】
【1】设置IP地址,并尝试ping通ubuntu
如果尚未设置IP地址,可通过ifconfig设置目标板的IP地址,需要保证目标板和虚拟机在同一个网段中。
ifconfig eth0 192.168.1.211
此时主机的IP地址为192.168.1.106,那么可在虚拟中尝试ping通主机
ping 192.168.1.106 -c 4
【2】获得文件
tftp -g -r blink.sh 192.168.1.106
【说明】
【1】EasyARM中采用BusyBox工具箱,该工具箱中的tftp指令和debian/ubuntu中的并不相同。
【2】-g 参数代表获得,-r参数代表远程主机,blink.sh为文件名,此时ARM和ubuntu主机中的文件名相同。192.168.1.106为tftp服务器地址。更多阅读参考资料【2】中的博文。
【3】修改执行权限并执行
chmod a+x blink.sh
./blink.sh
3 总结
【1】在ARM中busybox指令和ubuntu中的指令存在差异。
【2】tftp -g -r <File Name> <IP Address> 在ARM中获得远程主机中的文件。
4 参考资料
【1】Ubuntu下tftp服务搭建
【2】Busybox下tftp命令使用详解
【3】Shell脚本中循环语句for,while,until用法
【4】Linux 超级守护进程 xinetd
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。