GRUB installing CentOS 7 on CentOS 6 machine with kickstart

HudsonHawk asked:

I am wondering if someone can provide some help. I am trying to do an automated install (with kickstart file) with CentOS 7 on a CentOS 6 server.
However I have failed multiple times so far. I did Google on it, but no such luck…

The latest source, which explains exactly what I am trying to do is located here.

So what did I do? I first downloaded the CentOS 7 vmlinuz and initrd.img files to /boot/

curl -o /boot/vmlinuz http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/vmlinuz
curl -o /boot/initrd.img http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/initrd.img

After that I edited the grub.conf with “vi /boot/grub/grub.conf” and added:

title Install CentOS 7
kernel /vmlinuz ks=http://my-server-ip/installation.ks
initrd /initrd.img

Sidenote: yes, I tested the IP from the server with the current CentOS 6 version and I could download/open it.

So in the end my grub.conf looked like this:

default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Install CentOS 7
        kernel /vmlinuz http://my-server-ip/installation.ks
        initrd /initrd.img
[older entries below]

and I also tried:

default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Install CentOS 7
        kernel /boot/vmlinuz http://my-server-ip/installation.ks
        initrd /boot/initrd.img
[older entries below]

Both ways fail for some reason. I had to physically check the server and I saw either of the following errors:

Error 1:

Error 15: File not found
Press any key to continue...

Error 2:

Error 1: Filename must be either an absolute pathname or blocklist
Press any key to continue...

Sorry, but I don’t recall which error I received on which approach anymore.

There is one small / minor change to everything above. Instead of using CentOS 7 vmlinuz and initrd.img files, I used the ones from the OpenVZ 7 iso.
Both files were located under the folder: /images/pxeboot/

The reason for this is that I want to install OpenVZ 7 on the server (so removing the current CentOS 6 version and replacing it with a clean, but kickstarted OpenVZ 7 version). I doubt the vmlinuz and initrd.img files are that different, so that it results in the above errors, right?

The kickstart file I created works. This was tested with PXE boot (on several different servers), however I want to be able to also install CentOS 7 or OpenVZ 7 (preferred) through the GRUB loader. This should be possible right?

Maybe I missed something, somewhere? Maybe someone has an idea what I am doing wrong or what I can try?

In the meantime I will retry again, but use the files from CentOS 7. I doubt that’s the issue, but worth a shot anywas….

My test server specifications (dunno if it’s important):

  • LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 (RAID controller)
  • 2x HDD’s in RAID 1
  • Running currently on CentOS 6.10 (Final)

The below might be related (sorry for the complete mess in this post, I am trying to be as detailed as possible).
While I was typing the above server specifications I noticed a “similar” issue with a PXE boot machine with the same RAID controller card. Maybe that’s the issue? Since I was fed up with failing the installation of OpenVZ 7, I decided to an automated kickstart with PXE (which worked on other serves). Mind you, this is another / different server, which has the same RAID card, however it was flashed to IT-mode and only has one (older) 400GB SAS SSD from Toshiba installed.

Anyways, running the automated installation (through the kickstart file) I noticed the server was hanging after I connected a monitor to it with the following (last) errors:

dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[723]: Warning: dracut-initqueue timeout - starting timeout scripts
x many more and followed by:
dracut-initqueue[723]: Warning: Could not boot
dracut-initqueue[723]: Warning: /dev/root does not exist

At this point I was like okay. You know what? I will do a manual installation of OpenVZ 7 through the PXE boot (I have an option for that).

So rebooted the server again, waited till it presented me the GRUB 2 menu (through the PXE server) and selected the manual install.
I reached the menu and wanted to select the disk to install OpenVZ 7 on it. Now to my “surprise” it didn’t find any drives!? So it could not continue the installation obviously. No matter how often I clicked “Rescan”, no drives… At all…!

I have no clue what the issue is. But maybe it’s the RAID controller being unsupported in CentOS 7 / OpenVZ 7? This one was flashed (orignally a PERC H200 Dell RAID controller, which equals a LSI-9211-8i) to IT-mode with a single Toshiba 400 GB SAS SSD connected to it (which is been seen by the controller during posting). So maybe this is the whole issue? Maybe someone knows?

I didn’t notice the same controller until I typed server specifications above. Though one is IT-mode and the other one is in regular RAID 1 mode. So I tempted to think it’s the controller, but then again the LSI-9211-8i is widely supported by all OS and versions, as far as I can tell. Even the current CentOS 6.x installation on it has no issues with it apparently?

Thanks in advance. And sorry for the big / detailed post.

Regards

My answer:


Your grub.conf doesn’t specify a root so it has no idea from which drive or partition to load the files vmlinuz and initrd.img.

You are also missing inst.ks= in front of the URL.

Instead of trying to do a hard drive boot, boot from CentOS 7 installation media and specify inst.ks=<URL> on the boot command line.


View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.