Warning /dev/root does not exist

Whilst writing a post on setting up a Trivial FTP server and the PXE boot functionality within ISC dhcpd, I stumbled across a bit of an issue which prevented me from successfully deploying either CentOS 7 or RHEL 7 to my KVM virtual machine.

I got the following error;

pxeboot_emergency_mode

the key lines here being;

[  OK  ] Reached target Basic System.

which just sat there for a long time before I saw this output;

dracut-initqueue[536]: Warning: Could not boot.
dracut-initqueue[536]: Warning: /dev/root does not exist

I tried a number of different things to work through this issue, including;

  • Switching from CentOS 7 to RHEL 7 (in the hope that a supported product might fare better
  • Changing dhcpd configuration to try different ways of defining the PXE service
  • Experimenting with different parameters in the pxelinux.cfg/default file.
  • “Googling” it to death!

Now what I found after googling is that there are some additional parameters that (it would appear) MUST be set!!  Things have changed a lot since the days of RHEL 6/CentOS 6.

For me I had to add the following “inst.repo=http://rhc-server.lab.tobyheywood.com/centos7” to the APPEND line for the kernel I intended to boot from.  This essentially defines where the installation files are in the absence of a kickstart aka anaconda file!  This is the important bit!  Because I was intend on proving the manual installation would work without have to have the physical media in my hand, I had skipped the kickstart file.

When you think about it this makes perfect sense, as otherwise how would it know where the installation files are???  Exactly!

So my pxelinux.cfg/default file now looks like this;

[toby@rhc-server rhel7]$ sudo cat /tftpboot/pxelinux.cfg/default 
DEFAULT menu.c32
PROMPT 0
TIMEOUT 300
ONTIMEOUT localdisk
MENU TITLE PXE Network Boot

LABEL localdisk
    MENU LABEL ^Local Hard Drive
    MENU DEFAULT
    LOCALBOOT 0

LABEL Install_CentOS_7_2_pxeboot
    MENU LABEL CentOS 7.2
    KERNEL centos7/vmlinuz
    APPEND initrd=http://rhc-server.lab.tobyheywood.com/centos7/images/pxeboot/initrd.img inst.repo=http://rhc-server.lab.tobyheywood.com/centos7

For those that want some additional bedtime reading, I would highly recommend the following the Anaconda documentation that relates to boot options – https://rhinstaller.github.io/anaconda/boot-options.html

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.