The postinst script tries parsing the wireless MAC address from the sysfs, and in case of failure, obtains a random string from /dev/urandom. This caused two problems when booting with systemd: * The wifi interface's sysfs entry is not available because the interface hasn't had time to start up yet, forcing the script to always resort to the /dev/urandom fallback. * Even though the postinst scripts are run after populating the volatile filesystems (as can be seen in run-postinsts.service's dependencies), trying to read either /dev/random or /dev/urandom at this point in the system's initialization causes it to lock up indefinitely. To avoid either situation, add the following changes: * Immediately exit when running on a non-wireless target, as the script isn't necessary in this use case. * Parse the wireless mac address from /proc/device-tree/wireless, which is guaranteed to always be available when the script runs. By doing this, we can remove the /dev/urandom fallback entirely. https://jira.digi.com/browse/DEL-6415 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com> |
||
|---|---|---|
| .. | ||
| bluez | ||
| cherokee | ||
| dhcp | ||
| hostapd | ||
| libmbim | ||
| libqmi | ||
| mbedtls | ||
| modemmanager | ||
| networkmanager | ||
| openssl | ||
| packagegroups | ||
| ppp | ||
| vsftpd | ||
| wpa-supplicant | ||