In the 2019.1 release, when using Yocto or PetaLinux build with petalinux-image-full features enabled, booting with built images hangs without a successful Linux boot as it never reaches the login prompt.
This issue is observed in the 4.19 kernel and is due to net-snmp init-scripts.
When this script tries to run, it does not allow other init-scripts to execute.
Entropy is randomness collected by an operating system or an application for use in cryptography or other uses that require random data.
This randomness is collected from hardware sources such as keyboard timings, mouse movements and is passed to other processes through /dev/random or /dev/urandom.
Every Linux system during boot should have entropy, if not it will have a negative impact on performance and security.
For Zynq-7000 and Zynq UltraScale+ MPSoC devices when booting petalinux-image-full, the network snmp initscript is started and waits for entropy to complete its services.
However the system does not have sufficient entropy for snmp to finish, so the snmpd daemon keeps waiting for entropy.
As a result the system does not reach the login prompt.
To work around this issue, enable the haveged (hardware volatile entropy gathering and expansion) package in build/conf/local.conf (Yocto) or <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf file.
Haveged is used to generate random numbers and feed the Linux random device.
This ensures that initscripts has sufficient entropy during boot time.