home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / mini / ZIP-Install < prev   
Text File  |  1998-01-28  |  34KB  |  881 lines

  1.   Installing Linux on ZIP disk using ppa ZIP Drive Mini-Howto
  2.   John Wiggins, jwiggins@comp.uark.edu
  3.   v0.7, 26 January 1998
  4.  
  5.   This document is only useful for those with the printer port version
  6.   of a ZIP drive who wish to have either a portable or backup Linux sys¡
  7.   tem on a ZIP disk.
  8.  
  9.   1.  Disclaimer
  10.  
  11.   NOTE: I have no idea if the IDE drive works the same way as the
  12.   printer port version does since I don't have one, so please don't ask
  13.   me.
  14.  
  15.   The Debian install portion was basically just copied with little or no
  16.   editing by this author.  As such, there may be some duplication of
  17.   instructions.
  18.  
  19.   This document assumes the following:
  20.  
  21.   ╖  You have a printer port ZIP drive (since the ZIP Plus has both, I
  22.      assume that it will work as well.)
  23.  
  24.   ╖  You already have Linux installed and running; this document is not
  25.      for a first time install of Linux.
  26.  
  27.   ╖  You have ppa support in your current kernel or if module, the ppa
  28.      module has been loaded.
  29.  
  30.   ╖  The mount point for the ZIP disk is the /iomega directory.
  31.  
  32.   2.  Introduction
  33.  
  34.   This document is divided into four basic sections each describing how
  35.   to install a bare-bones Linux system on a 100MB ZIP disk using a
  36.   printer port ZIP drive.  The first section describes how to set up the
  37.   ZIP disk and is common to both Red Hat and Slackware distribution
  38.   installations.  The second, third, and fourth sections describe how to
  39.   install Red Hat 4.2, Slackware 2.2, and Debian 1.2 distributions,
  40.   respectively, onto the ZIP disk.
  41.  
  42.   NOTE: I realize that Red Hat 5.0 has been released now, but between
  43.   classes and work, well let's just say that it may be late May before I
  44.   can get around to work on it.  I also, hopefully, will be testing out
  45.   the other distributions.
  46.  
  47.   2.1.  What's new
  48.  
  49.   I've finally found enough time (although I really should be studying
  50.   for a sociology test...) to update this document.  Thanks for all who
  51.   emailed me with comments.
  52.  
  53.   New to this document:
  54.  
  55.   ╖  The Debian distribution
  56.  
  57.   ╖  LILO on the floppy
  58.  
  59.   ╖  New version of Red Hat (4.2 Biltmore)
  60.  
  61.   ╖  Network configuration (For Red Hat; Untested)
  62.  
  63.   2.2.  Conventions
  64.  
  65.   Indicates the following text are commands:
  66.  
  67.   ==> Indicates something noteworthy:
  68.  
  69.        ______________________________________________________________________
  70.          NOTE:
  71.        ______________________________________________________________________
  72.  
  73.   Indicates a screen shot/capture:
  74.  
  75.        ______________________________________________________________________
  76.              Text here.
  77.        ______________________________________________________________________
  78.  
  79.   2.3.  Updates
  80.  
  81.   For any updates, however rare they may be, please check:
  82.   http://comp.uark.edu/~jwiggins/linuxZIP/
  83.  
  84.   2.4.  References
  85.  
  86.   ╖  Installation-HOWTO
  87.  
  88.   ╖  SCSI-HOWTO
  89.  
  90.   ╖  NET-3-HOWTO (for section 4.3.3)
  91.  
  92.   ╖  ZIP-Drive (mini-HOWTO)
  93.  
  94.   ╖  ParPort kernel patch (gives access to pass-through printer port)
  95.      http://www.cyberelk.demon.co.uk/parport/
  96.  
  97.   2.4.1.  Acknowledgments/Contributors
  98.  
  99.   Slackware 2.2 section courtesy of Michael Littlejohn
  100.   mike@mesa7.mesa.colorado.edu
  101.  
  102.   Debian 1.2 section courtesy of John D. Blair jdblair@uab.edu
  103.  
  104.   LILO information and many other helpful insight courtesy of Darcy
  105.   Boese possum@niagara.com and Javier Rodriguez
  106.   jrodrigu@nextgeninter.net.mx
  107.  
  108.   3.  Setting up the ZIP disk
  109.  
  110.   (Common for both Red Hat and Slackware distributions.)  Before
  111.   starting, make sure that you have access to the ZIP  drive; either by
  112.   having ppa in the kernel or by having the ppa module loaded.  One easy
  113.   way to find this out is by checking dmesg:
  114.    ==> dmesg
  115.  
  116.   You may have to pipe this to more as dmesg tends to be rather long.
  117.   Here's a snip from mine:
  118.  
  119.        ______________________________________________________________________
  120.        scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc.
  121.        scsi : 1 host.
  122.          Vendor: IOMEGA    Model: ZIP 100           Rev: D.08
  123.          Type:   Direct-Access                      ANSI SCSI revision: 02
  124.        Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
  125.        SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
  126.         sda: Write Protect is off
  127.         sda: sda1 sda2
  128.        ______________________________________________________________________
  129.  
  130.   If you only see something like:
  131.  
  132.        ______________________________________________________________________
  133.           scsi : 0 hosts.
  134.           scsi : detected total.
  135.        ______________________________________________________________________
  136.  
  137.   then you have SCSI support but the ZIP wasn't found.
  138.  
  139.   3.1.  Partitioning ZIP disk
  140.  
  141.   To partition the ZIP disk, run fdisk:
  142.  
  143.    ==> fdisk /dev/sda/
  144.  
  145.   Here is a snap of the partition table I have setup:
  146.  
  147.        ______________________________________________________________________
  148.         Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
  149.         Units = cylinders of 2048 * 512 bytes
  150.  
  151.            Device Boot   Begin    Start      End   Blocks   Id  System
  152.         /dev/sda1            1        1       81    82928   83  Linux native
  153.         /dev/sda2           82       82       96    15360   82  Linux swap
  154.        ______________________________________________________________________
  155.  
  156.   I decided to use a swap partition since I wanted to be able to use
  157.   this with any machine.
  158.  
  159.   3.2.  Formatting and mounting the ZIP disk
  160.  
  161.   After running fdisk, format the new partition:
  162.  
  163.    ==> mke2fs -c /dev/sda1
  164.  
  165.   Then, create the swap partition: (15360 blocks as taken from fdisk)
  166.  
  167.    ==> mkswap -c /dev/sda2 15360
  168.  
  169.   Last, you'll need to mount the ZIP disk:
  170.  
  171.    ==> mount /dev/sda1 /iomega -t ext2
  172.  
  173.   3.3.  Creating the boot disk
  174.  
  175.   Since the ppa version of the ZIP drive isn't a true SCSI device, it
  176.   isn't a bootable device and, therefore, requires a boot disk which has
  177.   ppa included in the kernel and not as a module.
  178.  
  179.   3.3.1.  Configuring and making the kernel
  180.  
  181.   First, you'll need to configure and make a kernel that has ppa support
  182.   enabled and not as a loadable module.  In order to get to the ppa
  183.   option, select SCSI support:
  184.  
  185.    SCSI support (CONFIG_SCSI) Y/m/n/?
  186.  
  187.   Plus, SCSI disk support:
  188.  
  189.    SCSI disk support (CONFIG_BLK_DEV_SD) Y/m/n/?
  190.  
  191.   And finally, under the SCSI low-level drivers, is the ppa support:
  192.  
  193.    IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA) Y/m/n/?
  194.  
  195.   Again, be sure not to include ppa as a module, but rather in the
  196.   kernel.  Thus far, without the use of the parport kernel patch (see
  197.   1.4), the ppa driver will not allow the passive port of the ZIP drive
  198.   to be used for a printer, so you may want to say no to parallel
  199.   printer support:
  200.  
  201.    Parallel printer support (CONFIG_PRINTER) N/y/m/?
  202.  
  203.        ______________________________________________________________________
  204.          NOTE: For more information concerning the ppa driver, please
  205.                refer to the ZIP-Drive mini-HOWTO.
  206.        ______________________________________________________________________
  207.  
  208.   Once the kernel is configured, make the kernel:
  209.  
  210.    ==> make dep; make clean; make zImage
  211.  
  212.   The new kernel should be found in arch/i386/boot/zImage.
  213.  
  214.   3.3.2.  Getting the kernel to a floppy
  215.  
  216.   After having to have 4 separate floppies due to different kernels and
  217.   needing different parameters, (plus the great email I got telling me
  218.   how to do this) I have included a section on LILO as one of the means
  219.   of creating a bootable floppy.
  220.  
  221.   3.3.2.1.  LILO installation
  222.  
  223.   For those who have to, or for that matter just want to, have several
  224.   kernels on one floppy (now adays, mine are too large) or just want to
  225.   be able to pass arguments (such as single user mode) I received email
  226.   on how to install LILO on a floppy.
  227.  
  228.   3.3.2.1.1.  Creating the ext2 filesystem
  229.  
  230.   To create an ext2 filesystem on a floppy, just do the same command for
  231.   the ZIP disk:
  232.  
  233.    ==> mke2fs -t /dev/fd0
  234.  
  235.   3.3.2.1.2.  Copying the essential files
  236.  
  237.   Next, make sure there's a directory for a mount point, and mount the
  238.   floppy (I used /mnt/floppy):
  239.  
  240.    ==> mount /dev/fd0 /mnt/floppy -t ext2
  241.  
  242.   is to boot properly, you'll need the same files that LILO uses on your
  243.   current Linux installation.
  244.  
  245.        ______________________________________________________________________
  246.            NOTE: The file locations here are from my machine
  247.                  and may not be the same for everyone.
  248.        ______________________________________________________________________
  249.  
  250.    ==> cp /boot/boot.b /mnt/floppy
  251.  
  252.    ==> cp /boot/map /mnt/floppy
  253.  
  254.    ==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK
  255.  
  256.   Now to create the config file for LILO, now I miss the liloconfig
  257.   program... (Thanks to Javier Rodriguez for this info) First, create
  258.   the LILO config file, /mnt/floppy/lilo.conf, for the kernel(s) for the
  259.   ZIP disk.  Here's what I used so that I could have different kernels
  260.   to test with:
  261.  
  262.   ______________________________________________________________________
  263.   boot=/dev/fd0
  264.   map=/mnt/floppy/map
  265.   install=/mnt/floppy/boot.b
  266.   prompt
  267.   compact
  268.   timeout=50
  269.   image=/mnt/floppy/vmlinuzLAP
  270.      label=Laptop
  271.      root=/dev/sda1
  272.      read-only
  273.   image=/mnt/floppy/vmlinuzDESK
  274.      label=Desktop
  275.      root=/dev/sda1
  276.      read-only
  277.   image=/mnt/floppy/vmlinuzDESK
  278.      label=rescue
  279.      root=/dev/hdc1
  280.      read-only
  281.   ______________________________________________________________________
  282.  
  283.   I have two kernels, one for my 486 laptop which required the math-co
  284.   emulation in the kernel and the other for my desktop.  The rescue
  285.   allows me to make an emergency boot to the hard drive.
  286.  
  287.   Last but not least, with the floppy still mounted, run LILO to install
  288.   it on the floppy with the command:
  289.  
  290.    ==> lilo -C /mnt/floppy/lilo.conf
  291.  
  292.   Once LILO has been installed on the floppy, skip the next two steps,
  293.   unless you enjoy doing this over again :)
  294.  
  295.   3.3.2.2.  Kernel only installation
  296.  
  297.        ______________________________________________________________________
  298.           NOTE: This does not pertain for the LILO install.
  299.        ______________________________________________________________________
  300.  
  301.   Copy the newly made kernel to a floppy disk:
  302.  
  303.    ==> cp arch/i386/boot/zImage /dev/fd0
  304.  
  305.   or
  306.  
  307.    ==> cat arch/i386/boot/zImage > /dev/fd0
  308.  
  309.   Yes, there are many ways to copy the kernel to a floppy, but the last
  310.   way, my favorite, is a little more encrypted.  Try not to forget the >
  311.   unless you like viewing binary files :)
  312.  
  313.   3.3.2.2.1.  Setting the root and swap on the floppy
  314.  
  315.   ______________________________________________________________________
  316.      NOTE: This does not pertain for the LILO install.
  317.   ______________________________________________________________________
  318.  
  319.   Once the kernel is on the floppy, you need to set the root device to
  320.   the ZIP disk:
  321.    ==> rdev /dev/fd0 /dev/sda1 I'm not sure if the next option is
  322.   needed, but I did it none the less.  To set the swap:
  323.  
  324.    ==> rdev -s /dev/fd0 /dev/sda2
  325.  
  326.   4.  Red Hat 4.2 installation
  327.  
  328.   With anything computer related, something 3 months old is considered
  329.   obsolete and is in need of upgrading.  Since I'm not always going to
  330.   have the time to update this document with every update, I'll try my
  331.   best to at least update it every other version.  As for the other
  332.   distributions, unless the authors wish to send updates, they well
  333.   remain as they are.
  334.  
  335.   4.1.  Personal setup
  336.  
  337.   For my installation, I have and used:
  338.  
  339.   ╖  Kernel 2.0.30
  340.  
  341.   ╖  Iomega ppa disk drive
  342.  
  343.   ╖  Red Hat 4.2
  344.  
  345.   4.2.  Package installation
  346.  
  347.   When I first decided to attempt to install Red Hat on a ZIP disk, I
  348.   figured it would be much easier to just use a Red Hat boot disk.  Then
  349.   I woke up.  I came very close to actually getting a boot disk created,
  350.   even got help from various folks at Red Hat via e-mail but ultimately
  351.   I began to give up on the whole project when I discovered the --root
  352.   option with rpm.
  353.  
  354.   4.2.1.  What packages to get
  355.  
  356.   I found what packages to install by browsing a file I had found on one
  357.   of Red Hat's mirrors.  This file can be found on any mirror at:
  358.  
  359.          redhat/redhat-4.2/i386/RedHat/base/comps
  360.  
  361.   For this installation, I wanted to include network support but due to
  362.   Red Hat's X network configuration, I'm going to have to manually
  363.   configure, or rather manually attempt to configure, the network setup
  364.   scripts found in /etc/sysconfig/ (see section 4.3.3.)
  365.  
  366.   I decided against installing any development packages as the ZIP
  367.   drive, at least an unpatched kernel version, is rather slow to get
  368.   anything to compile.  I also choose not to install X mainly for disk
  369.   space issues.  Later on, I may attempt to mount my hard drive and
  370.   create a symlink with /usr to see if I can get X to work.
  371.  
  372.   Following is a list of what packages I installed, listed in order of
  373.   installation.  Those marked with a * have updates from Red Hat's
  374.   errata.  In parentheses is the updated package number;
  375.  
  376.        e.g. NetKit-B-0.09-6 was updated to NetKit-B-0.09-8 so the entry
  377.            would be: *91) NetKit-B-0.09-6 (-8)
  378.  
  379.   ______________________________________________________________________
  380.  
  381.         (List created by the command rpm --root /iomega -qa)
  382.  
  383.          1) setup-1.7-2                   2) pamconfig-0.51-2
  384.          3) filesystem-1.3-1              4) MAKEDEV-2.2-9
  385.          5) adduser-1.7-1                 6) libc-5.3.12-18
  386.          7) SysVinit-2.64-8               8) ash-0.2-8
  387.          9) at-2.9b-2                    10) libtermcap-2.0.8-4
  388.         11) bash-1.14.7-1                12) bc-1.03-6
  389.         13) bdflush-1.5-5                14) cpio-2.4.2-4
  390.         15) cracklib-dicts-2.5-1         16) tmpwatch-1.2-1
  391.         17) crontabs-1.5-1              *18) db-1.85-10 (-11)
  392.         19) dev-2.5.1-1                  20) diffutils-2.7-5
  393.         21) etcskel-1.3-1                22) file-3.22-5
  394.         23) fileutils-3.16-1             24) findutils-4.1-11
  395.         25) grep-2.0-5                   26) groff-1.10-8
  396.        *27) ld.so-1.7.14-4 (-5)          28) getty_ps-2.0.7h-4
  397.         29) gzip-1.2.4-7                 30) mingetty-0.9.4-3
  398.        *31) initscripts-2.92-1 (93-1)    32) ed-0.2-5
  399.         33) info-3.9-1                   34) ncurses-1.9.9e-4
  400.         35) libg++-2.7.1.4-5            *36) pwdb-0.54-3 (-4)
  401.         37) rootfiles-1.5-1             *38) pam-0.57-2 (-4)
  402.         39) redhat-release-4.2-1         40) less-321-3
  403.         41) mount-2.5l-2                 42) zlib-1.0.4-1
  404.         43) rpm-2.3.11-1                 44) e2fsprogs-1.10-0
  405.         45) sysklogd-1.3-15              46) tar-1.11.8-11
  406.         47) passwd-0.50-7                48) gawk-3.0.2-1
  407.         49) gdbm-1.7.3-8                 50) gpm-1.10-8
  408.         51) hdparm-3.1-2                 52) kbd-0.91-9
  409.         53) slang-0.99.37-2              54) newt-0.8-1
  410.         55) kbdconfig-1.4-1              56) ncompress-4.2.4-7
  411.        *57) sh-utils-1.16-4 (-5)         58) procinfo-0.9-1
  412.        *59) logrotate-2.3-3 (4-1)        60) lilo-0.19-1
  413.         61) losetup-2.5l-2               62) linuxthreads-0.5-1
  414.        *63) mkinitrd-1.6-1 (7-1)         64) mailcap-1.0-3
  415.        *65) man-1.4h-5 (j-1)             66) mt-st-0.4-2
  416.         67) modules-2.0.0-5              68) mailx-5.5.kw-6
  417.         69) net-tools-1.32.alpha-2       70) procmail-3.10-10
  418.         71) procps-1.01-11               72) psmisc-11-4
  419.         73) quota-1.55-4                 74) readline-2.0-10
  420.         75) sed-2.05-6                   76) setconsole-1.0-1
  421.         77) sendmail-8.8.5-4             78) shadow-utils-960530-6
  422.         79) stat-1.5-5                   80) tcsh-6.06-10
  423.         81) termcap-9.12.6-5             82) textutils-1.22-1
  424.         83) time-1.7-1                   84) timeconfig-1.8-1
  425.         85) util-linux-2.5-38            86) vim-4.5-2
  426.         87) vixie-cron-3.0.1-14          88) which-1.0-5
  427.         89) zoneinfo-96i-4               90) tcp_wrappers-7.5-1
  428.        *91) NetKit-B-0.09-6 (-8)        *92) lpr-0.18-1 (19-1)
  429.        *93) bind-4.9.5p1-2 (9.6-1)      *94) bind-utils-4.9.5p1-2 (9.6-1)
  430.        *95) wu-ftpd-2.4.2b12-6 (b15-1)   96) anonftp-2.3-3
  431.         97) zip-2.1-1                    98) unzip-5.12-5
  432.         99) statserial-1.1-7            100) minicom-1.75-2
  433.        101) lrzsz-0.12.14-1             102) dip-3.3.7o-9
  434.        103) ppp-2.2.0f-3                104) portmap-4.0-3
  435.        105) perl-5.003-8               *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
  436.       *107) elm-2.4.25-7 (-8)           108) lynx-2.6-2
  437.        109) ncftp-2.3.0-5               110) pine-3.95-2
  438.        111) rdate-0.960923-1            112) apache-1.1.3-3
  439.       *113) nfs-server-2.2beta16-7     *114) nfs-server-clients-2.2beta16-7
  440.             (2.2beta16-8)                    (2.2beta16-8)
  441.   ______________________________________________________________________
  442.  
  443.   And with all the above installed, I still have 32MB left!
  444.  
  445.   4.2.1.1.  Updates; errata
  446.  
  447.   As many, I hope, Red Hat users know, some packages may be found to
  448.   have some security flaws or anything else which may cause issues to
  449.   arise.  For this reason, Red Hat releases updates for such packages.
  450.   I have updated what packages I had which had updates and are marked in
  451.   the above list.  Please refer to Red Hat's web page concerning the
  452.   updated packages at:
  453.  
  454.   http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
  455.  
  456.        ______________________________________________________________________
  457.           NOTE: Before you can update the packages, you'll have to
  458.                 run the ldconfig as described in section 3.3.1.1.
  459.        ______________________________________________________________________
  460.  
  461.   4.2.2.  How to install packages with rpm; without glint
  462.  
  463.   With rpm, use the --root option to specify the mounted directory as
  464.   the root for installation.  I had discovered that many packages were
  465.   failing to install becuase of preinstall or postinstall scripts that
  466.   weren't executing correctly due to the different root directory, thus,
  467.   use the --noscripts option:
  468.  
  469.    ==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm
  470.  
  471.   As I'm sure many will notice, you should get an error message like:
  472.  
  473.        ______________________________________________________________________
  474.          failed to open /iomega/var/lib/rpm/packages.rpm
  475.  
  476.          error: cannot open /iomega/var/lib/rpm/packages.rpm
  477.        ______________________________________________________________________
  478.  
  479.   So, just create the var/lib/rpm directory :)
  480.  
  481.    ==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir
  482.   /iomega/var/lib/rpm
  483.  
  484.   4.2.3.  Which came first, pamconfig or pam?
  485.  
  486.   If anyone's tried to install pamconfig, it'll complain about a failed
  487.   dependency of pam; and when you go try to install pam, pam complains
  488.   about a failed dependency of pamconfig!  This, being the chicken or
  489.   the egg issue, puzzled me for a while, but thanks to the --nodeps
  490.   flag, we can force pamconfig to install; besides pam has more failed
  491.   dependencies than just pamconfig.
  492.  
  493.    ==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
  494.  
  495.   4.3.  Problems after installation of packages
  496.  
  497.   Once everything is all nicely installed, unfortunately, the disk is
  498.   not fully functionable, if that's a word.  What I mean to say is, if
  499.   you try to boot now with the floppy, you won't get very far.  As soon
  500.   as init tries to start up, you'll get two lovely errors; both of which
  501.   complain about some files not being found that would have been made
  502.   had the scripts been run.
  503.  
  504.   4.3.1.  The case of the missing /etc/ld.so.cache and libc.so.5
  505.  
  506.   If you tried booting, you'd get two error messages, the first will be
  507.   the abscence of /etc/ld.so.cache file.  The second complains about a
  508.   missing libc.so.5.
  509.  
  510.   4.3.1.1.  /etc/ld.so.cache
  511.  
  512.   As mentioned by many readers, my previous instructions didn't quite
  513.   work as stated.  In order to get this file created, you'll have to run
  514.   ldconfig while the ZIP disk is still mounted:
  515.  
  516.    ==> chroot /iomega /sbin/ldconfig
  517.  
  518.   Thanks to Javier Rodriguez for this solution.
  519.  
  520.   4.3.1.2.  libc.so.5
  521.  
  522.   To solve the missing lib case, you'll have to create a symlink which
  523.   would have been created by the installation scripts.
  524.  
  525.    ==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
  526.  
  527.   Thanks to Darcy Boese for this solution.
  528.  
  529.   4.3.2.  Setting root password
  530.  
  531.   Just as ldconfig was ran in 4.3.1.1, you might as well change/create a
  532.   root password for this new system:
  533.  
  534.    ==> chroot /iomega passwd root
  535.  
  536.   4.3.3.  What the install program created
  537.  
  538.        ______________________________________________________________________
  539.               NOTE: This is just a very brief setup, one which I haven't
  540.                     been able to test to see if it works.  In theory it
  541.                     should, but please do not send me complaints saying
  542.                     that this didn't work.
  543.        ______________________________________________________________________
  544.  
  545.   While exploring my Red Had 4.2 CD-ROM, I came across something rather
  546.   interesting; the source code for the install program.  I found it
  547.   under /misc/src/install and one thing which I found of some use was
  548.   the net.c file.  In this, I found what other files that would be
  549.   created had the install program been run.  Most of these just give
  550.   network support (hince the name net.c) but even if you don't have a
  551.   network card, you can still use localhost for networking (plus apache
  552.   will complain about not being able to determine a hostname.)  These
  553.   files include:
  554.  
  555.              /etc/hosts
  556.              /etc/HOSTNAME
  557.              /etc/resolv.conf
  558.              /etc/sysconfig/network
  559.              /etc/sysconfig/network-scripts/ifcfg-eth0
  560.              (or any other network device you may have.)
  561.  
  562.   4.3.4.  Networking setup
  563.  
  564.   For this document, I wanted network support for my 3Com 3c595 fast-
  565.   ethernet card (which for the last several months has been used in
  566.   another machine.)
  567.  
  568.   First I needed a name, and since I'm running my own name server (which
  569.   is another long story) I gave myself the name: dash-dot.wig.org (I
  570.   just liked the sound of it.)  Having a name without an IP is kind of
  571.   pointless, so I used a reserved non-internet usable network of
  572.   192.168.10.0 which my name server also uses.  Even though the hostname
  573.   is typically stored in /etc/HOSTNAME, Red Hat checks for
  574.   /etc/sysconfig/network for this name; so let's start there.  Sample of
  575.   my /etc/sysconfig/network:
  576.  
  577.        ______________________________________________________________________
  578.          NETWORKING=yes
  579.          HOSTNAME=dash-dot
  580.          DOMAINNAME=wig.org
  581.          GATEWAY=
  582.          GATEWAYDEV=eth0
  583.          NS1=192.168.10.7
  584.        ______________________________________________________________________
  585.  
  586.   Next, bascially duplicate the same info here for /etc/HOSTNAME,
  587.   /etc/resolv.conf, and /etc/hosts:
  588.  
  589.   /etc/HOSTNAME:
  590.  
  591.        ______________________________________________________________________
  592.        dash-dot.wig.org
  593.        ______________________________________________________________________
  594.  
  595.   /etc/resolv.conf:
  596.  
  597.   ______________________________________________________________________
  598.   search wig.org
  599.   nameserver ns.wig.org
  600.   ______________________________________________________________________
  601.  
  602.   /etc/hosts:
  603.  
  604.        ______________________________________________________________________
  605.        127.0.0.1 localhost
  606.        192.168.10.99 dash-dot.wig.org dash-dot
  607.        192.168.10.7  ns.wig.org ns
  608.        ______________________________________________________________________
  609.  
  610.   Red Hat configures all network devices from scripts found in
  611.   /etc/sysconfig/network-scripts.  The configuration of any network
  612.   device is usually first created via the install program so I had to
  613.   create these config files manually.  They all begin with ifcfg-XXX
  614.   where XXX is the network interface which ifconfig brings up; e.g.
  615.   ppp0, eth0, etc.  For this example, I had to create a file called
  616.   ifcfg-eth0 which contains the following:
  617.  
  618.        ______________________________________________________________________
  619.          DEVICE=eth0
  620.          ONBOOT=yes
  621.          BOOTPROTO=none
  622.          BROADCAST=192.168.10.255
  623.          NETWORK=192.168.10.0
  624.          NETMASK=255.255.255.0
  625.          IPADDR=192.168.10.99
  626.        ______________________________________________________________________
  627.  
  628.   And last but not least, in order to get this going right now, while in
  629.   the /etc/sysconfig/network-scripts directory, just run:
  630.  
  631.    ==> ./ifup ifcfg-eth0 boot
  632.  
  633.   This will start the script which configures the network interface if
  634.   that interface was set to start at 'boot' time.
  635.  
  636.   For further information, please refer to the NET-3-HOWTO document.
  637.  
  638.   5.  Slackware 2.2 installation
  639.  
  640.        ______________________________________________________________________
  641.            NOTE: This portion has not been updated.
  642.        ______________________________________________________________________
  643.  
  644.   5.1.  Requirements
  645.  
  646.   ╖  ZIP Disk and Drive (obviously)
  647.  
  648.   ╖  Kernel with ZIP support
  649.  
  650.   ╖  ZIP Howto (recommended)
  651.  
  652.   ╖  1.44" HD formated floppy
  653.  
  654.   ╖  1 to 2 hours of time
  655.  
  656.   5.2.  Installation
  657.  
  658.   Okay, now comes the fun part: Figuring out what files need to be on
  659.   the system disk, and what packages that you want (and can fit) on your
  660.   ZIP drive.
  661.  
  662.   I decided that the easiest way to get started was install Slackware
  663.   directly to the ZIP drive.  I decided on this approach mostly because
  664.   Slackware is a smaller distribution then Red Hat, and it would be
  665.   easier to trim out what I didn't want.  That and the fact that I am
  666.   using the Slackware distribution anyway made it an obvious choice.
  667.  
  668.   Installing Slackware onto the ZIP disk is easy, as root run the setup
  669.   program, and choose /iomega as the install to partition, set the
  670.   install from partition to where the Slackware sources are (cdrom,
  671.   hardrive, etc), select install and follow the prompts.
  672.  
  673.   5.3.  What to install
  674.  
  675.   The hardest part is deciding what to add, and what not to add.
  676.   Obviously, you'll need the 'A' series (Which is about 8 megs), the
  677.   rest is up to you.
  678.  
  679.   I managed to trim down the Slackware release to a respectable
  680.   installation of 70 megs, which included gcc/g++, perl, X11R6 (NOT ALL
  681.   OF IT!), sendmail, online docs (Minus all the development man pages,
  682.   but including all the howto's), and an assortment of other goodies,
  683.   while leaving about 10 megs free for user files.  YMMV
  684.  
  685.   6.  Creating /etc/fstab
  686.  
  687.   (Common to both Red Hat and Slackware distributions)
  688.  
  689.   The last thing that needs to be done before rebooting is to create the
  690.   fstab file on the soon to be root partion.  The following is what you
  691.   should have as a minimum for /iomega/etc/fstab:
  692.  
  693.        ______________________________________________________________________
  694.          /dev/sda1      /         ext2        defaults   1   1
  695.          /dev/sda2      none      swap        sw
  696.          none           /proc     proc        defaults   1   1
  697.        ______________________________________________________________________
  698.  
  699.   Save the file, and reboot with the freshly made boot floppy and enjoy!
  700.  
  701.   (Special thanks to Mike for reminding me about this very important and
  702.   crucial step. - John)
  703.  
  704.   7.  Debian 1.2 Installation
  705.  
  706.        ______________________________________________________________________
  707.            NOTE: The author of this section sent this to me June, 11th 1997.
  708.        ______________________________________________________________________
  709.  
  710.   7.1.  Requirements
  711.  
  712.   ╖  Ppa ZIP drive and disk.
  713.  
  714.   ╖  2 blank 1.44 floppy disks
  715.  
  716.   ╖  A complete set of Debian install disks (review the Debian install
  717.      docs if you don't remember how to make these)
  718.  
  719.   ╖  A couple hours of time
  720.  
  721.   7.2.  Overview
  722.  
  723.   After spending a few hours wrestling with dpkg I decided it would be
  724.   simpler to modify the Debian "Rescue" disk so that it would recognize
  725.   the ppa ZIP drive.  This proved to be very easy.  You can then use
  726.   this modified disk to procede through the normal Debian base system
  727.   install.  Once you've completed installing the base system you can use
  728.   a boot disk to start the new base system and complete the installation
  729.   using dselect.  To use this technique you need to build two kernels -
  730.   one with ppa and initial RAM disk support, and another without the RAM
  731.   disk support.
  732.  
  733.   If you want, you can skip all the steps in section 2 and let the
  734.   Debian install procedure handle formatting the ZIP disk for you.
  735.  
  736.   7.3.  Creating the modified Rescue disk
  737.  
  738.   The Debian rescue disk is a SYSLINUX style boot disk, which uses a DOS
  739.   formatted floppy disk and a special boot loader to avoid loading MS-
  740.   DOS.  These disks are very easy to modify to start your own custom
  741.   boot configuration.  The Debian 'boot-floppies' package contains a set
  742.   of scripts to automate the process of building boot disks.  However,
  743.   its so simple I found it easier to do the process by hand.  This
  744.   deviates a bit from the Debian philosophy, but I'm over it :).  There
  745.   are brief instructions in the 'readme.txt' file of the Rescue floppy.
  746.  
  747.   7.3.1.  Use dd (or RAWRITE under DOS) to create a new Rescue disk.
  748.  
  749.   Review the Debian install docs if you don't remember how to do this.
  750.  
  751.   7.3.2.  Build a new kernel with ZIP ppa support
  752.  
  753.   Build a new kernel with ZIP ppa support (as in step 3.3.1), but also
  754.   configure RAM disk and initial RAM disk support.  You also need to
  755.   configure the msdos, fat, minix, ext2fs, and procfs filesystems.
  756.  
  757.   Also configure any modules that you would like in your final
  758.   installation on the ZIP disk.
  759.  
  760.   Once the kernel is configured, build with:
  761.  
  762.    ==> make dep; make clean
  763.  
  764.    ==> make bzImage
  765.  
  766.   Build the modules with:
  767.  
  768.    ==> make modules
  769.  
  770.   You will install these later.
  771.  
  772.        ______________________________________________________________________
  773.                  NOTE: Make sure that you are using 'make bzImage', and
  774.                        not 'make zImage'.
  775.        ______________________________________________________________________
  776.  
  777.   7.3.3.  Mount the new Rescue disk.
  778.  
  779.    ==> fdmount fd0
  780.  
  781.   or
  782.  
  783.    ==> mount /dev/fd0 /mnt
  784.  
  785.   or
  786.  
  787.    ==> whatever :)
  788.  
  789.   7.3.4.  Copy the kernel image
  790.  
  791.   Copy the kernel image (on the i386 platform it will be located at
  792.   arch/i386/boot/bzImage) to 'linux' on the floppy disk.
  793.  
  794.   7.3.5.  Editing the 'rdev.sh' script
  795.  
  796.   Open the 'rdev.sh' script located on the Rescue floppy with your
  797.   favorite editor. Change the last line: from--:
  798.  
  799.               'rdev /mnt/linux /dev/ram0'
  800.  
  801.   to--:
  802.  
  803.               'rdev /mnt/linux /dev/sda1'
  804.  
  805.   You will also have to change all occurences of /mnt/linux to the
  806.   appropriate path.  Since I mount my floppies under /fd0, I had to
  807.   change /mnt/linux to /fd0/linux.
  808.  
  809.   7.3.6.  Run this modified 'rdev.sh' script.
  810.  
  811.    ==> ./rdev.sh
  812.  
  813.   7.4.  Install the base system on the ZIP drive.
  814.  
  815.   Boot your modified Rescue disk.  If all goes correctly you will be
  816.   presented with the familiar Debian menu based install process, except
  817.   that now it is aware of your ppa ZIP drive.  Procede through this
  818.   process as if you were installing the system on a normal hard drive,
  819.   but mount /dev/sda1 as root and initialize /dev/sda2 as swap.
  820.  
  821.   There is one deviation from the standard install process-- don't
  822.   install and/or configure any loadable modules. You will install the
  823.   modules you built in step 7.3.2 later.
  824.  
  825.   7.5.  Creating the boot disk
  826.  
  827.   You can create the boot disk just as described in steps 3.3.1 to
  828.   3.3.2, or, if you want, just use the "Create Boot Disk" option during
  829.   the Debian install. I like this second option because I get another
  830.   SYSLINUX boot disk, allowing me to edit the greeting message to
  831.   describe the nature of my custom boot floppy and allow me to enter
  832.   additional kernel arguments. You can even include help files,
  833.   accessible via the functions keys. You may still wish to rebuild the
  834.   kernel and modify this boot disk by hand later to remove the RAM disk
  835.   support. Your call.
  836.  
  837.   7.6.  Reboot the system.
  838.  
  839.   Insert your boot disk and choose the 'Reboot' option from the install
  840.   menu.
  841.  
  842.   7.7.  Configure the base system and complete the install process.
  843.  
  844.   When the system reboots you will have a slow but completely workable
  845.   Debian base installation running off of your ppa ZIP drive.  Proceed
  846.   normally with the installation at this point. I installed all the
  847.   normal UNIX utilities, along with documentation sets, make, gcc,
  848.   libraries, and various useful file manipulation utilities. The result
  849.   is a very powerful emergency boot system that I can use to rescue any
  850.   of the systems in our department in an emergency.
  851.  
  852.        ______________________________________________________________________
  853.                NOTE: You'll at least need to install 'make' to
  854.                      complete the next step.
  855.        ______________________________________________________________________
  856.  
  857.   7.8.  Installing the modules you built in step 7.3.2.
  858.  
  859.   If you installed make in the last step, you should be able to mount
  860.   the hard drive partition containing your kernel build, cd to the
  861.   proper directory and run 'make modules_install'.  Here's how I did it:
  862.  
  863.    ==> mount /dev/hda2 /mnt
  864.  
  865.    ==> cd /mnt/usr/src/linux
  866.  
  867.    ==> make modules_install
  868.  
  869.        ______________________________________________________________________
  870.                NOTE: You won't need to modify the /etc/fstab file, as explained
  871.                      in step 5.  The Debian installation process has already
  872.                      taken care of that.
  873.        ______________________________________________________________________
  874.  
  875.   8.  Afterthoughts
  876.  
  877.   Whew, and sigh. After amassing 31 ZIP disks and a ZIP unleashed
  878.   battery pack, my next experiment is to try to get pcmcia working for
  879.   my laptop.
  880.  
  881.