Imx6ull 开发板通过Uboot使用网络启动系统
tftp服务端环境配置
1、安装tftp服务端程序
sudo apt-get install tftp-hpa tftpd-hpa
2、配置tftp服务
zh@zh-lpc:~$ sudo vi /etc/default/tftpd-hpa
3、修改如下:
# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/zh/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
4、启动tftp服务
zh@zh-lpc:~$ sudo /etc/init.d/tftpd-hpa start
Starting tftpd-hpa (via systemctl): tftpd-hpa.service.
zh@zh-lpc:~$
5、创建测试文件
zh@zh-lpc:~$ mkdir /home/zh/tftpboot
zh@zh-lpc:~$ touch /home/zh/tftpboot/test.txt
zh@zh-lpc:~$
6、进入Uboot命令行界面
7、配置ip地址和服务器的ip地址
设置自己的板子在Uboot的时候的ip地址;
所以这个ip是在自己局域网内必须是唯一的
。
setenv ipaddr 192.168.1.99
设置服务器的ip,后期tftp需要从这个ip去下载文件;
所以这个ip是tftp服务器的ip
。
setenv serverip 192.168.1.100
设置完之后,记得进行保存,不然重启后就没了
saveenv
技巧:
如果你回车就继续执行上一步的命令的花,你就按Ctrl+C即可。
8、测试是否可以把文件下载下来
出现下面这个状态的时候,说明成功了
=>
=> tftp test.txt
Using ethernet@020b4000 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.99
Filename 'test.txt'.
Load address: 0x80800000
Loading: #0 Bytes/s
done
通过网络启动内核
在imx6ull中直接执行run netboot
:
可以看到并未成功,显示没有这些文件,所以我们先去准备这些文件。一共需要两个:
- 1、
zImage
- 2、
100ask_imx6ull-14x14.dtb
=> run netboot
Booting from net ...
Using ethernet@020b4000 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.99
Filename 'zImage'.
Load address: 0x80800000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
Using ethernet@020b4000 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.99
Filename '100ask_imx6ull-14x14.dtb'.
Load address: 0x83000000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
Bad Linux ARM zImage magic!
=>
准备好两个文件
zh@zh-lpc:~$ ls ~/tftpboot/ -lah
总用量 8.6M
drwxrwxr-x 2 zh zh 4.0K 9月 25 16:58 .
drwxr-xr-x 22 zh zh 4.0K 9月 25 16:55 ..
-rw-r--r-- 1 zh zh 38K 9月 25 16:58 100ask_imx6ull-14x14.dtb
-rw-rw-r-- 1 zh zh 11 9月 25 16:34 test.txt
-rwxrwxr-x 1 zh zh 8.5M 9月 25 16:55 zImage
zh@zh-lpc:~$
再次执行成功了!
=>
=> run netboot
Booting from net ...
Using ethernet@020b4000 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.99
Filename 'zImage'.
Load address: 0x80800000
Loading: #############T ########T ####################################################################################################################################################################################################################################T ######T ##########T ##T #################################################################################################################################################################################################################################################################################################T ##################################################112.3 KiB/s
done
Bytes transferred = 8873336 (876578 hex)
Using ethernet@020b4000 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.99
Filename '100ask_imx6ull-14x14.dtb'.
Load address: 0x83000000
Loading: ###385.7 KiB/s
done
Bytes transferred = 38370 (95e2 hex)
Kernel image @ 0x80800000 [ 0x000000 - 0x876578 ]
## Flattened Device Tree blob at 83000000Booting using the fdt blob at 0x83000000Using Device Tree in place at 83000000, end 8300c5e1
Modify /soc/aips-bus@02200000/epdc@0228c000:status disabled
ft_system_setup for mx6Starting kernel ...............省略[ 64.533635] Bluetooth: hci0: Failed to load rtl_bt/rtl8723b_config.bin
[ 64.540244] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin
[ 64.546857] bluetooth hci0: Falling back to user helper
[ 110.083855] VFS: Unable to mount root fs via NFS, trying floppy.
[ 110.093753] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 110.102127] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 125.973127] Bluetooth: hci0: Failed to load rtl_bt/rtl8723b_fw.bin
[ 163.472993] random: crng init done
可以看到走到这里,就不往下走了
错误原因是,我们并没有制作rootfs,也就是文件系统。
我的根文件系统:
这里就不在这里啰嗦了,如果不会制作,可以参考我的本系列的下一篇文章。制作根文件系统,将会在下一篇文章中写。
zh@zh-lpc:~/100ask_imx6ull-sdk/Buildroot_2019.02/output/target$ pwd
/home/zh/100ask_imx6ull-sdk/Buildroot_2019.02/output/target
zh@zh-lpc:~/100ask_imx6ull-sdk/Buildroot_2019.02/output/target$ ls
bin dev home lib32 linuxrc mnt proc run sys THIS_IS_NOT_YOUR_ROOT_FILESYSTEM usr
boot etc lib libexec media opt root sbin test.txt tmp var
zh@zh-lpc:~/100ask_imx6ull-sdk/Buildroot_2019.02/output/target$
我的根文件系统的路径:
/home/zh/100ask_imx6ull-sdk/Buildroot_2019.02/output/target
还需要开启nfs服务:
zh@zh-lpc:~$ cat /etc/exports
/home/zh *(rw,sync)
zh@zh-lpc:~$
启动:
/etc/init.d/nfs-kernel-server restart
启动nfs之后,可以用showmount命令查看本机,或者其他主机共享的文件:
zh@zh-lpc:~$ showmount -e
Export list for zh-lpc:
/home/zh *
zh@zh-lpc:~$
zh@zh-lpc:~$
zh@zh-lpc:~$
zh@zh-lpc:~$ showmount -e 192.168.1.100
Export list for 192.168.1.100:
/home/zh *
zh@zh-lpc:~$
在开发板中配置nfsroot的地址:
1、可以使用pri命令查看已有的环境变量。
2、关键的一条如下:
nfsroot=${serverip}:${nfsroot}
我们配置了serverip=192.168.1.100
没有配置nfsroot的环境变量。
所以需要配置一下。
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
3、配置nfsroot环境变量
记得保存哈
setenv nfsroot /home/zh/100ask_imx6ull-sdk/Buildroot_2019.02/output/target
saveenv
4、然后输入run netboot
命令进行重新从网络启动
run netboot
5、验证是否成功
成功后出现如图所示界面
输入df命令可以看到根目录是挂载上去的:
方便之处&测试
好处1:文件内容实时同步。
我们在pc机或自己的Linux虚拟机中在制作的根目录中创建一个简单的文件
zh@zh-lpc:~$
zh@zh-lpc:~$ echo "zhenghui haha" > /home/zh/100ask_imx6ull-sdk/Buildroot_2019.02/output/target/root/zhenghui.txt
zh@zh-lpc:~$
可以看到在开发板中就会立马同步了。
好处2:
修改了系统中的代码文件,只需要重启即可自动挂载执行新的代码程序。
Imx6ull 开发板通过Uboot使用网络启动系统相关推荐
- 北京迅为IMX6ULL开发板 DHT11网络编程实战练习
转自:[北京迅为i.mx6ull终结者开发板使用手册]第六十三章 QT 实战项目 硬件平台:IMX6ULL开发板 63.1 DHT11&网络编程实战练习 本项目为阶段性练习,内容简洁实用, ...
- 解决Windows无法NFS启动imx6ull开发板的问题
解决Windows无法NFS启动imx6ull开发板的问题 问题:有时候我们需要将Linux虚拟机里的文件复制到Windows里,并在Windows上通过haneWIN NFS server启动imx ...
- imx6ull开发板 通过usb网卡uboot ping通虚拟机和windows主机
1遇到的问题:直接烧录 uboot+kernel 启动后,手动配置开发板IP地址可以和windows主机linux虚拟机ping通,但是只烧录uboot后无法ping通linux虚拟机和windows ...
- tiny4412开发板实现uboot引导启动android 5.0.2系统
1目的 实现uboot引导启动android 5.0.2系统. 2 现有环境 友善之臂tiny 4412开发板,superboot引导启动android5.0.2系统,内核版本为linux3.0.8. ...
- 迅为IMX6ULL开发板Linux学习教程
1800+页使用手册(持续更新)+入门视频教程+实战视频教程 关注VX公众号:迅为电子 , 回复 :终结者,免费获取产品资料 让教程更细致,终结入门难! 所有教程由迅为原创,是迅为工作多年的工程师 ...
- Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...
- 03 TI OMAPL138E Linux移植 (Davinci) (资源获取+从串口启动UBoot+从网络启动Linux与文件系统)
Date: 2018-02-08 [1.从实际硬件上获取主芯片型号为TI的OMAPL138E ],所属系列为OMAPL1,编译默认配置为davinci或者da850. <以下内容失效>&l ...
- 在Ubuntu中搭建nfs服务,使用X210开发板在uboot中用nfs加载系统测试
1.注意事项 注意Winshared文件夹由于权限问题,不能作为服务器地址使用 2.安装相关应用 sudo apt-get install nfs-kernel-server,安装服务器 3.建立服务 ...
- Mastering Embedded Linux Programming 学习 (五)在百问网157开发板上,解决网络配置问题
Mastering Embedded Linux Programming 学习 (五)在百问网157开发板上,解决网络配置问题 思考.参考 搜索发现,需要配置设备树,参考这个链接 修改设备树 找到百问 ...
最新文章
- 疫情排查节时86%?不会代码也能玩转模型训练?腾讯大神揭秘语音语义及AutoML黑科技 | 内含福利...
- c#的chart标题_C#中CHART画图
- jsonp数据库拿数据到html页面,前端如何优雅的使用jsonp获取接口数据
- 十大python开发软件-5款开发安全、高质量代码的优秀Python工具
- 对Bridge模式的理解
- html Window与document区别(轉)
- 软件工程---2.软件过程
- python变量命名规则_Python教程第9篇:牢记Python变量命名5大规则
- Ubuntu快捷方式的描述
- 编程错题本——解析OpenWnn(1)命名问题
- 按季度分类汇总_1分钟实现:按某列内容分类汇总,分页打印 Excel 表格
- C和指针---读书笔记9
- 【转】用Terracotta实现Master-Worker
- 数据结构-----环形链表
- 在一起计时器_奇妙物理·高中篇:打点计时器基本介绍
- web前端-写给大家看的设计书-笔记-颜色运用-色轮使用
- php阴历阳历互转类(1900~2100年)
- jquery stop()方法的讲解使用
- 【机器学习中的数学】基函数与函数空间
- 基于Nginx以及web服务器搭建在线视频播放