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