Re: putting ks.cfg into initrd.img

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks, Chip. I have a copy of your presentation in my desk and refer to it regularly. But I'm at home today (sick kid) and since it was out of sight, it was out of mind.

I fixed my kickstart-in-initrd.img file problem (was editing wrong initrd file), but I'm having some other difficulties and there some aspects to kickstart/anaconda that I don't quite understand, and it occurs to me that I should probably describe what I'm trying to do to make sure it's even possible.

Currently, we distribute a stripped down Centos to customers. We do this by creating an ISO that is just a syslinux system with a ks.cfg loaded via http (ks=http://blah.blah.com/). Within the ks.cfg, the installation method specified is http as well, so basically everything is pulled from the web server. To carry it one step further, we have our customers download a customized Unetbootin which pulls down this installer ISO file and installs it onto a USB flash drive. The customer then boots their server from the flash drive, the kernel and initrd.img file are loaded, the kickstart is retrieved from the http server, as is minstg2.img, and the installation goes on its merry way. It works wonderfully--IF the customer's server can get an IP address from a DHCP server. But often it cannot, because, for example, it is in a DMZ; besides, ultimately, we require them to enter a static address for the server, althought that doesn't happen until after installation. The solution at the moment is to have the customer edit the boot command of the installer and append an IP, netmask, gw and dns address. No big deal if one is used to Linux, but Sales & Marketing is telling me our customer's can't handle this. So, my thought is to prompt the customer for the network info at the very beginning of the boot process, and then somehow pass that to anaconda so it can connect to our web server. Interestingly, right now when the installer does not get an address from a dhcp server, it does pop up the network configuration dialog. Unfortunately, this info does not get passed to minstg2.img because while minstg2.img does get downloaded, it then gives errors that the kickstart file could not be downloaded; tcpdump showed new dhcp requests coming from the installer at this stage. My first thought was to put the kickstart into the initrd.img in the ISO and use the ks=file: parameter in the boot command, and in %pre put some shell commands that would prompt the user for networking info. But it's still trying to pull minstg2.img from the web server. At 37MB, minstg2.img is more than four times the entire installer ISO, but if it gives me an environment for prompting the user for network info, I'll put it into the ISO.

So, my questions are:

1. How do I tell anaconda that minstg2.img is on the same medium as initrd.img and ks.cfg and so on?

2. When DHCP fails and the dialog for network info pops up, is there a way that info can be passed to minstg2.img, such that ks.cfg could be pulled from the web server and not have to be in initrd.img?

3. One would think that the asknetwork parameter would answer #2 above, but it doesn't seem to. Should it? Am I just doing something incorrectly?

Thanks.

Peter

Shabazian, Chip wrote:
There are instructions on how to embed the ks.cfg in the Linuxworld
presentation I did a few years ago:
http://www.shabazian.com/lw2007.pdf

-----Original Message-----
From: kickstart-list-bounces@xxxxxxxxxx
[mailto:kickstart-list-bounces@xxxxxxxxxx] On Behalf Of Peter Scheie
Sent: Wednesday, October 28, 2009 7:40 AM
To: Discussion list about Kickstart
Subject: putting ks.cfg into initrd.img

I'm trying to put my kickstart file into the initrd.img file with the
intent of putting 'ks=file:/ks.cfg' in my isolinux.cfg file, for custom centos 5 installation. I did this to get the kickstart into initrd.img:

gunzip < isolinux/initrd.img > initrd.raw
ls ks.cfg | cpio -oAO initrd.raw -H newc
gzip -c initrd.raw > initrd.img

Then I copied the new initrd.img file to my flash drive, replacing the
one in the isolinux/ directory. At the boot prompt, I set ks=file:/ks.cfg, but while it starts to boot, I get a dialog box saying the /ks.cfg file could not be found. Any suggestions as to what I'm doing wrong?

Peter

_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list

_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list

_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list

[Index of Archives]     [Red Hat General]     [CentOS Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux