randomdev hangs during initial boot of -current on Raspberry Pi
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 31 Jan 2022 18:27:41 UTC
I hadn't updated my Raspberry Pi 4B running -current for a couple of months, so I booted the latest snapshot (Jan 27). It hangs when it does the "growfs" step, expanding the root partition and fs to fill the SD card. When it hangs, it prints this every 10 seconds or so: random: randomdev_wait_until_seeded unblock wait I waited several minutes the first time, and 20 minutes on another trial. If I hold down the return key on the serial console, the device unblocks and the boot continues. This only happens on the initial boot, when the growfs script runs. The hang happens on a Raspberry Pi 3B+ as well. It also happens with the two-week-old snapshot, but not the Nov 25 snapshot. The program that's running during the hang is awk, doing a read, according to ^T; the script uses awk to parse output from mount, glabel, and sysctl. It sounds like there is no source of entropy at this point, and there was no cache. I don't see any changes to the random device since this was working. Does anyone have a guess what to look for? A bisect would be rather laborious, building a modified SD card each time, even if just testing kernel changes. Any other suggestions? An excerpt from /var/log/messages during this time is appended. Mike Jan 27 10:38:48 generic kernel: umass0 on uhub0 Jan 27 10:38:48 generic kernel: umass0: <ADATA SD600Q, class 0/0, rev 3.00/93.01, addr 2> on usbus0 Jan 27 10:38:48 generic kernel: umass0: SCSI over Bulk-Only; quirks = 0x8100 Jan 27 10:38:48 generic kernel: umass0:0:0: Attached to scbus0 Jan 27 10:38:48 generic kernel: da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 Jan 27 10:38:48 generic kernel: da0: <ADATA SD600Q 9301> Fixed Direct Access SPC-4 SCSI device Jan 27 10:38:48 generic kernel: da0: Serial Number 40118905201B Jan 27 10:38:48 generic kernel: da0: 400.000MB/s transfers Jan 27 10:38:48 generic kernel: da0: 228936MB (468862128 512 byte sectors) Jan 27 10:38:48 generic kernel: da0: quirks=0x2<NO_6_BYTE> Jan 27 10:38:48 generic kernel: random: randomdev_wait_until_seeded unblock wait Jan 27 10:38:48 generic syslogd: last message repeated 48 times Jan 27 10:38:48 generic kernel: random: unblocking device. Jan 27 10:38:48 generic kernel: GEOM_PART: mmcsd0s2 was automatically resized. Jan 27 10:38:48 generic kernel: Use `gpart commit mmcsd0s2` to save changes or `gpart undo mmcsd0s2` to revert them. Jan 27 10:38:48 generic kernel: lo0: link state changed to UP