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;
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: Warning: Could not boot.
dracut-initqueue: 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