Annotation of doc/anaconda_packages.txt, revision 1.1

1.1     ! harris41    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>