imx6ull开发环境之系统安装 请参考:https://www.cnblogs.com/gxlblogs/p/14382547.html
在嵌入式开发过程中,不管是内核还是应用,自然不是每次更改都需要像单片机开发那样烧录进去运行,而通常我们使用的是tftp&nfs的方式,在kernel起来之后会挂载我们的server上的nfs网络文件系统,而我们新编译的可执行文件,可直接反应到开发板上的nfs上,直接执行即可,大大方便了开发并节省了时间,所以tftp和nfs的环境搭建是十分有必要的。
一、yum源配置
1、这里我们使用本地源(即cdrom),有兴趣的也可以配置在线源(参考网上教程),首先在虚拟机虚拟光驱选择镜像iso文件;
2、创建目录:
cd ~
sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom/
cd /mnt/cdrom中可以看到Packages等目录以及一些文件即为挂载成功
3、配置yum源:
sudo vi /etc/yum.repos.d/rh_cdrom.repo 写入以下内容,保存退出
[cdrom]
name=cdrom_local
baseurl=file:///mnt/cdrom
enable=1
gpgcheck=0
二、安装配置tftp
1、如果未安装xintd则先安装sudo yum install xinetd
2、安装tftp:sudo yum install tftp
3、安装tftp-server:sudo yum install tftp-server.x86_64
4、配置tftp-server
sudo vi /etc/xinetd.d/tftp将disable的yes改为no,并指定tftp目录
5、启用xinetd
sudo systemctl restart xinetd.service
sudo systemctl enable xinetd.service
6、测试tftp
echo "test" > ~/tftp/a.txt
cd ~
tftp 192.168.3.252
tftp> get a.txt
tftp> quit
cat a.txt显示test即为配置成功(如果失败检查配置文件,检查防火墙是否关闭、检查selinux是否关闭)
三、安装配置nfs
1、如果未安装则先进行安装:sudo yum install nfs-utils rpcbind
2、创建rootfs目录
mkdir ~/rootfs
sudo chmod 777 ~/rootfs
2、修改配置文件:
sudo vim /etc/exports并写入:/home/gxl/rootfs *(rw,async,no_root_squash) -- 注意不要在*(中间或其他位置随意加空格
3、启用服务
sudo systemctl restart rpcbind.service
sudo systemctl restart nfs-server.service
sudo systemctl enable rpcbind.service
sudo systemctl enable nfs-server.service
4、测试
mkdir ~/workdir/rootfstest
sudo mount -t nfs -o rw 192.168.3.252:/home/gxl/rootfs /home/gxl/workdir/rootfstest/
如可看到rootfstest目录与~/rootfs目录同步即成功
取消挂载:sudo umount ~/workdir/rootfstest/
以上,tftp以及nfs已经安装并配置成功,后面通过修改uboot参数即可从tftp中加载内核和设备树,以及内核启动起后直接挂载网络文件系统。