1

I've searched through existing questions, but nothing addresses my problem.

My system running Ubuntu 14.04 went through a partial-update a few days ago. Ever since, my system will not boot. It freezes on the purple screen. (plymouth?) When I attempt to boot to recovery, I get a "gave up waiting for root" error along with numerous libkmod errors.

I've booted from a liveCD and attempted some troubleshooting. I can mount the root partition from there and chroot over. I checked /var/log/boot and found 2 small failures - samba and ksplice - nothing that should prevent booting. I tried to reinstall grub with the following, after mounting the boot partition to /boot:

sudo grub-install --efi-directory=/boot /dev/sdc

Unfortunately, this produces the same libkmod errors that appear when I try to get to recovery. (I do have an efi, not BIOS)

Here's what recovery ends with:

Gave up waiting for root device. Common problems: 
- Boot args (cat /proc/cmdline) 
- Check rootdelay= (did the system wait long enough?) 
- Check root= (did the system wait for the right device?) 
- Missing modules (cat /proc/modules; Is /dev) 
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell! 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#' 
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'

I have ZFS installed, but the boot drive is not ZFS. I don't understand why commented out lines would be interpreted as bad.

Here's my fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sdb2 during installation
UUID=10d83bf1-14a9-40bf-8ada-7ffbf6220bf9 /boot           ext2    defaults
  0       2
# /boot/efi was on /dev/sdb1 during installation
UUID=BD9B-EA73  /boot/efi       vfat    defaults        0       1
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

And parted info for my boot drive:

Model: ATA Corsair CSSD-V32 (scsi)
Disk /dev/sdc: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   32.0GB  31.2GB                     lvm

I have no other OSes installed. I've tried to reinstall from the liveCD, but it does not recognize my existing install - even after I mount my root partition manually. I would prefer to avoid re-installing from scratch, and would really like to learn what is causing this for my own Linux knowledge betterment. Any help would be greatly appreciated.

Oli
  • 293,335
  • Have you found the solution? This thing just happened to me and it seems to be a kernel related issue since I'm able to boot with the former kernel release. – rpvilao Aug 29 '14 at 16:26
  • @rpvilao Unfortunately not. Asking here was my last-ditch effort to find a fix. I gave up and re-installed from scratch. – WhatPlantsCrave Sep 03 '14 at 20:47
  • I think that it should be a kernel related/misconfiguration issue because I can boot with other kernels. Alas! – rpvilao Sep 04 '14 at 07:28

2 Answers2

1

When you chroot into your system, regenerate your initial RAM-disk.

It is likely that modules are missing causing this problem to occur.

update-initramfs -k all -c

Before chrooting, mount /dev, /proc and /sys inside chroot:

mount -t proc /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys

I'm assuming here that you mounted your disk to /mnt. From my experience such errors are in 90% related to missing modules in ramdisk.

Also I'd suggest to continue the failed upgrade inside chroot using

dpkg --configure -a
apt-get -f install
apt-get upgrade
Christian
  • 361
  • 1
  • 6
  • Thanks for this answer. I already gave up on this and re-installed from scratch some time ago, so I can't check if it would have fixed my problem. However, I will remember this next time I encounter a missing modules problem. If I had enough reputation, I'd upvote it. – WhatPlantsCrave Sep 23 '14 at 14:00
0

I got this error during the last update, so I never rebooted. To fix it, I deleted the file /etc/modprobe.d/zfs.conf since I was the one who added it and I didn't really need it. Then I ran:

update-initramfs -k all -c

And it now seems ready for reboot.

muru
  • 197,895
  • 55
  • 485
  • 740