嵌入式系统内核镜像相关(八)
·
前言
打算让开发板和主机以及外部网站实现通信。
一、基础配置
1.1 主机侧网络配置
首先将开发板上的网口通过usb连接到主机上。
随后将主机上的wifi按照下述箭头步骤修改配置,目标是与开发板共享主机的网段。
1.2 开发板侧网络配置
完成1.1后,按照下述步骤在开发板侧完成网段配置,参考了这个链接:
root@zynq7035_sd:~# ifconfig eth0 192.168.137.30 up
root@zynq7035_sd:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:1E:53
inet addr:192.168.137.30 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::20a:35ff:fe00:1e53/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2202 (2.1 KiB) TX bytes:2610 (2.5 KiB)
Interrupt:30 Base address:0xb000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@zynq7035_sd:~# route add default gw 192.168.137.1
root@zynq7035_sd:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:1E:53
inet addr:192.168.137.30 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::20a:35ff:fe00:1e53/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2202 (2.1 KiB) TX bytes:2900 (2.8 KiB)
Interrupt:30 Base address:0xb000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
然后配置DNS服务器,如下:
root@zynq7035_sd:~# vi /etc/resolv.conf
root@zynq7035_sd:~# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
然后可以和百度ping一下:
root@zynq7035_sd:~# ping www.baidu.com
PING www.baidu.com (103.235.46.115): 56 data bytes
64 bytes from 103.235.46.115: seq=0 ttl=48 time=227.265 ms
64 bytes from 103.235.46.115: seq=2 ttl=48 time=215.983 ms
64 bytes from 103.235.46.115: seq=5 ttl=48 time=214.476 ms
64 bytes from 103.235.46.115: seq=7 ttl=48 time=217.828 ms
64 bytes from 103.235.46.115: seq=10 ttl=48 time=218.512 ms
64 bytes from 103.235.46.115: seq=13 ttl=48 time=222.289 ms
64 bytes from 103.235.46.115: seq=16 ttl=48 time=215.562 ms
64 bytes from 103.235.46.115: seq=19 ttl=48 time=223.114 ms
64 bytes from 103.235.46.115: seq=20 ttl=48 time=212.965 ms
64 bytes from 103.235.46.115: seq=22 ttl=48 time=215.304 ms
64 bytes from 103.235.46.115: seq=23 ttl=48 time=221.614 ms
64 bytes from 103.235.46.115: seq=25 ttl=48 time=210.926 ms
64 bytes from 103.235.46.115: seq=31 ttl=48 time=216.700 ms
64 bytes from 103.235.46.115: seq=36 ttl=48 time=218.378 ms
64 bytes from 103.235.46.115: seq=41 ttl=48 time=218.318 ms
64 bytes from 103.235.46.115: seq=44 ttl=48 time=209.853 ms
64 bytes from 103.235.46.115: seq=48 ttl=48 time=203.057 ms
64 bytes from 103.235.46.115: seq=60 ttl=48 time=218.471 ms
没出现问题!
二、和主机之间的通信
狭义地说,只实现主机通过网线和开发板之间互相传输文件。
这个早在之前的Yolov4与ZYNQ一章中就已提及,但那一章的方法不支持和外部网站之间的通信。
沿用一中的配置,打开ssh的窗口后设置remote host为开发板端的IPv4网段,如下:
然后为了测试本地和开发板端之间可以传输文件,本地放了文件名为a的txt文档,可以通过鼠标挪动文件的方式传入开发板。
效果如下:
上图同时演示了从主机传输文件到开发板端,以及从开发板端传输文件到主机。
尽管能完成以上操作,但ping主机没有成功,很费解。出现的情况如下:
root@zynq7035_sd:~# ping 192.168.137.1
PING 192.168.137.1 (192.168.137.1): 56 data bytes
^C
--- 192.168.137.1 ping statistics ---
110 packets transmitted, 0 packets received, 100% packet loss
不过还是满足需求了,先不管那个了,等我后面计算机网络的知识学完了回过头来再看看!
三、和外部网站之间的通信
参考一中ping百度的操作。
能ping通外部网站的好处可太多了,开发板端本地编译如果要下载文件可以自动联网下载!
三年前试过这个操作,但忘记了,于是还是写到博客里面记录一下流程,便于后续查阅。
四、开机时未发现inet的解决方案
开机自启动后的输出:
...
Starting internet superserver: inetd.
Starting syslogd/klogd: done
Starting tcf-agent: OK
PetaLinux 2019.1 proj_peta /dev/ttyPS0
proj_peta login: root
Password:
root@proj_peta:~# ls
root@proj_peta:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:1E:53
inet6 addr: fe80::20a:35ff:fe00:1e53/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1408 (1.3 KiB) TX bytes:1380 (1.3 KiB)
Interrupt:30 Base address:0xb000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
很明显,没有出现IPv4,怎么办?(此时的状态是:开发板和主机之间已经使用串口、网线连接,但尚未配置主机的网络共享)
我的解决方案是:先按照一配置完主机的网络共享,在配置的过程中,开发板端的输出如下:
macb e000b000.ethernet eth0: link down
macb e000b000.ethernet eth0: link up (1000/Full)
macb e000b000.ethernet eth0: link down
macb e000b000.ethernet eth0: link up (1000/Full)
随后:
root@proj_peta:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:1E:53
inet addr:192.168.137.4 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::20a:35ff:fe00:1e53/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:57 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5606 (5.4 KiB) TX bytes:7916 (7.7 KiB)
Interrupt:30 Base address:0xb000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@proj_peta:~# route add default gw 192.168.137.1
## DNS已经配置好了,可以cat看看
root@proj_peta:~# cat /etc/resolv.conf
domain mshome.net
nameserver 192.168.137.1
## ping百度试试
root@proj_peta:~# ping www.baidu.com
PING www.baidu.com (180.101.49.44): 56 data bytes
64 bytes from 180.101.49.44: seq=0 ttl=51 time=20.088 ms
64 bytes from 180.101.49.44: seq=1 ttl=51 time=21.352 ms
64 bytes from 180.101.49.44: seq=2 ttl=51 time=21.145 ms
64 bytes from 180.101.49.44: seq=3 ttl=51 time=26.002 ms
64 bytes from 180.101.49.44: seq=4 ttl=51 time=22.302 ms
^C
--- www.baidu.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 20.088/22.177/26.002 ms
## ping主机试试
root@proj_peta:~# ping 192.168.137.1
PING 192.168.137.1 (192.168.137.1): 56 data bytes
^C
--- 192.168.137.1 ping statistics ---
11 packets transmitted, 0 packets received, 100% packet loss
总结
完成网络配置,以实现主机端和开发板端的文件互传以及开发板端的联网下载。
更多推荐
所有评论(0)