You are not logged in.
I installed plymouth on my desktop and now it refuses to boot. I followed that guide trying to use the framebuffer solution (i.e I installed v86d and ran it as a hook from mkinitcpio, i added plymouth after it and added splash to the command line through grub settings)
Now I always get this error.
Booting the kernel.
[...]Initramfs unpacking failed: unexpected EOF
:: running early hook [udev]
:: running hook [udev]
:: Triggering uevents...
:: running hook [v86d]
:: running hook [plymouth]
:: Loading plymouth...done.
ERROR: device '' not found. Skipping fsck.
ERROR: Unable to find root device ''.And then I get dropped into a recovery shell without a working keyboard. What did I do wrong? I clearly need to chroot through a CD to get back in my system this way, but I'd like to know if anyone knows how to solve this before I give up on installing a bootsplash (with fbsplash flagged out of date and splashy incompatible with systemd)
Last edited by rabcor (2014-04-27 01:55:54)
Offline
you should've at least posted your grub and mkinitcpio configurations. Quite impossible to tell where the problem could be otherwise..
Offline
The questions you need to provide answers for to get a possible solution are:
1. UEFI or BIOS?
2. NVIDIA, ATI, INTEL, NOUVEAU or RADEON video driver?
3. Post your /etc/mkinitcpio.conf
Cheers.
Offline
1: BIOS
2: NVIDIA
3:
MODULES="pci-stub"
BINARIES=""
FILES=""
HOOKS="base udev v86d plymouth autodetect modconf block filesystems keyboard fsck"I didn't have pci-stub in when I posted this, but I doubt it changes much.
In grubs case I had
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"The problem seems to me when I google the same error that my system doesn't detect the root hard drive, and looks for it in '' (basically doesn't look for it) but I could be wrong of course.
Last edited by rabcor (2014-04-29 04:01:09)
Offline
That all looks ok. The error seems as if it cannot find your root device from the kernel command line passed through grub.
Post your /boot/grub/grub.cfg.
Offline
My grub.cfg is just the normally generated one with "grub-mkconfig -o /boot/grub/grub.cfg" and os-prober for windows. (note: I don't have pci-stub anymore)
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
set menu_color_normal=light-blue/black
set menu_color_highlight=light-cyan/blue
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 9ca1414d-92e6-4033-8885-9abb94999176
else
search --no-floppy --fs-uuid --set=root 9ca1414d-92e6-4033-8885-9abb94999176
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_archlinux ###
menuentry "Arch Linux pkg-linux kernel" --class arch-linux --class arch --class gnu-linux --class gnu --class os {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
fi
set gfxpayload=keep
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4a01a229-af05-4d36-8c5d-47f316609be3
else
search --no-floppy --fs-uuid --set=root 4a01a229-af05-4d36-8c5d-47f316609be3
fi
echo 'Loading Arch Linux pkg-linux kernel ...'
linux /vmlinuz-linux root=UUID=9ca1414d-92e6-4033-8885-9abb94999176 rw quiet
echo 'Loading Arch Linux pkg-linux kernel initramfs ...'
initrd /initramfs-linux.img
}
menuentry "Arch Linux pkg-linux kernel (fallback initramfs)" --class arch-linux --class arch --class gnu-linux --class gnu --class os {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
fi
set gfxpayload=keep
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4a01a229-af05-4d36-8c5d-47f316609be3
else
search --no-floppy --fs-uuid --set=root 4a01a229-af05-4d36-8c5d-47f316609be3
fi
echo 'Loading Arch Linux pkg-linux kernel ...'
linux /vmlinuz-linux root=UUID=9ca1414d-92e6-4033-8885-9abb94999176 rw quiet
echo 'Loading Arch Linux pkg-linux kernel fallback initramfs ...'
initrd /initramfs-linux-fallback.img
}
### END /etc/grub.d/10_archlinux ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9ca1414d-92e6-4033-8885-9abb94999176' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4a01a229-af05-4d36-8c5d-47f316609be3
else
search --no-floppy --fs-uuid --set=root 4a01a229-af05-4d36-8c5d-47f316609be3
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=9ca1414d-92e6-4033-8885-9abb94999176 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-9ca1414d-92e6-4033-8885-9abb94999176' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-9ca1414d-92e6-4033-8885-9abb94999176' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 4a01a229-af05-4d36-8c5d-47f316609be3
else
search --no-floppy --fs-uuid --set=root 4a01a229-af05-4d36-8c5d-47f316609be3
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=9ca1414d-92e6-4033-8885-9abb94999176 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-A8E82870E8283EC6' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 A8E82870E8283EC6
else
search --no-floppy --fs-uuid --set=root A8E82870E8283EC6
fi
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/60_memtest86+ ###
### END /etc/grub.d/60_memtest86+ ###Offline
Ok, someone please correct me if I am wrong, it's been a while since I used grub.
How many menu entries are listed in grub when you boot?
It looks like you should see 4 from the grub.cfg you posted.
If this is the case, try the 3rd option (it should be labeled as 'Arch Linux', not 'Arch Linux pkg-linux kernel')
The reason I suggest this is in your ### BEGIN /etc/grub.d/10_archlinux ###
The menu entries generated (titled with 'Arch Linux pkg-linux kernel'), there is no set root='hdo,msdos5'
This could explain why no root device is found.
In your ### BEGIN /etc/grub.d/10_linux ###
The menu entries generated (titled with 'Arch Linux'), the set root line is present
It would seem to me that you have an old custom grub config script in /etc/grub.d, specifically /etc/grub.d/10_archlinux which does not appear to be generating valid menu entries.
Cheers.
Offline
I don't have anything custom in this regard, unless it was installed by maybe os-prober. If there's anything custom it would be /etc/default/grub.conf.
But well you might be right. It's 5 menu entries btw, one was "Advanced options for Arch Linux" .
if I do ls /etc/grub.d/
I get
00_header 10_archlinux 10_linux 20_linux_xen 30_os-prober 40_custom 41_custom 60_memtest86+So you were right I do have something called custom, but I don't even know what this is...
40_custom has
#!/bin/sh
exec tail -n +3 $041_custom has
!/bin/sh
cat <<EOF
if [ -f \${config_directory}/custom.cfg ]; then
source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f \$prefix/custom.cfg ]; then
source \$prefix/custom.cfg;
fi
EOFAnyways yeah I'll try to use the arch-linux entry rather than pkg-kernel.
Last edited by rabcor (2014-05-05 09:51:35)
Offline