Is it usual Ubuntu 14.04.2 to take a long time at "random: nonblocking pool is initialized" step during boot process?

During the boot process, my Ubuntu 14.04.2 takes about 11 seconds to complete the "random: nonblocking pool is initialized" step (this is the slowest step, FYI).

  1. What does this step mean?
  2. Is it normal to take a long time to complete it?
  3. Is there any solution to this?

A sample /var/log/dmesg log from my Ubuntu 14.04.2 is shown below:

[    2.090510] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.091836] i915 0000:00:02.0: registered panic notifier
[    2.103088] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.104819] acpi device:02: registered as cooling_device4
[    2.106250] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input6
[    2.107908] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    2.214193] psmouse serio1: synaptics: queried max coordinates: x [..5888], y [..4856]
[    2.301008] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[    2.334007] psmouse serio1: synaptics: Touchpad model: 1, fw: 7.4, id: 0x1e0b1, caps: 0xd04773/0xe40000/0xa0400, board id: 0, fw id: 639087
[    2.409482] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input5
[    2.914326] Switched to clocksource tsc
[    3.120191] random: nonblocking pool is initialized
[   14.745283] Adding 3986428k swap on /dev/sda5.  Priority:-1 extents:1 across:3986428k FS
[   14.875375] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.027854] systemd-udevd[333]: starting version 204
[   15.316294] lp: driver loaded but no devices found
[   15.330491] ppdev: user-space parallel port driver

Solution 1:

I believe this particular step does not actually take a long time. The message in the dmesg log is printed when the pool has been initialized, not when initialization is started.

What Linux is doing in those 11 seconds is probably probing, identifying and initializing hardware, which does not necessarily generate entries in the dmesg log.

Solution 2:

Said, another way: No its not normal, something is taking a while to respond. Do you have any Peripheral devices you can unplug and retry booting? One of them is likely creating some problem. unplug your printer, usb memory, etc... and try rebooting. Is it faster? If it is, try inserting one device at a time back into your system, and rebooting to identify the troubling device. figure out the troubled device, and post back. you might check your disk integrity (SMART Analysis)

The log you want to look at is (probably): /var/log/syslog

you might also try going into your bios, and disabling things like the parallel port, and other unused hardware, such that you don’t need to waste time initializing ports you aren't using.

Solution 3:

It could be trying and failing to switch video modes. Try adding nomodeset to the kernel command line and see if that helps.

In the grub bootmenu, press e to edit the current boot entry and append " nomodeset" to the line that starts with linux. Then press f10 or ctrl + x to boot the modified entry.