dracut cant locate /dev/root

General support questions
rjlohman_opt
Posts: 8
Joined: 2016/04/13 18:09:36

dracut cant locate /dev/root

Postby rjlohman_opt » 2016/04/13 18:50:40

All:

I'm trying to provision a CentOS 7.2 (1511) physical server using cobbler/kickstart. During the initial boot, I get the following during boot:

Code: Select all

[  OK  ] Started Show Plymouth Boot Screen.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Basic System.
         Mounting Configuration File System...
[  OK  ] Mounted Configuration File System.
[   20.062353] dracut-initqueue[669]: % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[   20.062757] dracut-initqueue[669]: Dload  Upload   Total   Spent    Left  Speed
100 13530  100 13530    0     0   146K      0 --:--:-- --:--:-- --:--:--  146k  0 --:--:-- --:--:-- --:--:--     0
[  144.055751] dracut-initqueue[669]: Warning: dracut-initqueue timeout - starting timeout scripts
 ...
[  204.955113] dracut-initqueue[669]: Warning: dracut-initqueue timeout - starting timeout scripts
[  204.955327] dracut-initqueue[669]: Warning: Could not boot.
[  205.095282] dracut-initqueue[669]: Warning: /dev/root does not exist
         Starting Dracut Emergency Shell...
Warning: /dev/root does not exist

Generating "/run/initramfs/rdsosreport.txt"


Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.
You might want to save "/run/initramfs/rdsosreport.txt to a USB stick or /boot
after mounting them and attach it to a bug report.


dracut:/#


I'm using a simple block device (/dev/sda1) for the root partition (no LVM, encryption, software raid, etc.), and checking /dev reveals that the link /dev/root does not in fact exist (thought /dev/sda1 *is* there). Additionally, sda and sda1 both show up as one would expect in /dev/disk/by-id/, /dev/disk/by-uuid/, etc. I've confirmed networking is good, as a cat of /tmp/ifcfg/ifcfg-enp3s0f0 shows appropriate settings and I can ping the cobbler/pxe host from the host being provisioned. I've confirmed through the output that the proper kernel (vmlinuz) and initrd.img files are being loaded, and the proper kickstart file is located.

I've tried manually creating the link and setting root:

Code: Select all

# cd /dev
# ln -s sda1 root
# root=/dev/root
# exit


But this is followed by more failures, and ultimately drops me back into the dracut shell. rdsosreport.txt isn't really helpful, showing essentially the same 'dracut-initqueue timeout' messages, the /dev/root does not exist message, and the Starting Dracut Emergency Shell' message.

We are able to use the same provisioning system on the same host with a CentOS 6.5 repo (although the kickstart file for 6.5 reflects the config details for that version), but attempts with 7.1 and 7.2 are failing as above.

Any help is greatly appreciated!

User avatar
TrevorH
Forum Moderator
Posts: 21209
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: dracut cant locate /dev/root

Postby TrevorH » 2016/04/14 00:27:24

If by "initial boot" you mean the one to run the installer then you're failing to retrieve the necessary files from the server to perform the initial boot up. What is your PXE server sending as boot options from $tftpboot/pxelinux.cfg/default (or whatever)?
CentOS 5 died in March 2017 - migrate NOW!
Full time Geek, part time moderator. Use the FAQ Luke

rjlohman_opt
Posts: 8
Joined: 2016/04/13 18:09:36

Re: dracut cant locate /dev/root

Postby rjlohman_opt » 2016/04/14 13:45:41

TrevorH wrote:If by "initial boot" you mean the one to run the installer then you're failing to retrieve the necessary files from the server to perform the initial boot up. What is your PXE server sending as boot options from $tftpboot/pxelinux.cfg/default (or whatever)?


Thanks for the response. Yes, the 'initial boot' refers to the pxe boot for the install.

The entry in default is:

Code: Select all

[rlohman@provisioner pxelinux.cfg]$ cat 01-10-60-4b-9b-12-78
default linux
prompt 0
timeout 1
label linux
        kernel /images/centos72-x86_64/vmlinuz
        ipappend 2
        append initrd=/images/centos72-x86_64/initrd.img ksdevice=bootif lang=  rd_NO_LUKS text rd_NO_LVM rd_NO_MD kssendmac rd_NO_DM  ks=http://10.52.151.35/cblr/svc/op/ks/system/opbluux0001


and I can see in /proc/cmdline that this is consistent with the running environment:

Code: Select all

dracut:/# cat /proc/cmdline
initrd=/images/centos72-x86_64/initrd.img ksdevice=bootif lang=  rd_NO_LUKS text rd_NO_LVM rd_NO_MD kssendmac rd_NO_DM  ks=http://10.52.151.35/cblr/svc/op/ks/system/opbluux0001 BOOT_IMAGE=/images/centos72-x86_64/vmlinuz BOOTIF=01-10-60-4b-9b-12-78

User avatar
TrevorH
Forum Moderator
Posts: 21209
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: dracut cant locate /dev/root

Postby TrevorH » 2016/04/14 14:12:42

And /images/centos72-x86_64/vmlinuz and /images/centos72-x86_64/initrd.img are copies of the files from the images/pxeboot from the DVD you are using?
CentOS 5 died in March 2017 - migrate NOW!
Full time Geek, part time moderator. Use the FAQ Luke

rjlohman_opt
Posts: 8
Joined: 2016/04/13 18:09:36

Re: dracut cant locate /dev/root

Postby rjlohman_opt » 2016/04/14 17:10:21

They were identical, but not relevant (in this case).

Solution: The append line was missing the inst.repo= directive (a requirement for 7.x). Thanks again for the assistance. Since we're deploying via cobbler, the following:

Code: Select all

cobbler distro edit --name=centos72-x86_64 --kopts="inst.repo=http://<host.fqdn.com>/cobbler/ks_mirror/centos72-x86_64"

did the trick.

Not Tristan
Posts: 8
Joined: 2017/04/15 04:05:10

Re: dracut cant locate /dev/root

Postby Not Tristan » 2017/04/17 22:46:42

just because I am having a similar issue, where did you post that command? when you press tab at the beginning of install?