E9天嵌i.mx6q的nfs和tftp环境搭建
2015-09-19 16:14
567 查看
硬件环境:E9卡片fressscal的i.mx6q,天嵌开发板
软件环境:ubuntu12.04
目的:
1.实现E9卡片i.mx6q的tftp下载uImage,从下载的uImage中加载内核,然后nfs挂载到虚拟机
2.实现E9卡骗i.mx6q从mmc中读取uImage,启动内核,然后nfs挂载到虚拟机。
两种方式提高嵌入式开发效率,一种方式是内核和文件经常修改时使用
另一种方式是当内核不改,文件系统经常修改时使用,也可以内核下载,文件系统不挂载
一.ubuntu12.04安装tftp客户端,tftpd服务端用于下载uImage
1.安装
apt-install tftp tftpd openbsd-inetd
2.建立tftp下载的目录tftpboot
mkdir /tftpboot
拷贝uImage到/tftpboot下
chmod 777 /tftpboot/* -R
3.修改tftpd服务器配置文件
vi /etc/inetd.conf
添加如下内容
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
4.重启改服务
/etc/init.d/openbsd-inetd restart
in.tftpd -l /tftpboot
5.测试是否成功
echo 'ad' >/tftpboot/hello
tftp 127.0.0.1
tftp>get hello
到此tftpd服务器配置完毕
二.安装nfs服务
1.安装
apt-get install nfs-kernel-server
2.创建开发板挂载目录
mkdir -m 777 /opt/
3.将文件系统放在/opt/下即挂载目录为/opt/rootfs
4.设置nfs配置文件
vi /etc/exports
添加如下内容
/opt/rootfs *(subtree_check,rw,no_root_squash,async)
5.重启服务
/etc/init.d/nfs-kernel-server restart
6.测试是否成功
mkdir /mnt/nfs
mount 127.0.0.1:/opt/rootfs/ /mnt/nfs -t nfs
查看nfs的内容是否和rootfs一样
然后卸载nfs
umount /mnt/nfs
三.开发板E9设置
本质上都是uboot,不同的开发板使用uboot都差不多,都是那套,虽然E9没有教材告诉你怎么使用nfs,tftp,设置参数什么的,其实都差不多,只是天嵌封装了一下,是uboot更友善些
开发板信息
##### Boot for IMX6 Main Menu #####
[1]boot from emmc
[2]boot from sdcard
[3]boot from tftp
[5]download from sdcard
[0]setting boot args
[q]exit to command mode
Enter your selection: q
MX6Q SABRESD U-Boot > pri
将信息打印出来,大概了解下天嵌开发人员设置的uboot流程,不难发现规律。
设置如下
方式一实现uImage下载,文件系统挂载:
只需要按照提供的序号逐步实现就可以了
方式二实现uImage从mmc读取加载,文件系统挂载:
需要自己设置参数
在“MX6Q SABRESD U-Boot >”下执行如下命令(ubuntu的ip为117,开发板为58)
1.设置启动参数
setenv bootargs console=ttySAC0,115200 ${displayArgs} root=/dev/nfs ip=192.168.1.58 fec_mac=12:32:43:34:21:40 nfsroot=192.168.1.117:/opt/rootfs,v3,tcp
2.设置启动流程
setenv myargs mmc dev 3\; mmc read ${loadaddr} 0x800 0x3000\; bootm
3.set bootcmd run myargs
4.save
5.run myargs
6.将文件系统中/etc/init.d/rcS中的“net_set &”
修改为“#net_set &”这句是设置开发板ip用的,会出问题
至此tftp和nfs的开发环境搭建完成
软件环境:ubuntu12.04
目的:
1.实现E9卡片i.mx6q的tftp下载uImage,从下载的uImage中加载内核,然后nfs挂载到虚拟机
2.实现E9卡骗i.mx6q从mmc中读取uImage,启动内核,然后nfs挂载到虚拟机。
两种方式提高嵌入式开发效率,一种方式是内核和文件经常修改时使用
另一种方式是当内核不改,文件系统经常修改时使用,也可以内核下载,文件系统不挂载
一.ubuntu12.04安装tftp客户端,tftpd服务端用于下载uImage
1.安装
apt-install tftp tftpd openbsd-inetd
2.建立tftp下载的目录tftpboot
mkdir /tftpboot
拷贝uImage到/tftpboot下
chmod 777 /tftpboot/* -R
3.修改tftpd服务器配置文件
vi /etc/inetd.conf
添加如下内容
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
4.重启改服务
/etc/init.d/openbsd-inetd restart
in.tftpd -l /tftpboot
5.测试是否成功
echo 'ad' >/tftpboot/hello
tftp 127.0.0.1
tftp>get hello
到此tftpd服务器配置完毕
二.安装nfs服务
1.安装
apt-get install nfs-kernel-server
2.创建开发板挂载目录
mkdir -m 777 /opt/
3.将文件系统放在/opt/下即挂载目录为/opt/rootfs
4.设置nfs配置文件
vi /etc/exports
添加如下内容
/opt/rootfs *(subtree_check,rw,no_root_squash,async)
5.重启服务
/etc/init.d/nfs-kernel-server restart
6.测试是否成功
mkdir /mnt/nfs
mount 127.0.0.1:/opt/rootfs/ /mnt/nfs -t nfs
查看nfs的内容是否和rootfs一样
然后卸载nfs
umount /mnt/nfs
三.开发板E9设置
本质上都是uboot,不同的开发板使用uboot都差不多,都是那套,虽然E9没有教材告诉你怎么使用nfs,tftp,设置参数什么的,其实都差不多,只是天嵌封装了一下,是uboot更友善些
开发板信息
##### Boot for IMX6 Main Menu #####
[1]boot from emmc
[2]boot from sdcard
[3]boot from tftp
[5]download from sdcard
[0]setting boot args
[q]exit to command mode
Enter your selection: q
MX6Q SABRESD U-Boot > pri
将信息打印出来,大概了解下天嵌开发人员设置的uboot流程,不难发现规律。
设置如下
方式一实现uImage下载,文件系统挂载:
只需要按照提供的序号逐步实现就可以了
方式二实现uImage从mmc读取加载,文件系统挂载:
需要自己设置参数
在“MX6Q SABRESD U-Boot >”下执行如下命令(ubuntu的ip为117,开发板为58)
1.设置启动参数
setenv bootargs console=ttySAC0,115200 ${displayArgs} root=/dev/nfs ip=192.168.1.58 fec_mac=12:32:43:34:21:40 nfsroot=192.168.1.117:/opt/rootfs,v3,tcp
2.设置启动流程
setenv myargs mmc dev 3\; mmc read ${loadaddr} 0x800 0x3000\; bootm
3.set bootcmd run myargs
4.save
5.run myargs
6.将文件系统中/etc/init.d/rcS中的“net_set &”
修改为“#net_set &”这句是设置开发板ip用的,会出问题
至此tftp和nfs的开发环境搭建完成
相关文章推荐
- windows下安装php性能分析工具XHProf
- 解决phpcms 后台更新提交更新目录出现PHP has encountered a Stack overflow错误
- Yii的where方法使用大全
- getAttribute()和getParameter()方法区别
- php设置时区和获取当前时间
- Php防跨站分析
- php获取客户端真实IP 防止代理和作弊
- php获得ip地址
- Ubuntu 上安装ftp服务器 vsftpd
- EditPlus常用快捷键
- Yii Framework2.0开发教程(5)数据库mysql性能
- getAttribute 和 getParameter的区别
- php基础------SESSION
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。
- php各类hash算法长度及性能
- Yii:数组存储
- 关于PHPExcel类占用内存问题
- TP框架中分页类的使用
- js ,php 等方法获取当前窗口URL
- PHP数据存储与检索