Adding systemd.show_status=0 to bootargs have fixed that problem. I guess /dev/console may not be set right, because status_vprintf try to open /dev/console. However still no login prompt show up.
Thank you for your support. Best regards, shuyi cheng ________________________________ 发件人: Mantas Mikulėnas <[email protected]> 发送时间: 2019年6月7日 4:51 收件人: 程 书意 抄送: [email protected] 主题: Re: [systemd-devel] Systemd spends much time about 30 seconds for every unit On Fri, Jun 7, 2019 at 6:49 AM 程 书意 <[email protected]<mailto:[email protected]>> wrote: Hi all, I am working on virtualization on armv8 platform and encountered a complex problem. From the below boot log, we can find: 1. Every unit init need about 30 seconds. 2. status_printf function doesn't work. [no status_welcome print and no manager_status_printf print] 3. I'm trying to use systemd.log_level=debug systemd.log_target=console console=ttymxc0,115200 earlycon=ec_imx6q,0x30860000,115200 to show more debug info, however the boot stoped at systemd[1]: System time before build time, advancing clock. [ 2.478912] systemd[1]: System time before build time, advancing clock. [ 2.499714] systemd[1]: systemd 237 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -ID) [ 2.520807] systemd[1]: Detected architecture arm64. [ 33.892575] systemd[1]: Set hostname to <imx8mqevk>. [ 64.632124] systemd[1]: File /lib/systemd/system/systemd-journald.service:35 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling. [ 64.648846] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.) [ 64.771322] random: systemd: uninitialized urandom read (16 bytes read) [ 64.777950] systemd[1]: Reached target Swap. [ 95.329244] random: systemd: uninitialized urandom read (16 bytes read) [ 95.337197] systemd[1]: Created slice User and Session Slice. [ 126.049246] random: systemd: uninitialized urandom read (16 bytes read) [ 126.055962] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ 156.769223] random: systemd: uninitialized urandom read (16 bytes read) [ 156.776389] systemd[1]: Created slice System Slice. [ 187.489398] random: systemd: uninitialized urandom read (16 bytes read) [ 187.496097] systemd[1]: Listening on Journal Audit Socket. [ 218.209185] random: systemd: uninitialized urandom read (16 bytes read) [ 218.216387] systemd[1]: Created slice system-getty.slice. [ 248.929177] random: systemd: uninitialized urandom read (16 bytes read) [ 248.936006] systemd[1]: Listening on Journal Socket (/dev/log). [ 279.649275] random: systemd: uninitialized urandom read (16 bytes read) [ 279.655957] systemd[1]: Listening on Network Service Netlink Socket. [ 310.369169] random: systemd: uninitialized urandom read (16 bytes read) [ 310.375751] systemd[1]: Reached target Slices. [ 341.089186] random: systemd: uninitialized urandom read (16 bytes read) [ 341.095860] systemd[1]: Listening on udev Kernel Socket. I wonder if it is related to systemd trying to generate an "invocation ID" for every unit started. (I *thought* it had an internal PRNG for that, but I guess it might be calling getrandom() for every single unit?) -- Mantas Mikulėnas
_______________________________________________ systemd-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/systemd-devel
