1

I'm attempting a manual upgrade of a Vagrant VM box (of the WordPress dev environment VVV, which uses ubuntu/trusty64) from 14.04 (14.04.5 LTS I think...) to 16.04.2 LTS. This is the second time I've attempted this, I took a snapshot beforehand.

I used do-release-upgrade rather than the Debian method, and I didn't see any obvious errors/problems during it. On completion it reboots and hangs, until it gets as far as this:

[...]
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
random: nonblocking pool is initialized

Boot screenshot

The VM apparently doesn't have grub, so I downloaded an Ubuntu Live CD ISO image, configured VirtualBox to boot from that, and ran boot-repair. (pastebin output of first attempt)

Latest options I've tried:

boot-repair advanced options - main boot-repair advanced options - GRUB location boot-repair advanced options - GRUB options

I was then able to access Grub and boot into recovery mode. (Incidentally grub is giving me two sets of options, version 4.4 and an earlier v3.13, I'm using the most recent).

Grub menu

I tried updating grub and doing dpkg --configure -a, though I suspect there was nothing wrong with either and these made no difference, it still hangs in the same place.

What do I do now / what to look for?

Also, if I were to restore the 14.04 snapshot and upgrade again, is there anything I could do beforehand that would likely prevent this?

Software versions:

Vagrant 1.9.2
VirtualBox 5.1.10
Mac OS X 10.11.6 (El Capitan)

VirtualBox settings:

Linux Ubuntu (64-bit)
2 MB RAM, Chipset ICH9
Enable I/O APIC - on
Enable EFI - off
Hardware clock in UTC time - on

4 CPUs
Enable PAE/NX - off

Acceleration:
Paravirtualisation interface: legacy
Enable nested paging - on

Storage:
SATA controller type AHCI
2 ports (1 for HDD, 1 for optical)

Zanna
  • 72,312

1 Answers1

1

I fixed this by removing the second console from the following line (which loads the Linux kernel) in the GRUB configuration:

linux   /boot/vmlinuz-4.4.0-64-generic root=UUID=52c57bc3-f866-48d7-8cea-3e5fa835e51d ro  console=tty1 console=ttyS0

(feel free to comment on which combinations of consoles are permissible and why, if you know - e.g. I'm aware you're not allowed ttyS0 and ttyS1 together because they're the same type.)

Initial temporary fix:

  • In Grub menu, ensure default 'Ubuntu' entry is highlighted
  • press e to edit it
  • use arrow keys to edit the line
  • press Ctrl-X to save and boot (it's an Emacs editor)

Permanent:

  • edit /etc/default/grub (the GRUB_CMDLINE_LINUX_DEFAULT= line)
  • run sudo update-grub to regenerate /boot/grub/grub.cfg, the file that's actually read by GRUB
  • reboot

You might have the situation I did where the /etc/default config had become out of sync (i.e. out of date) compared to /boot/grub/grub.cfg, so editing the former created new errors in the latter. Taking regular snapshots each time you have a working machine will save you time.

Other issues I had:

  • MySQL packages (mysql-client and mysql-server) needed to be reinstalled because 16.04 uses a newer version.
Zanna
  • 72,312