General Network Settings

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.

DHCP / Static IP addresses

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

WiFi

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.