E9天嵌i.mx6q的nfs和tftp环境搭建
硬件环境:E9卡片fressscal的i.mx6q,天嵌开发板软件环境:ubuntu12.04目的:1.实现E9卡片i.mx6q的tftp下载uImage,从下载的uImage中加载内核,然后nfs挂载到虚拟机2.实现E9卡骗i.mx6q从mmc中读取uImage,启动内核,然后nfs挂载到虚拟机。两种方式提高嵌入式开发效率,一种方式是内核和文件经常修改
·
硬件环境: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
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的开发环境搭建完成
更多推荐
已为社区贡献1条内容
所有评论(0)