Question

I am using gummiboot on a macbook air mid 2012 model. Has only arch Linux on it. Can't seem to boot into my arch, with both uuid and absolute device name. Always falling into rootfs prompt.

Switching to refind didn't help either. Where can I start looking for more information on whether its recognising the hard disk or not?

Was it helpful?

Solution

Here's a full explanation of the situation:

I have a Macbook Air 11" mid 2012 with only Arch Linux on it. I don't want OSX. I don't want to install any other distro (Fedora etc). I had a Arch Bang installation with GNOME on it. My linux would load using Gummiboot. I did a pacman -Syu and that brought in 3.13.7-1 arch kernel. I rebooted to get "waiting for 10 seconds for root device..." message and this would lead to the rootfs prompt. Looking at this article on arch forums I understood there was some issue between gummiboot and the latest 3.13.7 kernel and the suggestion was to switch to refind bootloader.

I did but I was still falling to rootfs prompt. Then I decided to bypass bootloaders altogether and use efibootmgr to directly tell uefi firmware that "hey look this is my linux installation, load it". So bootloader is no longer a suspect.

Now, I was initially chrooting like this via a live cd:

(From the live cd terminal)... mount /dev/sda2 /mnt

mount /dev/sda1 /mnt/boot/efi

mount -o bind /proc /mnt/proc

mount -o bind /sys /mnt/sys

mount -o bind /dev /mnt/dev

mount -o bind /dev/pts /dev/pts

modprobe efivarfs

chroot /mnt

(and then from inside the chroot)...

pacman -Syy linux

mkinitcpio -p linux

exit

(inside live cd terminal)...

umount /mnt/sys/firmware/efi/efivars /mnt/sys /mnt/dev /mnt/dev/pts /mnt/proc /mnt/boot/efi /mnt

But still I was getting the rootfs prompt. Solution was to chroot like this:

mount /dev/sda3 /mnt

chroot /mnt /bin/bash

mount -t proc proc /proc

mount -t sysfs sys /sys

mount -t devtmpfs udev /dev

mkinitcpio -p linux

exit

umount /mnt/proc /mnt/dev /mnt/sys /mnt

reboot

I am not sure what is different from what I was doing to this but it sure worked. I wish I hadn't reinstalled my OS. I should have stuck to my belief that you can rescue more often than reinstall.

OTHER TIPS

This can happen when grub-mkconfig detects the wrong hard drive so it passes the kernel the wrong parameters.

To fix it, mount your root partition from the rescue shell with mount /dev/sdaX /newroot, replacing X with the partition number of your root filesystem from when you installed, and then hit Ctrl-D. This should start the boot sequence.

Then, you can manually edit /boot/grub/grub.cfg and find the line that says linux (hd0,gptX)/boot/vmlinuz-linux root=/dev/sdaX, and replace root=??? with the correct root device (most likely /dev/sda2 given the Macbook and GPT info).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top