[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [SAGE] Looking for call management/helpdesk software
On Thu, Jan 09, 2003 at 07:48:42PM -0500, Cat Okita wrote:
> On Thu, 9 Jan 2003, Jim Hickstein wrote:
>> I'm not familiar with this, but I think it exists, and it's fairly highly
>> developed. Jim Dennis gave a quick talk about this at the last BayLISA
>> meeting (but I wasn't paying attention -- sorry, Jim.) You might want to
>> start your research with "PXE". This seems to be the PC-type thing that
>> can boot over the network while still under control of the ROM.
> My recollection from the last time I touched PXE was that you could use
> it (all presuming that you have the right revision on the card et al) to
> boot off of a specified image - but that you still needed to hand off
> control to something like kickstart or jumpstart.
> Dunno about you - I'm not too eager to write either myself ;>
Part of H Peter Anvin's SYSLINUX package (the dominant one used to
create boot Linux floppies on MSDOS/FAT filesystems, and thus used
to make El Torito images --- the thing that gives you the boot prompt
during a Red Hat boot for installation) is called PXELinux. That is
the network boot loader, fetched by a slight variant of tftp (part of
the PXE process, after its DHCP).
PXELinux then fetches a config file (host, or subnet specific, or
the site-wide/server default.cfg). You can subnet on nibble boundaries
in the PXELinux scheme. (It takes the IP addr given via DHCP,
represent it as a simple hex string and try AABBCCDD then AABBCCD, then
AABBCC, AABBC, AABB, etc.) That config file as the same syntax as a
syslinux.cfg file. It can specify multiple boot options, prompt the
user to select one, timeout and automatically load one, etc. Each
stanza or boot item specifies a kernel file, an optional initrd
(initial RAMdisk) image, and an arbitrary set of command line arguments
passed to the kernel, and thence to the init process via it's command
tail and/or its environment.
* (A relatively obscure note about Linux kernel command line parsing
--- after all kernel options/arguments have been processed, anything
that's left that is in the form: FOO=BAR is set at part of the init
process' environment. Anything left after that is passed to the
init process' command line. All of the kernel command line remains
available throughout the session by cat'ing /proc/cmdline; I use
set -- `cat /proc/cmdline` to pass my own arguments into my Kickstart
postinstall scripts. I also use wget -O - .... | sh - to dynamically
pull my postinstall scripts from the kickstart server unto the local
machine --- and I parse H= and M= variables to process a whole
hierarchy of H/domain postinstallation scripts and Machine type
installation scripts).
The gist of all of this is that you can take any bootable Linux
floppy, turn it into an initrd, and use that over PXE. Thus you can
prototype your own custom installer using any scripting language you
like.
BTW: Anaconda (the installation program which features kickstart) is
actually a Python script --- thus the serpentine name ;)
So, Cat, I think you wouldn't find this to be as painful as you
seem to imply.
Personally I think the hardest part would be to replace sfdisk. It's
"scriptability" is pathetic.
--
Jim Dennis