在 RaspberryPi 4 运行 Yocto 图像上获取 IP 地址

Get IP address on RaspberryPi 4 running Yocto image

我按照 meta-raspberrypi 层 (https://github.com/agherzan/meta-raspberrypi) 中提供的说明,使用 bitbake 为我的 raspberry pi 4 开发板生成了一个 Linux 图像。我可以使用 FTDI USB 转 UART 电缆和主机上的 运行 minicom 连接到我的开发板。但是,我需要使用 SCP 将文件传输到我的主板。为此,我需要 IP 地址,当我在我的 RPi4 板上执行“ip a”命令时,我得到下面的输出,显示没有我可以使用的 IP 地址。你能提供一些指导吗?我需要在我的 conf 或 bblayers 文件中添加一些东西吗?

root@raspberrypi4-64:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq qlen 1000
    link/ether dc:a6:32:57:bb:1f brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether dc:a6:32:57:bb:21 brd ff:ff:ff:ff:ff:ff

由于 RaspberryPi 4 同时提供以太网和 WiFi 接口,您可以使用一个或另一个(或两者)连接到网络。

如果您有电缆连接到您的以太网端口,您只需要申请一个 DHCP 租约。你应该能够通过 运行ning udhcpc -i eth0 来做到这一点。如果 udhcpc 命令不可用,您将需要找到提供它的配方(虽然可能隐藏在 Busybox 配置文件中)或将任何其他 DHCP 客户端添加到您的映像。

如果您打算通过 WiFi 连接到您的网络,您需要先连接到网络,然后请求 DHCP 租约。前者可以用 wpa_supplicantconnmannmcli 等来完成。它们可能在您的图像中不可用,因此您需要先添加一个。要连接 wpa_supplicant,请执行以下操作:wpa_passphrase "<SSID>" > wpa.conf<SSID> 替换为您要连接的网络的 SSID(名称)。然后它将等待您输入该网络的密码。然后,运行wpa_supplicant -iwlan0 -cwpa.conf&。这将在后台启动连接。如果日志中的连接成功,您可以继续。然后,运行 udhcpc -iwlan0 获得 DHCP 租约,然后你就可以开始了!

如果您的网络上没有 DHCP 服务器(例如直接连接到您的主机),您需要手动分配一个 IP 地址,例如:ip addr add <IP addr> dev <iface><IP addr> 替换为有效的(与网络中的其他计算机在同一子网中)IP 地址(可能是它后面的子网?例如 192.168.1.153/24)和 <iface>eth0wlan0 .