[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: ks] Re: Kickstart question
- From: R P Herrold <herrold owlriver com>
- To: kickstart-list redhat com
- Subject: Re: ks] Re: Kickstart question
- Date: Thu, 29 May 2003 17:07:40 -0400 (EDT)
On Thu, 29 May 2003, Richard Black wrote:
> Some methods involve having a web server that can punch out diskettes
> based on choices the user makes. Well, that's not what you want, ok,
> next...
<snip>
> Not sure how to do the ip address questioning, other than just leave
> that section out of the ks.cfg (so throw an appropriately named
> ks=nfs:192.168.0.1:/var/ftp/pub/kickstart/ks-rh73.cfg) on each of the
> above append= lines).
It turns out that one may use PHP (which can determine
requesting IP (and if within the same subnet, requesting MAC
address as well), and generate a config file on the fly ...:
[herrold ftp pxelinux.cfg]$ pwd ; grep php *
/tftpboot/rhl/pxe/pxelinux.cfg
0A-80: append ksdevice=eth0 load_ramdisk=1
prompt_ramdisk=0 ramdisk_size=16384 initrd=initrd.img network
ks=http://10.250.0.253/pub/kickstart/ks.php
0A-8094: append ksdevice=eth0 ramdisk_size=32768
initrd=initrd.img ks=http://10.250.0.253/pub/kickstart/ks.php
0A-90: append ksdevice=eth0 load_ramdisk=1
prompt_ramdisk=0 ramdisk_size=16384 initrd=initrd.img network
ks=http://10.250.0.253/pub/kickstart/ks.php
[herrold ftp pxelinux.cfg]$
and at: http://10.250.0.253/pub/kickstart/ks.php sample code
looks like:
[root ftp kickstart]# pwd ; ls ; cat ks.php
/var/www/html/pub/kickstart
default.cfg ks.cfg ks.cfg-80-plain ks.cfg-LTSP
ks.php
done.php ks.cfg-80 ks.cfg-80-post ks-IP.php
ftp-manifest.txt ks.cfg-8094 ks.cfg-90 ks-MAC.php
<?php
//
// build a ks.cfg on the fly, based on IP
//
$FILENAME = "ks.cfg";
$body = "";
if (file_exists ("$FILENAME")) {
$fd = fopen ("$FILENAME", "r");
while (!feof ($fd)) {
$buffer = fgets($fd, 4096);
$body .= $buffer;
}
fclose ($fd);
}
//
print "$body";
print "reboot \n";
//
$recipient = "notify owlriver com";
$subject = "PXE install - start";
$body = "";
$body .= "Install starts \n";
$body .= "----------------------------------------- \n";
$body .= "end of file";
//
mail ($recipient,$subject,$body) ;
//
[root ftp kickstart]#
and not surprisingly done.php is read in a %post section:
[root ftp kickstart]# cat done.php
<?php
//
// send an EOJ notice after an install
//
$recipient = "notify owlriver com";
$subject = "PXE install done ";
$body = "";
$body .= "Install done \n";
$body .= "----------------------------------------- \n";
$FILENAME = "ks.cfg";
if (file_exists ("$FILENAME")) {
$fd = fopen ("$FILENAME", "r");
while (!feof ($fd)) {
$buffer = fgets($fd, 4096);
$body .= $buffer;
}
fclose ($fd);
// $null = "-placeholder- \n";
} else {
$body .= "kickstart file missing \n";
}
$body .= "----------------------------------------- \n";
$body .= "end of file";
//
mail ($recipient,$subject,$body) ;
//
header("Location: http://www.owlriver.com/");
//
[root ftp kickstart]#
with code like this:
[root ftp kickstart]# tail ks.cfg-90
# for tftp install notifications
sox
libogg
libvorbis
-lokkit
-mutt
%post
wget -O /dev/null -U "orc/9.0" http://10.250.0.253/pub/kickstart/done.php
[root ftp kickstart]#
----------------------------------
I am getting a wierd hangup sometimes, but I think this may be
hardware related.
-- Russ Herrold
--
end
======================================+
.-- -... ---.. ... -.- -.-- |
Copyright (C) 2003 R P Herrold | Owl River Company
herrold owlriver com NIC: RPH5 (US) | "The World is Open to Linux (tm)"
My words are not deathless prose, | Open Source LINUX solutions ...
but they are mine. | info owlriver com -- Columbus, OH
gpg --keyserver pgp.mit.edu --recv-key 0x7BFB98B9
gpg --list-keys 2> /dev/null | grep 7BFB98B9
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]