前言

前序内容使用licheepi nano 连接到了PC,可以和PC互相ping通,现在要进一步来连接外网,以期望完成更多的操作。


一、准备操作

首先在内核中开启RNDIS,具体操作请看之前的文章点击跳转。然后将g_ether.ko找到

二、链接外网步骤

1.安装g_ether驱动

在pi中执行如下命令:

modprobe g_ether

在这里插入图片描述

2.修改ip

pc地址找到对应网卡,并设置为一组自己选定的网段,我这里为192.168.1.1
在这里插入图片描述
在这里插入图片描述
然后设定pi的网卡ip为192.168.1.2,确保和上述pc处于同一网段,然后执行

ping 192.168.1.1

在这里插入图片描述
在这里插入图片描述
可以ping通pc

3.连接外网

子网掩码和网关配置:目前只配置了 IP 地址,为了使设备能够与同一子网内的其他设备以及外部网络进行通信,还需要配置子网掩码和网关。可以使用以下命令来配置子网掩码和网关:

sudo ifconfig usb0 netmask 255.255.255.0
sudo route add default gw 192.168.5.101

使用 route -n 命令查看当前的路由表,确认默认网关是否正确配置
然后在pc上设置该网段可以转发

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.5.0/24

然后在开发板可以看到ping通外网了!(110.242.68.66为某一网络地址)
在这里插入图片描述

4.进一步配置DNS

但是这仅仅是能ping通外网,要想ping baidu.com,需要设置域名服务器,也就是dns:

检查 DNS 配置:查看 /etc/resolv.conf 文件,确认其中配置的 DNS 服务器地址是否正确。例如:
cat /etc/resolv.conf
配置公共 DNS 服务器:可以使用公共 DNS 服务器,如 Google 的 8.8.8.8 和 8.8.4.4 或阿里云的 223.5.5.5 和 223.6.6.6。将以下内容添加到 /etc/resolv.conf 文件中:
nameserver 8.8.8.8
nameserver 8.8.4.4

5.使用外网(debian系统)

通过apt-get安装gcc

apt-get install gcc

在这里插入图片描述
执行 apt-get install gcc 命令时出现错误,提示无法分配内存以及无法解析或打开软件包列表文件,这通常是由于系统内存不足或者软件包列表文件损坏导致的。
依次执行如下指令:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

在这里插入图片描述
再次执行apt-get,可以看到可以下载了!

6.licheepi nano镜像源选择(debian系统)

使用apt-get的过程中要选择对应的源才能下载软件,我使用的是debian 10的根文件系统,要找到armel架构(licheepi nano的架构)的源,这个也浪费了一段时间,因此记录下来。

通过在网页中查看发现有armel架构
http://mirrors.huaweicloud.com/debian-archive/debian

在这里插入图片描述
然后将/etc/apt/sources.list文件中的其他都删除掉

vi /etc/apt/sources.list
// 替换为如下代码:
deb http://mirrors.huaweicloud.com/debian-archive/debian buster main xxx也可以加一些别的,具体的他应该会从源中找软件

在这里插入图片描述

总结

虽然能链接外网了,但在使用apt-get命令的时候感觉到很慢很慢很慢,倒还不如在构建根文件系统的时候就把需要的软件下载好,可以可以剩下一部分时间:)

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐