[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