File:  [LON-CAPA] / doc / Attic / anaconda_packages.txt
Revision 1.1: download - view: text, annotated - select for diffs
Wed Aug 30 19:03:57 2000 UTC (23 years, 8 months ago) by harris41
Branches: MAIN
CVS tags: stable_2002_spring, stable_2001_fall, HEAD
This discusses how to alter various aspects of the RedHat installation interfaces (both graphical-based and text-based).

    1: Hello,
    2: 
    3: Note: The MySQL installation is resolved and has been placed on zaphod.
    4: 
    5: Now, onto the GUI/text-interface for LON-CAPA computer installation.
    6: There was very little documentation on all of this, but after a few modified
    7: anaconda install interfaces, I think I've figured out much of the basics
    8: which I'm describing so you can know what is going on.
    9: 
   10: There are 7556 lines of python which control user input, hardware detection,
   11: package processing, and other functions of RedHat 6.2 installation.
   12: 
   13: These 7556 lines of python are distributed over 22 python module files.
   14: 
   15: comps.py
   16: fstab.py
   17: gettext_rh.py
   18: gzread.py
   19: harddrive.py
   20: image.py
   21: installclass.py
   22: isys.py
   23: iutil.py
   24: kbd.py
   25: kickstart.py
   26: lilo.py
   27: mouse.py
   28: pcmcia.py
   29: raid.py
   30: simpleconfig.py
   31: syslogd.py
   32: text.py
   33: todo.py
   34: translate.py
   35: urlinstall.py
   36: xf86config.py
   37: 
   38: These 7556 lines of python are buried away in duplicate form in the following
   39: two files on the RedHat CD: RedHat/base/netstg2.img
   40:                           & Redhat/base/hdstg2.img
   41: 
   42: These .img files are gzipped ext2 loopback filesystems which can be mounted
   43: (mount -o loop) after decompression (gzip -dc).  Within these filesystems,
   44: there is a usr/lib/anaconda.cgz file which, when unzipped (gzip -dc) provides
   45: a cpio file.  This cpio file has contents that can be extracted with the
   46: cpio -idumv command.  After manipulating the extracted contents, an
   47: updated gzipped ext2 filesystem must be recreated by following the steps
   48: in reverse:
   49: * go to the directory right above the generated extraction directory
   50: * use this command; 
   51:    find anaconda | cpio --quiet -H crc -o | gzip -9 > anaconda.cgz
   52: * place anaconda.cgz on mounted ext2 image
   53: * unmount image
   54: * compress image (gzip -9)
   55: * place image back on the RedHat CD image you are developing.
   56: 
   57: Quite a number of steps, but believe me, it works just fine.
   58: 
   59: The 22 anaconda python modules are described as best I can by
   60: looking at the source code and the occasional comments distributed
   61: in the source code:
   62: 
   63: comps.py - reads in the RedHat/base/comps file to calculate
   64:            package groupings and dependencies necessary to
   65:            produce the type of RedHat system selected by the user
   66:            (in the original CD; Gnome, KDE, Server, customized)
   67: fstab.py - evaluates, detects, and partitions the hard drive installation
   68:            media present on the computer that is being installed onto
   69: gettext_rh.py - use GNU gettext message catalogs for both graphical-based
   70:                 installation GUIs and text-based UIs.  Provides algorithm for
   71:                 all those scrolling lists of choices you see during a RedHat
   72:                 install
   73: gzread.py - a python script for reading and writing gzipped files
   74: harddrive.py - "install method for disk image installs (CD & NFS)"
   75: image.py - "install method for disk image installs (CD & NFS)", looks like
   76:            generic API without the details of harddrive.py
   77: installclass.py - this is a public interface class.  RedHat recommends that
   78:                   ISVs (like us) customize installs by creating a new derived
   79:                   type of this class.
   80:                   This class appears to set up the installation steps that
   81:                   the user is to be taken through.
   82: isys.py - basic hardware detection of disks, smp, pci devices, network cards
   83: iutil.py - hardware detection of CPU architecture, clock configuration,
   84:      utilities for file installations and test executions (such as X-windows
   85:      testing)
   86: kbd.py - coordinates keyboard selection and character mapping
   87: kickstart.py - coordinates skipping of all installation steps so as to do
   88:                a fully automatic install
   89: lilo.py - sets up the computer being installed on to be bootable on a loaded
   90:           linux kernel on the boot record
   91: mouse.py - sets up mouse configuration
   92: pcmcia.py - works with pcmcia devices and probing
   93: raid.py - driver for redundant arrays of identical disk
   94: simpleconfig.py - generic data description of manipulating a config file on 
   95:                   the system
   96: syslogd.py - logs events on the system during the installation
   97: text.py - encodes the presentation of text-based user interfaces for an
   98:           installation (as opposed to graphical-based)
   99: todo.py - an aggregated listing of various things the installation has "to do"
  100: translate.py - presents a cataloguing of different foreign language phrases 
  101:                to allow for non-English-based installations
  102: urlinstall.py - installation method for http-based network installs
  103: xf86config.py - (opposite of text.py) encodes the presentation of
  104:                 graphical-based user interfaces for an installation
  105: 
  106: So, in conclusion, the scripts that I will modify are
  107: xf86config.py, text.py, installclass.py, comps.py, and urlinstall.py.
  108: 
  109: -Scott

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>