README.md

Welcome to the ZipSlack(tm) 11.0 UMSDOS Linux installation.

This is a great way to install an up-to-date Slackware Linux system on a DOS
partition. It'll use about 170 megabytes of drive space, which means you can
install this on a (larger than 100MB) Zip disk. (more space will be used if
your drive uses large clusters, i.e. a one or more gigabyte pre-FAT32 DOS
partition) And, it can also be installed to any FAT partition (including
FAT32) as a quick and easy way to get a base Linux system up and running
without having to repartition a hard drive. However, to make it truly useful,
you might need to add additional libraries and packages from Slackware once
you are up and running.

This system includes:

2.4.33.3 Linux kernel, with support for many SCSI controllers.
Includes parallel port Zip support.

An easy to configure PPP setup script (pppsetup), network setup script
(netconfig), and a nice collection of network applications like mailx,
links, ssh, and more.

Slackware 'pkgtool', 'installpkg', 'rpm2targz', and other tools to let you
customize the system and add additional software that the ZipSlack
installation doesn't add by default for space considerations (like X).

Extra applications and utilities, such as:
-- bash shell.
-- A large set of kernel modules
-- Midnight Commander file manager
-- "Links" text based web browser
-- Many networking related tools like lftp, nmap, nc, rsync, ssh,
traceroute, wget, and more

Here's the list of packages ZipSlack installs:

aaa_base-11.0.0-noarch-1.tgz man-1.6c-i486-2.tgz
aaa_base-11.0.0-noarch-2.tgz man-pages-2.39-noarch-1.tgz
aaa_elflibs-11.0.0-i486-9.tgz mc-4.6.1-i486-2.tgz
acl-2.2.39_1-i486-1.tgz mdadm-2.5.3-i486-1.tgz
acpid-1.0.4-i486-2.tgz minicom-2.1-i486-2.tgz
apmd-3.0.2-i386-1.tgz mkinitrd-1.0.1-i486-3.tgz
attr-2.4.32_1-i486-1.tgz module-init-tools-3.2.2-i486-2.tgz
bash-3.1.017-i486-1.tgz mpg321-0.2.10-i486-2.tgz
bc-1.06-i486-3.tgz nc-1.10-i386-1.tgz
bin-11.0-i486-3.tgz ncftp-3.2.0-i486-2.tgz
bsd-games-2.13-i486-8.tgz netpipes-4.2-i386-1.tgz
bzip2-1.0.3-i486-3.tgz netwatch-1.0a-i386-1.tgz
cdparanoia-IIIalpha9.8-i486-2.tgz nfs-utils-1.0.10-i486-3.tgz
cdrdao-1.2.1-i486-1.tgz nmap-4.11-i486-1.tgz
cdrtools-2.01-i486-1.tgz openssh-4.4p1-i486-1.tgz
coreutils-5.97-i486-1.tgz openssl-solibs-0.9.8d-i486-2.tgz
cpio-2.5-i386-1.tgz pciutils-2.2.3-i486-2.tgz
cxxlibs-6.0.3-i486-1_zipslack.tgz pcmcia-cs-3.2.8-i486-3.tgz
dcron-2.3.3-i486-5.tgz pcmciautils-014-i486-2.tgz
devs-2.3.2-zipslack-2.tgz pidentd-3.0.19-i486-1.tgz
dhcpcd-2.0.4-i486-2.tgz pkgtools-11.0.0-i486-3.tgz
diffutils-2.8.1-i486-3.tgz pkgtools-11.0.0-i486-4.tgz
dvd+rw-tools-6.1-i486-1.tgz portmap-5.0-i486-2.tgz
e2fsprogs-1.38-i486-2.tgz portmap-5.0-i486-3.tgz
elvis-2.2_0-i486-2.tgz ppp-2.4.4-i486-1.tgz
etc-11.0-noarch-1.tgz procps-3.2.7-i486-1.tgz
etc-5.1-noarch-13.tgz raidtools-1.00.3-i386-1.tgz
findutils-4.2.28-i486-1.tgz reiserfsprogs-3.6.19-i486-1.tgz
floppy-5.4-i386-3.tgz rp-pppoe-3.8-i486-2.tgz
gawk-3.1.5-i486-3.tgz rsync-2.6.8-i486-1.tgz
genpower-1.0.5-i486-1.tgz screen-4.0.2-i486-1.tgz
gettext-0.15-i486-1.tgz sed-4.1.5-i486-1.tgz
getty-ps-2.1.0b-i486-1.tgz shadow-4.0.3-i486-13.tgz
glibc-solibs-2.3.6-i486-6.tgz sharutils-4.6.3-i486-1.tgz
glibc-zoneinfo-2.3.6-noarch-6.tgz slocate-3.1-i486-1.tgz
gpm-1.20.1-i486-2.tgz smartmontools-5.36-i486-1.tgz
grep-2.5-i486-3.tgz sox-12.18.1-i486-1.tgz
groff-1.19.2-i486-1.tgz sysfsutils-2.0.0-i486-2.tgz
gzip-1.3.5-i486-1.tgz sysklogd-1.4.1-i486-9.tgz
hdparm-6.6-i486-1.tgz syslinux-2.13-i486-1.tgz
hotplug-2004_09_23-noarch-5.tgz sysvinit-2.84-i486-67.tgz
inetd-1.79s-i486-7.tgz sysvinit-2.84-i486-69.tgz
infozip-5.52-i486-1.tgz tar-1.15.1-i486-2.tgz
iptables-1.3.5-i486-2.tgz tcpdump-3.9.4-i486-2.tgz
iptraf-2.7.0-i386-1.tgz tcpip-0.17-i486-39.tgz
isapnptools-1.26-i386-1.tgz tcsh-6.14.00-i486-2.tgz
jfsutils-1.1.11-i486-1.tgz traceroute-1.4a12-i386-2.tgz
joe-3.5-i486-1.tgz udev-097-i486-10.tgz
kbd-1.12-i486-2.tgz umsdos-progs-1.13-i386-1.tgz
kernel-modules-2.4.33.3-i486-1.tgz usbutils-0.72-i486-1.tgz
less-394-i486-1.tgz utempter-1.1.3-i486-1.tgz
lftp-3.5.4-i486-1.tgz util-linux-2.12r-i486-4.tgz
lilo-22.7.1-i486-2.tgz util-linux-2.12r-i486-5.tgz
links-2.1pre23-i486-1.tgz wget-1.10.2-i486-2.tgz
loadlin-1.6c-i386-1.tgz wireless-tools-28-i486-3.tgz
logrotate-3.7.4-i486-1.tgz workbone-2.40-i386-3.tgz
lsof-4.76-i486-1.tgz xfsprogs-2.8.10_1-i486-1.tgz
mailx-12.1-i486-1.tgz ytalk-3.3.0-i486-1.tgz


INSTALLATION:

To install Slackware using ZipSlack, all you need to do is unzip the file
ZIPSLACK.ZIP on the DOS partition where you want Linux installed. To do this,
you'll need an unzip utility. If you don't already have an unzipper such as
PKZIP for DOS or Windows, http://www.pkware.com is a great place to get one.

Here's how you'd install on a Zip disk on drive D:\ -- first, fire up Windows
and start PKZIP for Windows.

Then, from the "File" menu, select the "Open..." option. In the dialog box,
browse for and select the file ZIPSLACK.ZIP.

If you're planning to put this on a Zip disk, make sure it's in your machine,
formatted, and ready to go.

Next, you need to extract the files to a DOS partition. From the "Extract"
menu, select the "Extract Files..." choice. In the "Extract" box, make sure
the "all files" choice is selected. In the "Extract to:" box, make sure the
"Disk" choice is selected. In the text box next to "Disk", you'll need to
fill in the path to where you want to extract the files. (They'll be extracted
into a \linux subdirectory) For example, if your drive is D:\ and that's
where you want to install, then you'll want to put D:\ in the box. Otherwise,
fill in any DOS drive with enough free space to install. When you've got
everything filled in correctly, hit the "Extract" button to extract the files.

Be sure to unzip zipslack.zip at the top of whatever partition you choose
(the \ directory in DOS/Windows). It will create a \LINUX directory there.
If you try to unzip it in a subdirectory or folder, it will not boot correctly.


BOOTING THE LINUX SYSTEM

There are probably countless ways to boot this system once you've unzipped it.
Here, I'll cover two.

Loadlin
-------

Loadlin is a DOS program designed to load the Linux kernel and boot it. In the
\linux directory, you'll find these files:

LOADLIN.EXE: The loadlin loader executable.
LINUX.BAT: A simple DOS batch file to boot Linux using LOADLIN.EXE.
vmlinuz: A Linux kernel with support for SCSI and IDE devices.

You can use the provided vmlinuz kernel (a generic kernel with support for many
devices that will work for most machines), or you can use another Linux kernel
of your choosing by copying it to \linux\vmlinuz over the existing file.
Slackware includes a large collection of precompiled kernels in its \kernels
directory, any of which will work.

To boot the system, you'll need to edit the LINUX.BAT file, and make sure the
root=/dev/XXXX statement on the loadlin line (the one that's not commented out
with 'rem') is set up to use the partition where you unzipped ZIPSLACK.ZIP,
such as /dev/sda4. If you're not sure which partition to use, just go ahead
and guess. If you get it wrong, you'll still be able to use scrollback
(right shift key and PageUp) when the kernel halts to go back and look at your
partitions, noting the names Linux gives them. With this information, you
should be able to edit the LINUX.BAT correctly.

Once LINUX.BAT is edited, you can try to boot the system by entering LINUX on
a prompt while in the \linux directory. IMPORTANT: You'll need to be in
DOS mode for the boot to work. A DOS prompt running under Windows9x will not
work! What you need to do if you use Windows9x is shut the machine down,
selecting the "Restart in MS-DOS mode" selection. Then, you'll be able to use
Loadlin. I've also had great success booting with a "Startup disk" made from
Win95 (Add/Remove Programs in Control Panel, and then "Startup disk" tab) and
then switching into the \linux directory on the target drive and running
LINUX.BAT.

If it doesn't work, the problem could be DOS memory management -- I had to run
both HIMEM.SYS and EMM386.EXE to get LOADLIN to load a large kernel, but it
also worked fine with no memory management. I ran into problems when I tried
to run _just_ HIMEM.SYS.

You can also run LOADLIN directly. Here is a sample boot command to boot Linux
on /dev/sda4 in read-write mode using the kernel file vmlinuz:

loadlin vmlinuz root=/dev/sda4 rw

Using a boot floppy
-------------------

The other way you can boot the system is by using a boot floppy. There's
one provided (bootdisk.img) that uses the generic kernel, or you can use any
of the bootdisks included with Slackware.

To write the image to a floppy disk, use the RAWRITE.EXE program:

rawrite bootdisk.img a:

Or, if you are already running Linux, use this sort of command:

cat bootdisk.img > /dev/fd0

To boot a Linux system in read-write mode on /dev/sda4, boot the bootdisk. On
the 'boot:' prompt, you'd enter this command:

mount root=/dev/sda4 rw


CONFIGURING THE SYSTEM

Once you've booted the system, log in as 'root'. One of the first things you
should do is add a root password with the 'passwd' command. Then, (if you want
some things like 'df' to work) you'll need to edit /etc/fstab to fix the entry
for your root partition. Seasoned UNIX veterans will probably use 'vi' for
this, otherwise 'mcedit' is another option.

If you're on an ethernet connected to the Internet, you can run 'netconfig' to
configure your network access. You may also need to edit /etc/rc.d/rc.modules
to load a kernel module that supports your ethernet card.

If you use PPP to connect to the Internet, you can configure your PPP
connection using 'pppsetup'.


COMPILING AND DEVELOPING SOFTWARE

Past versions of ZipSlack have also included development tools such as binutils,
gcc, make, and perl, but these things are now too large to include by default.
Luckily, it's still easy to add them if you have enough space to install them.
To add a complete development system you'll need to install the packages from the
Slackware D (development) and L (libraries) series using the installpkg package
utility. For example, if you've mounted a Slackware CD on /mnt/cdrom:

cd /mnt/cdrom/slackware
installpkg d/*.tgz l/*.tgz

Note that this will add more than 300MB of software, so you'd better have the space
for it! If you're looking to add a more modest development environment for C and
C++, you'll need at least these packages for good results:

d/binutils d/gcc d/gcc-g++ d/kernel-headers d/make l/glibc

This will require around 125MB of additional space.

Note that the entire ZipSlack system may be extended using Slackware packages, and
you may even use installpkg to install all of them on top of a basic ZipSlack
system in order to get a fully complete Linux system with X and KDE.

==============

I hope this system makes it easier to get Linux up and running. At around 70
megabytes (or so) most people can download this package in just a few hours.

Unfortunately, it looks as if this will be the final release of ZipSlack, as the
UMSDOS filesystem needed to run Linux on a FAT partition (directly, without the
use of a cumbersome and hard to expand image file) will not be part of future
kernels. However, our crack team of rocket scientists are busy working
on replacement solutions. :-)

Have fun!

---
Patrick Volkerding
volkerdi@slackware.com