For networking, our yocto images are currently (status: March 2023) using systemd-networkd which can be quite cumbersome for users without experience. The following tutorials are covering the most important basic network settings.
In order to enable DHCP or set a static IP address please refer to the systemd-networkd documentation linked above. In case you have configured the IP address being provided as a static IP address by the DHCP server via the system's MAC address and the system does not get the according IP address from the DHCP server, it may be caused by the way some Linux distributions are announcing themselves on the network (UID vs. MAC address), which can be resolved as described here:
[DHCP] ClientIdentifier=mac
Setting up a WiFi connection on a specific WiFi network interface (wlan0
-interface on the following example) can be done as shown on the following BeagleBoneBlue Yocto image example:
Edit the following file:
nano /etc/wpa_supplicant.conf
Outcomment the existing and paste the following new content as follows:
#ctrl_interface=/var/run/wpa_supplicant #ctrl_interface_group=0 #update_config=1 # network={ key_mgmt=WPA-PSK ssid="<myWiFiSSID>" psk="<myWiFiPassword>" }
Save the file and exit the editor.
Now edit the following file…
nano /etc/systemd/network/30-wlan0.network
…and add the following content:
[Unit] Description=Start udhcpc DHCP client After=wpa_supplicant.service Wants=wpa_supplicant.service [Service] Type=oneshot ExecStart=/sbin/udhcpc -i wlan0 TimeoutSec=30 Restart=on-failure [Install] WantedBy=network.target
Save the file and quit the editor.
Now rename the following file so it will not be used by the system anymore:
mv /etc/network/interfaces /etc/network/interfaces.bak
Finally reboot the system:
reboot
WiFi should work now.