mirror of https://github.com/tLDP/LDP
928 lines
30 KiB
Plaintext
928 lines
30 KiB
Plaintext
<!doctype linuxdoc system>
|
|
|
|
<article>
|
|
<title>Installing Linux on ZIP disk using ppa ZIP Drive Mini-Howto
|
|
<author>John Wiggins, <htmlurl url="mailto:jwiggins@comp.uark.edu" name="jwiggins@comp.uark.edu">
|
|
<date>v0.7, 26 January 1998
|
|
|
|
<abstract>
|
|
This document is only useful for those with the printer port version
|
|
of a ZIP drive who wish to have either a portable or backup Linux
|
|
system on a ZIP disk.
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<sect>Disclaimer
|
|
|
|
<p>
|
|
NOTE: I have no idea if the IDE drive works the same way as the printer port
|
|
version does since I don't have one, so please don't ask me.
|
|
|
|
<p>
|
|
The Debian install portion was basically just
|
|
copied with little or no editing by this author. As such, there may
|
|
be some duplication of instructions.
|
|
|
|
This document assumes the following:
|
|
<itemize>
|
|
<item> You have a printer port ZIP drive (since the ZIP Plus has
|
|
both, I assume that it will work as well.)
|
|
<item> You already have Linux installed and running; this document is
|
|
not for a first time install of Linux.
|
|
<item> You have ppa support in your current kernel or if module, the
|
|
ppa module has been loaded.
|
|
<item> The mount point for the ZIP disk is the /iomega directory.
|
|
</itemize>
|
|
|
|
<sect>Introduction
|
|
|
|
<p>
|
|
This document is divided into four basic sections each describing how
|
|
to install a bare-bones Linux system on a 100MB ZIP disk using a printer
|
|
port ZIP drive. The first section describes how to set up the ZIP disk
|
|
and is common to both Red Hat and Slackware distribution installations.
|
|
The second, third, and fourth sections describe how to install Red Hat
|
|
4.2, Slackware 2.2, and Debian 1.2 distributions, respectively, onto
|
|
the ZIP disk.
|
|
<p>
|
|
NOTE: I realize that Red Hat 5.0 has been released now, but between
|
|
classes and work, well let's just say that it may be late May before
|
|
I can get around to work on it. I also, hopefully, will be testing
|
|
out the other distributions.
|
|
|
|
<sect1>What's new
|
|
|
|
<p>
|
|
I've finally found enough time (although I really should be studying
|
|
for a sociology test...) to update this document.
|
|
Thanks for all who emailed me with comments.
|
|
|
|
New to this document:
|
|
<itemize>
|
|
<item> The Debian distribution
|
|
<item> LILO on the floppy
|
|
<item> New version of Red Hat (4.2 Biltmore)
|
|
<item> Network configuration (For Red Hat; Untested)
|
|
</itemize>
|
|
|
|
<sect1>Conventions
|
|
|
|
<p>
|
|
Indicates the following text are commands:
|
|
<p>
|
|
<bf>==></bf>
|
|
Indicates something noteworthy:
|
|
<tscreen><code>
|
|
NOTE:
|
|
</code></tscreen>
|
|
Indicates a screen shot/capture:
|
|
<tscreen><code>
|
|
Text here.
|
|
</code></tscreen>
|
|
|
|
<sect1>Updates
|
|
|
|
<p>
|
|
For any updates, however rare they may be, please check:
|
|
<htmlurl url="http://comp.uark.edu/~jwiggins/linuxZIP/" name="http://comp.uark.edu/~jwiggins/linuxZIP/">
|
|
|
|
<sect1>References
|
|
|
|
<p>
|
|
<itemize>
|
|
<item> Installation-HOWTO
|
|
<item> SCSI-HOWTO
|
|
<item> NET-3-HOWTO (for section 4.3.3)
|
|
<item> ZIP-Drive (mini-HOWTO)
|
|
<item> ParPort kernel patch (gives access to pass-through printer port)
|
|
<htmlurl url="http://www.cyberelk.demon.co.uk/parport/" name="http://www.cyberelk.demon.co.uk/parport/">
|
|
</itemize>
|
|
|
|
<sect2>Acknowledgments/Contributors
|
|
|
|
<p>
|
|
Slackware 2.2 section courtesy of Michael Littlejohn <htmlurl url="mailto:mike@mesa7.mesa.colorado.edu" name="mike@mesa7.mesa.colorado.edu">
|
|
|
|
<p>
|
|
Debian 1.2 section courtesy of John D. Blair <htmlurl url="mailto:jdblair@uab.edu" name="jdblair@uab.edu">
|
|
|
|
<p>
|
|
LILO information and many other helpful insight courtesy of
|
|
Darcy Boese <htmlurl url="mailto:possum@niagara.com" name="possum@niagara.com">
|
|
and
|
|
Javier Rodriguez <htmlurl url="mailto:jrodrigu@nextgeninter.net.mx" name="jrodrigu@nextgeninter.net.mx">
|
|
|
|
<sect>Setting up the ZIP disk
|
|
|
|
<p>
|
|
(Common for both Red Hat and Slackware distributions.)
|
|
Before starting, make sure that you have access to the ZIP drive;
|
|
either by having ppa in the kernel or by having the ppa module
|
|
loaded. One easy way to find this out is by checking dmesg:
|
|
<p>
|
|
<bf> ==> dmesg</bf>
|
|
<p>
|
|
You may have to pipe this to more as dmesg tends to be rather long.
|
|
Here's a snip from mine:
|
|
<tscreen><code>
|
|
scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc.
|
|
scsi : 1 host.
|
|
Vendor: IOMEGA Model: ZIP 100 Rev: D.08
|
|
Type: Direct-Access ANSI SCSI revision: 02
|
|
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
|
|
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
|
|
sda: Write Protect is off
|
|
sda: sda1 sda2
|
|
</code></tscreen>
|
|
|
|
If you only see something like:
|
|
<tscreen><code>
|
|
scsi : 0 hosts.
|
|
scsi : detected total.
|
|
</code></tscreen>
|
|
then you have SCSI support but the ZIP wasn't found.
|
|
|
|
<sect1>Partitioning ZIP disk
|
|
|
|
<p>
|
|
To partition the ZIP disk, run fdisk:
|
|
<p>
|
|
<bf> ==> fdisk /dev/sda/</bf>
|
|
<p>
|
|
Here is a snap of the partition table I have setup:
|
|
<tscreen><code>
|
|
Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
|
|
Units = cylinders of 2048 * 512 bytes
|
|
|
|
Device Boot Begin Start End Blocks Id System
|
|
/dev/sda1 1 1 81 82928 83 Linux native
|
|
/dev/sda2 82 82 96 15360 82 Linux swap
|
|
</code></tscreen>
|
|
I decided to use a swap partition since I wanted to be able to use
|
|
this with any machine.
|
|
|
|
<sect1>Formatting and mounting the ZIP disk
|
|
|
|
<p>
|
|
After running fdisk, format the new partition:
|
|
<p>
|
|
<bf> ==> mke2fs -c /dev/sda1</bf>
|
|
<p>
|
|
Then, create the swap partition: (15360 blocks as taken from fdisk)
|
|
<p>
|
|
<bf> ==> mkswap -c /dev/sda2 15360</bf>
|
|
<p>
|
|
Last, you'll need to mount the ZIP disk:
|
|
<p>
|
|
<bf> ==> mount /dev/sda1 /iomega -t ext2</bf>
|
|
|
|
<sect1>Creating the boot disk
|
|
|
|
<p>
|
|
Since the ppa version of the ZIP drive isn't a true SCSI device, it
|
|
isn't a bootable device and, therefore, requires a boot disk which
|
|
has ppa included in the kernel and not as a module.
|
|
|
|
<sect2>Configuring and making the kernel
|
|
|
|
<p>
|
|
First, you'll need to configure and make a kernel that has ppa
|
|
support enabled and not as a loadable module. In order to get to
|
|
the ppa option, select SCSI support:
|
|
<p>
|
|
<it> SCSI support (CONFIG_SCSI) [Y/m/n/?] </it>
|
|
<p>
|
|
Plus, SCSI disk support:
|
|
<p>
|
|
<it> SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?] </it>
|
|
<p>
|
|
And finally, under the SCSI low-level drivers, is the ppa support:
|
|
<p>
|
|
<it> IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA) [Y/m/n/?] </it>
|
|
<p>
|
|
Again, be sure not to include ppa as a module, but rather in the
|
|
kernel. Thus far, without the use of the parport kernel patch
|
|
(see 1.4), the ppa driver will not allow the passive port of the ZIP
|
|
drive to be used for a printer, so you may want to say no to parallel
|
|
printer support:
|
|
<p>
|
|
<it> Parallel printer support (CONFIG_PRINTER) [N/y/m/?] </it>
|
|
|
|
<tscreen><code>
|
|
NOTE: For more information concerning the ppa driver, please
|
|
refer to the ZIP-Drive mini-HOWTO.
|
|
</code></tscreen>
|
|
|
|
Once the kernel is configured, make the kernel:
|
|
<p>
|
|
<bf> ==> make dep; make clean; make zImage </bf>
|
|
<p>
|
|
The new kernel should be found in arch/i386/boot/zImage.
|
|
|
|
<sect2>Getting the kernel to a floppy
|
|
|
|
<p>
|
|
After having to have 4 separate floppies due to different kernels
|
|
and needing different parameters, (plus the great email I got
|
|
telling me how to do this) I have included a section on LILO as one
|
|
of the means of creating a bootable floppy.
|
|
|
|
<sect3>LILO installation
|
|
|
|
<p>
|
|
For those who have to, or for that matter just want to, have several
|
|
kernels on one floppy (now adays, mine are too large) or just want
|
|
to be able to pass arguments (such as single user mode) I received
|
|
email on how to install LILO on a floppy.
|
|
|
|
<sect4>Creating the ext2 filesystem
|
|
|
|
<p>
|
|
To create an ext2 filesystem on a floppy, just do the same command
|
|
for the ZIP disk:
|
|
<p>
|
|
<bf> ==> mke2fs -t /dev/fd0 </bf>
|
|
|
|
<sect4>Copying the essential files
|
|
|
|
<p>
|
|
Next, make sure there's a directory for a mount point, and mount the
|
|
floppy (I used /mnt/floppy):
|
|
<p>
|
|
<bf> ==> mount /dev/fd0 /mnt/floppy -t ext2 </bf>
|
|
<p>
|
|
is to boot properly, you'll need the same files that LILO uses on your
|
|
current Linux installation.
|
|
|
|
<tscreen><code>
|
|
NOTE: The file locations here are from my machine
|
|
and may not be the same for everyone.
|
|
</code></tscreen>
|
|
|
|
<bf> ==> cp /boot/boot.b /mnt/floppy </bf>
|
|
<p>
|
|
<bf> ==> cp /boot/map /mnt/floppy </bf>
|
|
<p>
|
|
<bf> ==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK </bf>
|
|
<p>
|
|
|
|
Now to create the config file for LILO, now I miss the liloconfig
|
|
program... (Thanks to Javier Rodriguez for this info) First, create
|
|
the LILO config file, /mnt/floppy/lilo.conf, for the kernel(s) for
|
|
the ZIP disk. Here's what I used so that I could have different
|
|
kernels to test with:
|
|
<tscreen><code>
|
|
boot=/dev/fd0
|
|
map=/mnt/floppy/map
|
|
install=/mnt/floppy/boot.b
|
|
prompt
|
|
compact
|
|
timeout=50
|
|
image=/mnt/floppy/vmlinuzLAP
|
|
label=Laptop
|
|
root=/dev/sda1
|
|
read-only
|
|
image=/mnt/floppy/vmlinuzDESK
|
|
label=Desktop
|
|
root=/dev/sda1
|
|
read-only
|
|
image=/mnt/floppy/vmlinuzDESK
|
|
label=rescue
|
|
root=/dev/hdc1
|
|
read-only
|
|
</code></tscreen>
|
|
I have two kernels, one for my 486 laptop which required the math-co
|
|
emulation in the kernel and the other for my desktop. The rescue
|
|
allows me to make an emergency boot to the hard drive.
|
|
|
|
Last but not least, with the floppy still mounted, run LILO to
|
|
install it on the floppy with the command:
|
|
<p>
|
|
<bf> ==> lilo -C /mnt/floppy/lilo.conf</bf>
|
|
<p>
|
|
Once LILO has been installed on the floppy, skip the next two steps,
|
|
unless you enjoy doing this over again :)
|
|
|
|
<sect3>Kernel only installation
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: This does not pertain for the LILO install.
|
|
</code></tscreen>
|
|
|
|
Copy the newly made kernel to a floppy disk:
|
|
<p>
|
|
<bf> ==> cp arch/i386/boot/zImage /dev/fd0</bf>
|
|
<p>
|
|
or
|
|
<p>
|
|
<bf> ==> cat arch/i386/boot/zImage > /dev/fd0</bf>
|
|
<p>
|
|
Yes, there are many ways to copy the kernel to a floppy, but the
|
|
last way, my favorite, is a little more encrypted. Try not to
|
|
forget the > unless you like viewing binary files :)
|
|
|
|
<sect4>Setting the root and swap on the floppy
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: This does not pertain for the LILO install.
|
|
</code></tscreen>
|
|
|
|
Once the kernel is on the floppy, you need to set the root device to
|
|
the ZIP disk:
|
|
<bf> ==> rdev /dev/fd0 /dev/sda1</bf>
|
|
I'm not sure if the next option is needed, but I did it none the
|
|
less. To set the swap:
|
|
<p>
|
|
<bf> ==> rdev -s /dev/fd0 /dev/sda2</bf>
|
|
|
|
<sect>Red Hat 4.2 installation
|
|
|
|
<p>
|
|
With anything computer related, something 3 months old is considered
|
|
obsolete and is in need of upgrading. Since I'm not always going
|
|
to have the time to update this document with every update, I'll
|
|
try my best to at least update it every other version. As for
|
|
the other distributions, unless the authors wish to send updates,
|
|
they well remain as they are.
|
|
|
|
<sect1>Personal setup
|
|
|
|
<p>
|
|
For my installation, I have and used:
|
|
|
|
<itemize>
|
|
<item>Kernel 2.0.30
|
|
<item>Iomega ppa disk drive
|
|
<item>Red Hat 4.2
|
|
</itemize>
|
|
|
|
<sect1>Package installation
|
|
|
|
<p>
|
|
When I first decided to attempt to install Red Hat on a ZIP disk,
|
|
I figured it would be much easier to just use a Red Hat boot disk.
|
|
Then I woke up. I came very close to actually getting a boot disk
|
|
created, even got help from various folks at Red Hat via e-mail but
|
|
ultimately I began to give up on the whole project when I discovered
|
|
the --root option with rpm.
|
|
|
|
<sect2>What packages to get
|
|
|
|
<p>
|
|
I found what packages to install by browsing a file I had found on
|
|
one of Red Hat's mirrors. This file can be found on any mirror at:
|
|
<tscreen><verb>
|
|
redhat/redhat-4.2/i386/RedHat/base/comps
|
|
</verb></tscreen>
|
|
|
|
For this installation, I wanted to include network support but due
|
|
to Red Hat's X network configuration, I'm going to have to manually
|
|
configure, or rather manually attempt to configure, the network
|
|
setup scripts found in /etc/sysconfig/ (see section 4.3.3.)
|
|
|
|
I decided against installing any development packages as the ZIP
|
|
drive, at least an unpatched kernel version, is rather slow to get
|
|
anything to compile. I also choose not to install X mainly for disk
|
|
space issues. Later on, I may attempt to mount my hard drive and
|
|
create a symlink with /usr to see if I can get X to work.
|
|
|
|
Following is a list of what packages I installed, listed in order of
|
|
installation. Those marked with a * have updates from Red Hat's
|
|
errata. In parentheses is the updated package number;
|
|
<tscreen><verb>
|
|
e.g. NetKit-B-0.09-6 was updated to NetKit-B-0.09-8 so the entry
|
|
would be: *91) NetKit-B-0.09-6 (-8)
|
|
</verb></tscreen>
|
|
<tscreen><code>
|
|
|
|
(List created by the command rpm --root /iomega -qa)
|
|
|
|
1) setup-1.7-2 2) pamconfig-0.51-2
|
|
3) filesystem-1.3-1 4) MAKEDEV-2.2-9
|
|
5) adduser-1.7-1 6) libc-5.3.12-18
|
|
7) SysVinit-2.64-8 8) ash-0.2-8
|
|
9) at-2.9b-2 10) libtermcap-2.0.8-4
|
|
11) bash-1.14.7-1 12) bc-1.03-6
|
|
13) bdflush-1.5-5 14) cpio-2.4.2-4
|
|
15) cracklib-dicts-2.5-1 16) tmpwatch-1.2-1
|
|
17) crontabs-1.5-1 *18) db-1.85-10 (-11)
|
|
19) dev-2.5.1-1 20) diffutils-2.7-5
|
|
21) etcskel-1.3-1 22) file-3.22-5
|
|
23) fileutils-3.16-1 24) findutils-4.1-11
|
|
25) grep-2.0-5 26) groff-1.10-8
|
|
*27) ld.so-1.7.14-4 (-5) 28) getty_ps-2.0.7h-4
|
|
29) gzip-1.2.4-7 30) mingetty-0.9.4-3
|
|
*31) initscripts-2.92-1 (93-1) 32) ed-0.2-5
|
|
33) info-3.9-1 34) ncurses-1.9.9e-4
|
|
35) libg++-2.7.1.4-5 *36) pwdb-0.54-3 (-4)
|
|
37) rootfiles-1.5-1 *38) pam-0.57-2 (-4)
|
|
39) redhat-release-4.2-1 40) less-321-3
|
|
41) mount-2.5l-2 42) zlib-1.0.4-1
|
|
43) rpm-2.3.11-1 44) e2fsprogs-1.10-0
|
|
45) sysklogd-1.3-15 46) tar-1.11.8-11
|
|
47) passwd-0.50-7 48) gawk-3.0.2-1
|
|
49) gdbm-1.7.3-8 50) gpm-1.10-8
|
|
51) hdparm-3.1-2 52) kbd-0.91-9
|
|
53) slang-0.99.37-2 54) newt-0.8-1
|
|
55) kbdconfig-1.4-1 56) ncompress-4.2.4-7
|
|
*57) sh-utils-1.16-4 (-5) 58) procinfo-0.9-1
|
|
*59) logrotate-2.3-3 (4-1) 60) lilo-0.19-1
|
|
61) losetup-2.5l-2 62) linuxthreads-0.5-1
|
|
*63) mkinitrd-1.6-1 (7-1) 64) mailcap-1.0-3
|
|
*65) man-1.4h-5 (j-1) 66) mt-st-0.4-2
|
|
67) modules-2.0.0-5 68) mailx-5.5.kw-6
|
|
69) net-tools-1.32.alpha-2 70) procmail-3.10-10
|
|
71) procps-1.01-11 72) psmisc-11-4
|
|
73) quota-1.55-4 74) readline-2.0-10
|
|
75) sed-2.05-6 76) setconsole-1.0-1
|
|
77) sendmail-8.8.5-4 78) shadow-utils-960530-6
|
|
79) stat-1.5-5 80) tcsh-6.06-10
|
|
81) termcap-9.12.6-5 82) textutils-1.22-1
|
|
83) time-1.7-1 84) timeconfig-1.8-1
|
|
85) util-linux-2.5-38 86) vim-4.5-2
|
|
87) vixie-cron-3.0.1-14 88) which-1.0-5
|
|
89) zoneinfo-96i-4 90) tcp_wrappers-7.5-1
|
|
*91) NetKit-B-0.09-6 (-8) *92) lpr-0.18-1 (19-1)
|
|
*93) bind-4.9.5p1-2 (9.6-1) *94) bind-utils-4.9.5p1-2 (9.6-1)
|
|
*95) wu-ftpd-2.4.2b12-6 (b15-1) 96) anonftp-2.3-3
|
|
97) zip-2.1-1 98) unzip-5.12-5
|
|
99) statserial-1.1-7 100) minicom-1.75-2
|
|
101) lrzsz-0.12.14-1 102) dip-3.3.7o-9
|
|
103) ppp-2.2.0f-3 104) portmap-4.0-3
|
|
105) perl-5.003-8 *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
|
|
*107) elm-2.4.25-7 (-8) 108) lynx-2.6-2
|
|
109) ncftp-2.3.0-5 110) pine-3.95-2
|
|
111) rdate-0.960923-1 112) apache-1.1.3-3
|
|
*113) nfs-server-2.2beta16-7 *114) nfs-server-clients-2.2beta16-7
|
|
(2.2beta16-8) (2.2beta16-8)
|
|
</code></tscreen>
|
|
And with all the above installed, I still have 32MB left!
|
|
|
|
<sect3>Updates; errata
|
|
|
|
<p>
|
|
As many, I hope, Red Hat users know, some packages may be found to
|
|
have some security flaws or anything else which may cause issues to
|
|
arise. For this reason, Red Hat releases updates for such packages.
|
|
I have updated what packages I had which had updates and are marked
|
|
in the above list. Please refer to Red Hat's web page concerning the
|
|
updated packages at:
|
|
<p>
|
|
<htmlurl url="http://www.redhat.com/support/docs/rhl/rh42-errata-general.html" name="http://www.redhat.com/support/docs/rhl/rh42-errata-general.html">
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: Before you can update the packages, you'll have to
|
|
run the ldconfig as described in section 3.3.1.1.
|
|
</code></tscreen>
|
|
|
|
<sect2>How to install packages with rpm; without glint
|
|
|
|
<p>
|
|
With rpm, use the --root option to specify the mounted directory as
|
|
the root for installation. I had discovered that many packages were
|
|
failing to install becuase of preinstall or postinstall scripts that
|
|
weren't executing correctly due to the different root directory,
|
|
thus, use the --noscripts option:
|
|
<p>
|
|
<bf> ==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm</bf>
|
|
<p>
|
|
As I'm sure many will notice, you should get an error message like:
|
|
<tscreen><code>
|
|
failed to open /iomega/var/lib/rpm/packages.rpm
|
|
|
|
error: cannot open /iomega/var/lib/rpm/packages.rpm
|
|
</code></tscreen>
|
|
So, just create the var/lib/rpm directory :)
|
|
<p>
|
|
<bf> ==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm</bf>
|
|
|
|
<sect2>Which came first, pamconfig or pam?
|
|
|
|
<p>
|
|
If anyone's tried to install pamconfig, it'll complain about a failed
|
|
dependency of pam; and when you go try to install pam, pam complains
|
|
about a failed dependency of pamconfig! This, being the chicken or the
|
|
egg issue, puzzled me for a while, but thanks to the --nodeps flag, we
|
|
can force pamconfig to install; besides pam has more failed
|
|
dependencies than just pamconfig.
|
|
<p>
|
|
<bf> ==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2</bf>
|
|
|
|
<sect1>Problems after installation of packages
|
|
|
|
<p>
|
|
Once everything is all nicely installed, unfortunately, the disk is
|
|
not fully functionable, if that's a word. What I mean to say is, if
|
|
you try to boot now with the floppy, you won't get very far. As
|
|
soon as init tries to start up, you'll get two lovely errors; both
|
|
of which complain about some files not being found that would have
|
|
been made had the scripts been run.
|
|
|
|
<sect2>The case of the missing /etc/ld.so.cache and libc.so.5
|
|
|
|
<p>
|
|
If you tried booting, you'd get two error messages, the first will
|
|
be the abscence of /etc/ld.so.cache file. The second complains
|
|
about a missing libc.so.5.
|
|
|
|
<sect3>/etc/ld.so.cache
|
|
|
|
<p>
|
|
As mentioned by many readers, my previous instructions didn't quite
|
|
work as stated. In order to get this file created, you'll have to
|
|
run ldconfig while the ZIP disk is still mounted:
|
|
<p>
|
|
<bf> ==> chroot /iomega /sbin/ldconfig</bf>
|
|
|
|
Thanks to Javier Rodriguez for this solution.
|
|
|
|
<sect3>libc.so.5
|
|
|
|
<p>
|
|
To solve the missing lib case, you'll have to create a symlink which
|
|
would have been created by the installation scripts.
|
|
<p>
|
|
<bf> ==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5</bf>
|
|
|
|
Thanks to Darcy Boese for this solution.
|
|
|
|
<sect2>Setting root password
|
|
|
|
<p>
|
|
Just as ldconfig was ran in 4.3.1.1, you might as well change/create
|
|
a root password for this new system:
|
|
<p>
|
|
<bf> ==> chroot /iomega passwd root</bf>
|
|
|
|
<sect2>What the install program created
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: This is just a very brief setup, one which I haven't
|
|
been able to test to see if it works. In theory it
|
|
should, but please do not send me complaints saying
|
|
that this didn't work.
|
|
</code></tscreen>
|
|
|
|
While exploring my Red Had 4.2 CD-ROM, I came across something
|
|
rather interesting; the source code for the install program. I
|
|
found it under /misc/src/install and one thing which I found of
|
|
some use was the net.c file. In this, I found what other files
|
|
that would be created had the install program been run. Most of
|
|
these just give network support (hince the name net.c) but even
|
|
if you don't have a network card, you can still use localhost for
|
|
networking (plus apache will complain about not being able to
|
|
determine a hostname.) These files include:
|
|
<tscreen><verb>
|
|
/etc/hosts
|
|
/etc/HOSTNAME
|
|
/etc/resolv.conf
|
|
/etc/sysconfig/network
|
|
/etc/sysconfig/network-scripts/ifcfg-eth0
|
|
(or any other network device you may have.)
|
|
</verb></tscreen>
|
|
|
|
<sect2>Networking setup
|
|
|
|
<p>
|
|
For this document, I wanted network support for my 3Com 3c595
|
|
fast-ethernet card (which for the last several months has been
|
|
used in another machine.)
|
|
|
|
First I needed a name, and since I'm running my own name server
|
|
(which is another long story) I gave myself the name:
|
|
<it>dash-dot.wig.org</it> (I just liked the sound of it.)
|
|
Having a name without an IP is kind of pointless, so I used a
|
|
reserved non-internet usable network of 192.168.10.0 which my
|
|
name server also uses. Even though the hostname is typically
|
|
stored in /etc/HOSTNAME, Red Hat checks for /etc/sysconfig/network
|
|
for this name; so let's start there.
|
|
Sample of my /etc/sysconfig/network:
|
|
<tscreen><code>
|
|
NETWORKING=yes
|
|
HOSTNAME=dash-dot
|
|
DOMAINNAME=wig.org
|
|
GATEWAY=
|
|
GATEWAYDEV=eth0
|
|
NS1=192.168.10.7
|
|
</code></tscreen>
|
|
Next, bascially duplicate the same info here for /etc/HOSTNAME,
|
|
/etc/resolv.conf, and /etc/hosts:
|
|
<p>
|
|
<bf>/etc/HOSTNAME:</bf>
|
|
<p>
|
|
<tscreen><code>
|
|
dash-dot.wig.org
|
|
</code></tscreen>
|
|
|
|
<p>
|
|
<bf>/etc/resolv.conf:</bf>
|
|
<p>
|
|
<tscreen><code>
|
|
search wig.org
|
|
nameserver ns.wig.org
|
|
</code></tscreen>
|
|
|
|
<p>
|
|
<bf>/etc/hosts:</bf>
|
|
<p>
|
|
<tscreen><code>
|
|
127.0.0.1 localhost
|
|
192.168.10.99 dash-dot.wig.org dash-dot
|
|
192.168.10.7 ns.wig.org ns
|
|
</code></tscreen>
|
|
Red Hat configures all network devices from scripts found in
|
|
/etc/sysconfig/network-scripts. The configuration of any network
|
|
device is usually first created via the install program so I had
|
|
to create these config files manually. They all begin with
|
|
ifcfg-XXX where XXX is the network interface which ifconfig
|
|
brings up; e.g. ppp0, eth0, etc. For this example, I had to create
|
|
a file called ifcfg-eth0 which contains the following:
|
|
<tscreen><code>
|
|
DEVICE=eth0
|
|
ONBOOT=yes
|
|
BOOTPROTO=none
|
|
BROADCAST=192.168.10.255
|
|
NETWORK=192.168.10.0
|
|
NETMASK=255.255.255.0
|
|
IPADDR=192.168.10.99
|
|
</code></tscreen>
|
|
And last but not least, in order to get this going right now, while
|
|
in the /etc/sysconfig/network-scripts directory, just run:
|
|
<p>
|
|
<bf> ==> ./ifup ifcfg-eth0 boot</bf>
|
|
<p>
|
|
This will start the script which configures the network interface
|
|
if that interface was set to start at 'boot' time.
|
|
|
|
For further information, please refer to the NET-3-HOWTO document.
|
|
|
|
<sect>Slackware 2.2 installation
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: This portion has not been updated.
|
|
</code></tscreen>
|
|
|
|
<sect1>Requirements
|
|
|
|
<p>
|
|
<itemize>
|
|
<item> ZIP Disk and Drive (obviously)
|
|
<item> Kernel with ZIP support
|
|
<item> ZIP Howto (recommended)
|
|
<item> 1.44" HD formated floppy
|
|
<item> 1 to 2 hours of time
|
|
</itemize>
|
|
|
|
<sect1>Installation
|
|
|
|
<p>
|
|
Okay, now comes the fun part: Figuring out what files need to be on
|
|
the system disk, and what packages that you want (and can fit) on
|
|
your ZIP drive.
|
|
|
|
I decided that the easiest way to get started was install Slackware
|
|
directly to the ZIP drive. I decided on this approach mostly
|
|
because Slackware is a smaller distribution then Red Hat, and it
|
|
would be easier to trim out what I didn't want. That and the fact
|
|
that I am using the Slackware distribution anyway made it an
|
|
obvious choice.
|
|
|
|
Installing Slackware onto the ZIP disk is easy, as root run the
|
|
setup program, and choose /iomega as the install to partition, set
|
|
the install from partition to where the Slackware sources are
|
|
(cdrom, hardrive, etc), select install and follow the prompts.
|
|
|
|
<sect1>What to install
|
|
|
|
<p>
|
|
The hardest part is deciding what to add, and what not to add.
|
|
Obviously, you'll need the 'A' series (Which is about 8 megs), the
|
|
rest is up to you.
|
|
|
|
I managed to trim down the Slackware release to a respectable
|
|
installation of 70 megs, which included gcc/g++, perl, X11R6
|
|
(NOT ALL OF IT!), sendmail, online docs (Minus all the development
|
|
man pages, but including all the howto's), and an assortment of
|
|
other goodies, while leaving about 10 megs free for user files. YMMV
|
|
|
|
<sect>Creating /etc/fstab
|
|
|
|
<p>
|
|
(Common to both Red Hat and Slackware distributions)
|
|
|
|
The last thing that needs to be done before rebooting is to create
|
|
the fstab file on the soon to be root partion. The following is
|
|
what you should have as a minimum for /iomega/etc/fstab:
|
|
<tscreen><code>
|
|
/dev/sda1 / ext2 defaults 1 1
|
|
/dev/sda2 none swap sw
|
|
none /proc proc defaults 1 1
|
|
</code></tscreen>
|
|
Save the file, and reboot with the freshly made boot floppy and enjoy!
|
|
|
|
(Special thanks to Mike for reminding me about this very important
|
|
and crucial step. - John)
|
|
|
|
<sect>Debian 1.2 Installation
|
|
|
|
<p>
|
|
<tscreen><code>
|
|
NOTE: The author of this section sent this to me June, 11th 1997.
|
|
</code></tscreen>
|
|
|
|
<sect1>Requirements
|
|
|
|
<p>
|
|
<itemize>
|
|
<item> Ppa ZIP drive and disk.
|
|
<item> 2 blank 1.44 floppy disks
|
|
<item> A complete set of Debian install disks (review the Debian install
|
|
docs if you don't remember how to make these)
|
|
<item> A couple hours of time
|
|
</itemize>
|
|
|
|
<sect1>Overview
|
|
|
|
<p>
|
|
After spending a few hours wrestling with dpkg I decided it would be
|
|
simpler to modify the Debian "Rescue" disk so that it would
|
|
recognize the ppa ZIP drive. This proved to be very easy. You can
|
|
then use this modified disk to procede through the normal Debian
|
|
base system install. Once you've completed installing the base
|
|
system you can use a boot disk to start the new base system and
|
|
complete the installation using dselect. To use this technique you
|
|
need to build two kernels - one with ppa and initial RAM disk
|
|
support, and another without the RAM disk support.
|
|
|
|
If you want, you can skip all the steps in section 2 and let the
|
|
Debian install procedure handle formatting the ZIP disk for you.
|
|
|
|
<sect1>Creating the modified Rescue disk
|
|
|
|
<p>
|
|
The Debian rescue disk is a SYSLINUX style boot disk, which uses
|
|
a DOS formatted floppy disk and a special boot loader to avoid
|
|
loading MS-DOS. These disks are very easy to modify to start your
|
|
own custom boot configuration. The Debian 'boot-floppies' package
|
|
contains a set of scripts to automate the process of building boot
|
|
disks. However, its so simple I found it easier to do the process
|
|
by hand. This deviates a bit from the Debian philosophy, but I'm
|
|
over it :). There are brief instructions in the 'readme.txt' file
|
|
of the Rescue floppy.
|
|
|
|
<sect2>Use dd (or RAWRITE under DOS) to create a new Rescue disk.
|
|
|
|
<p>
|
|
Review the Debian install docs if you don't remember how to do this.
|
|
|
|
<sect2>Build a new kernel with ZIP ppa support
|
|
|
|
<p>
|
|
Build a new kernel with ZIP ppa support (as in step 3.3.1), but also
|
|
configure RAM disk and initial RAM disk support. You also need to
|
|
configure the msdos, fat, minix, ext2fs, and procfs filesystems.
|
|
|
|
Also configure any modules that you would like in your final
|
|
installation on the ZIP disk.
|
|
|
|
Once the kernel is configured, build with:
|
|
<p>
|
|
<bf> ==> make dep; make clean</bf>
|
|
<p>
|
|
<it><bf> ==> make bzImage</bf></it>
|
|
<p>
|
|
Build the modules with:
|
|
<p>
|
|
<bf> ==> make modules</bf>
|
|
<p>
|
|
You will install these later.
|
|
|
|
<tscreen><code>
|
|
NOTE: Make sure that you are using 'make bzImage', and
|
|
not 'make zImage'.
|
|
</code></tscreen>
|
|
|
|
<sect2>Mount the new Rescue disk.
|
|
|
|
<p>
|
|
<bf> ==> fdmount fd0</bf>
|
|
<p>
|
|
or
|
|
<p>
|
|
<bf> ==> mount /dev/fd0 /mnt</bf>
|
|
<p>
|
|
or
|
|
<p>
|
|
<bf> ==> whatever :)</bf>
|
|
|
|
<sect2>Copy the kernel image
|
|
|
|
<p>
|
|
Copy the kernel image (on the i386 platform it will be located at
|
|
arch/i386/boot/bzImage) to 'linux' on the floppy disk.
|
|
|
|
<sect2>Editing the 'rdev.sh' script
|
|
|
|
<p>
|
|
Open the 'rdev.sh' script located on the Rescue floppy with your favorite
|
|
editor. Change the last line:
|
|
from--:
|
|
<tscreen><verb>
|
|
'rdev /mnt/linux /dev/ram0'
|
|
</verb></tscreen>
|
|
to--:
|
|
<tscreen><verb>
|
|
'rdev /mnt/linux /dev/sda1'
|
|
</verb></tscreen>
|
|
|
|
You will also have to change all occurences of /mnt/linux to the
|
|
appropriate path. Since I mount my floppies under /fd0, I had to
|
|
change /mnt/linux to /fd0/linux.
|
|
|
|
<sect2>Run this modified 'rdev.sh' script.
|
|
|
|
<p>
|
|
<bf> ==> ./rdev.sh</bf>
|
|
|
|
<sect1>Install the base system on the ZIP drive.
|
|
|
|
<p>
|
|
Boot your modified Rescue disk. If all goes correctly you will be
|
|
presented with the familiar Debian menu based install process,
|
|
except that now it is aware of your ppa ZIP drive. Procede through
|
|
this process as if you were installing the system on a normal hard
|
|
drive, but mount /dev/sda1 as root and initialize /dev/sda2 as swap.
|
|
|
|
There is one deviation from the standard install process-- don't
|
|
install and/or configure any loadable modules. You will install the
|
|
modules you built in step 7.3.2 later.
|
|
|
|
<sect1>Creating the boot disk
|
|
|
|
<p>
|
|
You can create the boot disk just as described in steps 3.3.1 to
|
|
3.3.2, or, if you want, just use the "Create Boot Disk" option
|
|
during the Debian install. I like this second option because I get
|
|
another SYSLINUX boot disk, allowing me to edit the greeting message
|
|
to describe the nature of my custom boot floppy and allow me to
|
|
enter additional kernel arguments. You can even include help files,
|
|
accessible via the functions keys. You may still wish to rebuild the
|
|
kernel and modify this boot disk by hand later to remove the RAM
|
|
disk support. Your call.
|
|
|
|
<sect1>Reboot the system.
|
|
|
|
<p>
|
|
Insert your boot disk and choose the 'Reboot' option from the
|
|
install menu.
|
|
|
|
<sect1>Configure the base system and complete the install process.
|
|
|
|
<p>
|
|
When the system reboots you will have a slow but completely
|
|
workable Debian base installation running off of your ppa ZIP drive.
|
|
Proceed normally with the installation at this point. I installed
|
|
all the normal UNIX utilities, along with documentation sets, make,
|
|
gcc, libraries, and various useful file manipulation utilities. The
|
|
result is a very powerful emergency boot system that I can use to
|
|
rescue any of the systems in our department in an emergency.
|
|
<tscreen><code>
|
|
NOTE: You'll at least need to install 'make' to
|
|
complete the next step.
|
|
</code></tscreen>
|
|
|
|
<sect1>Installing the modules you built in step 7.3.2.
|
|
|
|
<p>
|
|
If you installed make in the last step, you should be able to mount
|
|
the hard drive partition containing your kernel build, cd to the
|
|
proper directory and run 'make modules_install'.
|
|
Here's how I did it:
|
|
<p>
|
|
<bf> ==> mount /dev/hda2 /mnt </bf>
|
|
<p>
|
|
<bf> ==> cd /mnt/usr/src/linux </bf>
|
|
<p>
|
|
<bf> ==> make modules_install </bf>
|
|
|
|
<tscreen><code>
|
|
NOTE: You won't need to modify the /etc/fstab file, as explained
|
|
in step 5. The Debian installation process has already
|
|
taken care of that.
|
|
</code></tscreen>
|
|
|
|
<sect>Afterthoughts
|
|
|
|
<p>
|
|
Whew, and sigh. After amassing 31 ZIP disks and a ZIP unleashed
|
|
battery pack, my next experiment is to try to get pcmcia working
|
|
for my laptop.
|
|
|
|
</article>
|