Annotation of doc/anaconda_packages.txt, revision 1.1
1.1 ! harris41 1: Hello,
! 3: Note: The MySQL installation is resolved and has been placed on zaphod.
! 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.
! 10: There are 7556 lines of python which control user input, hardware detection,
! 11: package processing, and other functions of RedHat 6.2 installation.
! 13: These 7556 lines of python are distributed over 22 python module files.
! 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
! 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
! 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.
! 57: Quite a number of steps, but believe me, it works just fine.
! 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:
! 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
! 106: So, in conclusion, the scripts that I will modify are
! 107: xf86config.py, text.py, installclass.py, comps.py, and urlinstall.py.
! 109: -Scott