imx8qm xen 虚拟网卡

本文详细介绍了在imx8qm平台上使用Xen虚拟化技术启动Linux和Android系统,并实现两者间的网络通信的过程。文章分享了解决网络不通问题的经验,包括去除TJA1100驱动、配置虚拟网卡及必要的网络参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几经周折,终于可以在这里写下这篇文章,记录一下在imx8qm中使用xen启动Linux和Android系统,并使用网络进行通信,参考了下面这篇文章https://blog.csdn.net/u011784994/article/details/106767143

在参考的这篇文章中,我按照他的步骤完成linux网络的配置,他在配置Android网络的时候是配置的eth0

看到eth0,我以为要把网络接口配置到domU,也就是Android系统那里去,才能生成eth0接口,于是,按照这个思路就迎来了第一个问题

1 配置网络接口到Android系统

之前已经进行过资源的分配工作,所以在这里花费的时间并不是很多,就把网络接口配置到Android系统中,并在启动之后成功生成eth0设备节点,但是,还是Android并不能Ping通linux

在思索了很久后,决定先查看官方的设备树配置,发现官方的domU设备树并没有配置网络接口fec的相关内容,所以,上面那个做法可能是不对的,于是把设备树还原了回去

还原回去,默认是在linux这端产生的eth0节点,但是,通过查看系统log,可以看出eth0是由TJA1100网络芯片注册所产生的节点,它是一个真实的物理设备,但是,Linux和Android进行通信绝不是使用物理网卡进行通信的

以为只有一个网卡,所以要使用虚拟网卡进行通信,

2 去掉linux中的TJA1100驱动

有了上面这个想法之后,于是把Linux中的TJA1100驱动去掉,再次编译,生成通用网络设备的eth0 ,这样可以了, 启动Android系统,可以看到Android这边生成了用于通信的eth0虚拟网卡,

所以,eth0是虚拟出来的,不是物理设备

3 配置

Linux 网络配置

insmod /lib/modules/4.14.98-imx_4.14.98_2.0.0_ga+gc15de6e/kernel/drivers/net/xen-netback/xen-netback.ko
 
insmod /lib/modules/4.14.98-imx_4.14.98_2.0.0_ga+gc15de6e/kernel/net/802/stp.ko
 
insmod /lib/modules/4.14.98-imx_4.14.98_2.0.0_ga+gc15de6e/kernel/net/bridge/bridge.ko

brctl addbr br0
 
ip link set br0 up
 
ifconfig br0 10.10.10.5 netmask 255.255.255.0

Android网络配置

 ip rule add from all lookup main pref 0

 ifconfig eth0 xxxxxx

配到一个网段下面,就可以ping通Linux了

在这个过程中,碰到很多问题,去nxp官方论坛上面去找,但是关于xen的部分内容非常少,但是,找到了一个文档,i.MX Virtualization User's Guide,虽然比较简短,但还是非常有帮助的

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值