13

I have been using Ubuntu on VMware Player; today when I logged into VMware, it showed updates available for Ubuntu 15.xx. I allowed the updates and after downloading all the packages it restarted automatically, but never booted back. It is throwing messages like

Piix4_SMBus: 000:00:07.3: Host SMBus controller bus not enabled
failed to start /etc/rc.local compatibility

Please describe a way to fix it!

3
  • Updated received was 'Wily Warewolf'
    – Murali G
    Oct 29 '15 at 23:46
  • There has been a fix for this problem for a while, but you need to access your Ubuntu installation 'hard disk' to edit the file /etc/modprobe.d/blacklist.conf and add the line blacklist i2c-piix4 . You may be able to do this by booting the VM from an ISO file for Ubuntu, and choosing 'Try Ubuntu' Oct 29 '15 at 23:58
  • Hi Charles, thanks for your quick response. Could you please elaborate the steps as I am not really good in doing this. How do I access Ubuntu Installation hard disk? Please provide the navigation. I am using VMware Player and installed Ubuntu on VMPlayer. Apologies for the trouble.
    – Murali G
    Oct 30 '15 at 0:13
9

First, add this line in your vmx file to increase the boot time to 50s

bios.bootDelay = "50000"

Start the VM, hold the left shift key down, then hit Enter.

In the grub menu, choose Advanced options for Ubuntu -> Recovery mode. Once the system boots, choose 'Root' to drop into a root shell.

In the root shell, enter the following commands

mount -o remount,rw /
nano /etc/modprobe.d/blacklist.conf

go down a few lines (almost anywhere) and enter the line

blacklist i2c-piix4

Then press ctrl+o to save the file, and ctrl+x

Finally, enter the command

reboot

20
  • 1
    Thanks Charles for the detailed answer. I am able to resolve the first issue. I almost shouted 'Eurekha', but it did not boot yet :-(, still another issue is pending, Error: failed to start /etc/rc.local compatibility see "sstemctl status rc-local.service" for details. Request you to provide your valuable solution. Appreciate your time & patience.
    – Murali G
    Oct 30 '15 at 6:43
  • Sorry to hear continues problems. Oct 30 '15 at 13:39
  • Yeah...hopefully everything gets resolved with the solution you are going to provide. But blacklist i2c-piix4 is a good learning for me. Your crystal clear answer helped me in resolving that.
    – Murali G
    Oct 30 '15 at 19:44
  • Did you happen to remove the vmtools from your virtual machine before updating? Oct 30 '15 at 19:49
  • 1
    I had to additionally run update-initramfs -u after editing blacklist.conf
    – TimD1
    Jul 5 '19 at 14:07
3

The method above didn't work for me on Ubuntu 16.10 and VMWare Workstation 12.5.1..

Boot into Ubuntu Recovery Mode --> drop into the root shell and open the kernel blacklist config file.

nano /etc/modprobe.d/blacklist.conf

Then add this line into the file and save.

blacklist intel_powerclamp

I found this solution from this post:

https://websiteforstudents.com/question/student-question-resolve-ubuntu-16-10-piix4_smbus-host-smbus-controller-bus-not-enabled/

0
3

At first, open *.vmx file from your VMware folder via notepad. Then add this line to the file and save it.

cpuid.1.eax = "0000:0000:0000:0001:0000:0110:1010:0101"

The problem will be fixed.

2
  • 1
    This option worked for me, but only with one CPU -- had to reduce number of CPUs, before it worked. Now I can disable smbus in /etc/modprobe.d. I tried blacklisting from grub but none worked - OpenSUSE Tumbleweed 20180124 - Thanks! Jan 25 '18 at 4:14
  • didn't work for me Jan 15 '19 at 22:03
0

Although I'm late to the party, the solution to your other problem (failed to start /etc/rc.local compatibility etc., as described in the later comments to Charles Green's answer) is most probably (at least was for me), to wipe old, incompatible vmhgfs (shared VM disk) settings/module, since they break a couple of things.

First, the module doesn't load if there are version mismatch etc. Remove vmhgfs from /etc/modules, and now the init should run properly.

Secondly, if you added a fstab entry for your vmhgfs, systemd-fstab-generator generates a systemd startup task for it, also resulting in failed systemctl unit. Comment out or remove your vmhgfs line in fstab, and remove the relevant mnt-*.mount (e.g. mnt-vmhgfs.mount) files from your /run/systemd/generator. That should fix the 2nd part of the problem.

0

I was able to solve the problem by dropping into safe mode and running clean.

EDIT:

This was done holding shift when rebooting the VM. when in the grub go to "advanced options". Then in that menu run "clean"

1
  • Could you edit your answer and provide more detail about how to enter safe mode and run clean ?
    – storm
    Aug 24 at 20:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.