[arch-general] Can't boot, root device not found
Hi list, I recently performed an update of udev and my kernel and after this I am unable to boot the normal kernel or the fallback. When I try I get this error: ERROR: Unable to find root device '/dev/disk/by-uid/03619a2f-908f-4724-ba4b-1fb3985e382b' You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off Typing exit results in me dropping to another shell and if done repeatedly a kernel panic. I attempted to boot via the grub console using the sda device block but I came up with the same error. When I look in /dev through the recovery console that comes up the sda* blocks aren't present. I need to know if there is a way to do this without entirely reformatting my system, I also don't have easy access to another computer but I have an android phone. Any assistance is greatly appreciated. Josh
Excerpt from Josh Silard's message of 2012-03-18T23:58-0400:
Hi list,
I recently performed an update of udev and my kernel and after this I am unable to boot the normal kernel or the fallback. When I try I get this error:
ERROR: Unable to find root device '/dev/disk/by-uid/03619a2f-908f-4724-ba4b-1fb3985e382b' You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off
Typing exit results in me dropping to another shell and if done repeatedly a kernel panic. I attempted to boot via the grub console using the sda device block but I came up with the same error. When I look in /dev through the recovery console that comes up the sda* blocks aren't present.
I need to know if there is a way to do this without entirely reformatting my system, I also don't have easy access to another computer but I have an android phone. Any assistance is greatly appreciated.
You can try SystemRescueCd to boot the computer, then type the following: mkdir /mnt/lx mount /dev/sda1 /mnt/lx mount -o bind /proc /mnt/lx/proc mount -o bind /dev /mnt/lx/dev mount -o bind /sys /mnt/lx/sys chroot /mnt/lx/ /bin/zsh grub-install /dev/sda [--recheck] exit umount /mnt/lx/dev umount /mnt/lx/proc umount /mnt/lx/sys umount /mnt/lx/boot umount /mnt/lx
On Mon, 19 Mar 2012 09:11:03 +0100 FGr wrote:
chroot /mnt/lx/ /bin/zsh grub-install /dev/sda [--recheck]
You could manually check there's an initrd line in the .cfg in /boot after too.
On Sunday 18 Mar 2012 23:58:59 Josh Silard wrote:
Hi list,
I recently performed an update of udev and my kernel and after this I am unable to boot the normal kernel or the fallback. When I try I get this error:
ERROR: Unable to find root device '/dev/disk/by-uid/03619a2f-908f-4724-ba4b-1fb3985e382b' You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off
Typing exit results in me dropping to another shell and if done repeatedly a kernel panic. I attempted to boot via the grub console using the sda device block but I came up with the same error. When I look in /dev through the recovery console that comes up the sda* blocks aren't present.
I need to know if there is a way to do this without entirely reformatting my system, I also don't have easy access to another computer but I have an android phone. Any assistance is greatly appreciated.
Josh
This appears to be a problem in initramfs. Do you remember configuring hooks for mkinitcpio? Take an ArchLinux Installer CD and boot into it. Configure network using aif -p partial-configure-network. Mount your original system partitions as fgr as described. mkdir /mnt/lx mount /dev/sda1 /mnt/lx mount -o bind /proc /mnt/lx/proc mount -o bind /dev /mnt/lx/dev mount -o bind /sys /mnt/lx/sys chroot /mnt/lx/ /bin/zsh grub-install /dev/sda [--recheck] Now, edit the /etc/mkinitcpio.conf file and make sure the followings hooks appear in the proper order. HOOKS="base udev autodetect pata scsi sata filesystems " Regenerate the initramfs using the command mkinitcpio -p linux Try booting again -- Jayesh Badwaik
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now. Josh On Mar 19, 2012 4:53 AM, "Jayesh Badwaik" <jayesh.badwaik90@gmail.com> wrote:
Hi list,
I recently performed an update of udev and my kernel and after this I am unable to boot the normal kernel or the fallback. When I try I get this error:
ERROR: Unable to find root device '/dev/disk/by-uid/03619a2f-908f-4724-ba4b-1fb3985e382b' You are being dropped to a recovery shell Type 'exit' to try and continue booting sh: can't access tty; job control turned off
Typing exit results in me dropping to another shell and if done repeatedly a kernel panic. I attempted to boot via the grub console using the sda device block but I came up with the same error. When I look in /dev
On Sunday 18 Mar 2012 23:58:59 Josh Silard wrote: through
the recovery console that comes up the sda* blocks aren't present.
I need to know if there is a way to do this without entirely reformatting my system, I also don't have easy access to another computer but I have an android phone. Any assistance is greatly appreciated.
Josh
This appears to be a problem in initramfs. Do you remember configuring hooks for mkinitcpio?
Take an ArchLinux Installer CD and boot into it. Configure network using aif -p partial-configure-network. Mount your original system partitions as fgr as described.
mkdir /mnt/lx mount /dev/sda1 /mnt/lx mount -o bind /proc /mnt/lx/proc mount -o bind /dev /mnt/lx/dev mount -o bind /sys /mnt/lx/sys chroot /mnt/lx/ /bin/zsh grub-install /dev/sda [--recheck]
Now, edit the /etc/mkinitcpio.conf file and make sure the followings hooks appear in the proper order.
HOOKS="base udev autodetect pata scsi sata filesystems "
Regenerate the initramfs using the command mkinitcpio -p linux
Try booting again -- Jayesh Badwaik
On 19 March 2012 17:44, Josh Silard <jsilard@gmail.com> wrote:
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now.
Josh On Mar 19, 2012 4:53 AM, "Jayesh Badwaik" <jayesh.badwaik90@gmail.com> wrote:
You don't have to use CD, the Arch Linux installation can be run from an USB flash too. However, I don't think this problem is grub-related. I'd rather guess that there is some problem with your initramfs. Lukas
Am 19.03.2012 17:44, schrieb Josh Silard:
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now.
No. Apparently, some part of your initramfs got borked after the upgrade, so you cannot access anything. It depends on what is broken. Check 'lsmod' in your ramfs environment. 1) If your drivers are not loaded, you can try loading them manually (for example: modprobe ahci; modprobe sd_mod for modern SATA controllers) and see if /dev/sd* appear. If that is the case, you can mount /dev/sdXY /new_root manually, log out and your system SHOULD boot. This can be the problem when udev inside the initramfs doesn't work anymore. 2) If they are loaded, but your sdXY still don't show up, then the kernel upgrade broke your driver. No way to fix that without a live system, as you cannot access your hard drive. 3) If they are not loaded, and not present in initramfs (/lib/modules/...), then your kernel modules were not included, you are out of luck again. 4) If they are not loaded, and trying to load them with 'modprobe' yields "command not found" or similar, the same, you need a live disc. There could be more problems. If we could communicate live, I could probably tell you what's wrong within a few minutes. Now, you can provide me as much information as possible (sorry, you'll have to type this into your phone manually), such as: 1) The output of 'lsmod' (first column suffices, you could even omit everything that has an entry in the last column). 2) The output of 'ps' (omit everything in [square brackets], so there should only be like two or three entries). 3) An overview of what's in /lib/modules/*/, as well as the name of the folder in /lib/modules/ - also compare that folder name to your uname -r output. By "overview", I mean just the names of the .ko files, in particular, whatever is under kernel/drivers/). If you give me all that, plus a rought overview or picture of what happens on your screen before the error message, I can tell you what's wrong and how to fix it.
On Monday 19 Mar 2012 18:03:11 Thomas Bächler wrote:
Am 19.03.2012 17:44, schrieb Josh Silard:
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now.
No. Apparently, some part of your initramfs got borked after the upgrade, so you cannot access anything. It depends on what is broken.
Check 'lsmod' in your ramfs environment.
1) If your drivers are not loaded, you can try loading them manually (for example: modprobe ahci; modprobe sd_mod for modern SATA controllers) and see if /dev/sd* appear. If that is the case, you can mount /dev/sdXY /new_root manually, log out and your system SHOULD boot.
This can be the problem when udev inside the initramfs doesn't work anymore.
2) If they are loaded, but your sdXY still don't show up, then the kernel upgrade broke your driver. No way to fix that without a live system, as you cannot access your hard drive.
3) If they are not loaded, and not present in initramfs (/lib/modules/...), then your kernel modules were not included, you are out of luck again.
4) If they are not loaded, and trying to load them with 'modprobe' yields "command not found" or similar, the same, you need a live disc.
There could be more problems. If we could communicate live, I could probably tell you what's wrong within a few minutes.
Now, you can provide me as much information as possible (sorry, you'll have to type this into your phone manually), such as:
1) The output of 'lsmod' (first column suffices, you could even omit everything that has an entry in the last column). 2) The output of 'ps' (omit everything in [square brackets], so there should only be like two or three entries). 3) An overview of what's in /lib/modules/*/, as well as the name of the folder in /lib/modules/ - also compare that folder name to your uname -r output. By "overview", I mean just the names of the .ko files, in particular, whatever is under kernel/drivers/).
If you give me all that, plus a rought overview or picture of what happens on your screen before the error message, I can tell you what's wrong and how to fix it.
He can do it without a CD alright, can't he? He has access to a computer, so most probably to a USB drive? He can use unetbootin to boot into USB. That is how I install my archlinux (My laptop DVD drive ditched me two years ago.) -- Jayesh Badwaik
Thomas, Thanks for that I'll try it when I get back to my computer. I think it was udev that broke because that's what was updating. On Mar 19, 2012 2:21 PM, "Jayesh Badwaik" <jayesh.badwaik90@gmail.com> wrote:
On Monday 19 Mar 2012 18:03:11 Thomas Bächler wrote:
Am 19.03.2012 17:44, schrieb Josh Silard:
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now.
No. Apparently, some part of your initramfs got borked after the upgrade, so you cannot access anything. It depends on what is broken.
Check 'lsmod' in your ramfs environment.
1) If your drivers are not loaded, you can try loading them manually (for example: modprobe ahci; modprobe sd_mod for modern SATA controllers) and see if /dev/sd* appear. If that is the case, you can mount /dev/sdXY /new_root manually, log out and your system SHOULD boot.
This can be the problem when udev inside the initramfs doesn't work anymore.
2) If they are loaded, but your sdXY still don't show up, then the kernel upgrade broke your driver. No way to fix that without a live system, as you cannot access your hard drive.
3) If they are not loaded, and not present in initramfs (/lib/modules/...), then your kernel modules were not included, you are out of luck again.
4) If they are not loaded, and trying to load them with 'modprobe' yields "command not found" or similar, the same, you need a live disc.
There could be more problems. If we could communicate live, I could probably tell you what's wrong within a few minutes.
Now, you can provide me as much information as possible (sorry, you'll have to type this into your phone manually), such as:
1) The output of 'lsmod' (first column suffices, you could even omit everything that has an entry in the last column). 2) The output of 'ps' (omit everything in [square brackets], so there should only be like two or three entries). 3) An overview of what's in /lib/modules/*/, as well as the name of the folder in /lib/modules/ - also compare that folder name to your uname -r output. By "overview", I mean just the names of the .ko files, in particular, whatever is under kernel/drivers/).
If you give me all that, plus a rought overview or picture of what happens on your screen before the error message, I can tell you what's wrong and how to fix it.
He can do it without a CD alright, can't he? He has access to a computer, so most probably to a USB drive? He can use unetbootin to boot into USB. That is how I install my archlinux (My laptop DVD drive ditched me two years ago.) -- Jayesh Badwaik
Thomas, Loading the modules did the trick and I was able to mount the sda3 to /root and it booted like normal. Thanks a bunch for the help on this Josh On Mar 19, 2012 1:03 PM, "Thomas Bächler" <thomas@archlinux.org> wrote:
Am 19.03.2012 17:44, schrieb Josh Silard:
Thanks for the help. Does anybody know if there is a way to do this without a CD because I have no way to burn one right now.
No. Apparently, some part of your initramfs got borked after the upgrade, so you cannot access anything. It depends on what is broken.
Check 'lsmod' in your ramfs environment.
1) If your drivers are not loaded, you can try loading them manually (for example: modprobe ahci; modprobe sd_mod for modern SATA controllers) and see if /dev/sd* appear. If that is the case, you can mount /dev/sdXY /new_root manually, log out and your system SHOULD boot.
This can be the problem when udev inside the initramfs doesn't work anymore.
2) If they are loaded, but your sdXY still don't show up, then the kernel upgrade broke your driver. No way to fix that without a live system, as you cannot access your hard drive.
3) If they are not loaded, and not present in initramfs (/lib/modules/...), then your kernel modules were not included, you are out of luck again.
4) If they are not loaded, and trying to load them with 'modprobe' yields "command not found" or similar, the same, you need a live disc.
There could be more problems. If we could communicate live, I could probably tell you what's wrong within a few minutes.
Now, you can provide me as much information as possible (sorry, you'll have to type this into your phone manually), such as:
1) The output of 'lsmod' (first column suffices, you could even omit everything that has an entry in the last column). 2) The output of 'ps' (omit everything in [square brackets], so there should only be like two or three entries). 3) An overview of what's in /lib/modules/*/, as well as the name of the folder in /lib/modules/ - also compare that folder name to your uname -r output. By "overview", I mean just the names of the .ko files, in particular, whatever is under kernel/drivers/).
If you give me all that, plus a rought overview or picture of what happens on your screen before the error message, I can tell you what's wrong and how to fix it.
Am 20.03.2012 00:43, schrieb Josh Silard:
Thomas,
Loading the modules did the trick and I was able to mount the sda3 to /root and it booted like normal. Thanks a bunch for the help on this
Josh
You were lucky. Can you please post the relevant part from /var/log/pacman.log where you installed the update that broke your system? Is the problem fixed with 'mkinitcpio -p linux'?
1. https://wiki.archlinux.org/index.php/Chroot 2. Re-install udev and kernel
participants (7)
-
FGr
-
Jayesh Badwaik
-
Josh Silard
-
Kevin Chadwick
-
Lukáš Jirkovský
-
Marcin K.
-
Thomas Bächler