PHOENIX OS

In January 2004 this project was renamed AMIGO Linux. A new HOWTO is posted on http://www.amigolinux.org/index.htm

For historical reasons I have left this HOWTO here. I encourage you to see the AMIGO HOWTO INDEX  where you will find links to other HOWTO's including the Crazy 3-Legged 20MB Slackware. You can also download 22MB, 32MB and 42MB mini-ZipSlack-compatible systems. You can also download the full AMIGO Linux which has Knoppix-style automatic hardware detection and configuration. Easiest way yet to install a Slackware-compatible system!

Copyright2003 AMIGOLINUX.ORG

 amigo@ibiblio.org

Powered By Slackware

Phoenix is a minimal-install/optimal-subset of the much respected Slackware Linux. This page describes how to create a fully functional SLACKWARE installation in as little as 40MB! Want X? Create an Optimal Subset starting at 140MB that includes GUI, with graphical browser, file manager, text editor and more. This page also explains the purpose, importance and dependencies of the most basic Slackware packages. If you want to run KDE or GNOME, or if you want to compile source code your install will be much larger. But you can still cut out much of the 'fat' from your installation, by following this method and then adding anything else you need or want.

Goal: Create a minimal install of Linux, based on Slackware, that allows for easy extension or modification according to the needs of the user. It must have zero bad hacks, no boot errors and no unmet dependencies. No partial Slackware packages will be used. Some third-party programs may be included to complete the desktop environment.

This page also explains the 'KILL BILL' feature for Windows95/98- a way to safely start Slackware Linux from a Win95/98 system by simply double-clicking  a desktop shortcut.

Just what is a minimal install? Obviously you use your computer differently than I or any one else. Many people, especially those of us with limited hardware resources would like to install just what is needed and no more. But how do we do that? I can't decide for you what is needed. I can't make a list for everybody. You can run a basic Linux system from a floppy diskette. Most people want more, though. But many of us don't want to choose 'Install Everything', either. Hence, this HOWTO.

In it's most basic form, a minimal install is just a system that will boot itself, succesfully running whatever scripts are called for by the init process. But that still doesn't leave us with much. We need a way to extend the system, adding programs and support for devices that might be added later. We need a way to make it do what WE want. This is the problem with 'Live-from-CD' distros. Someone else has decided what to include and there's no easy way to extend them. Plus, the init process has been severely hacked to get them to run live and you can't even configure them and save your changes in the normal way. They just don't behave like 'real' Linux. So, what we really need is not a minmal install, we need an optimal subset that will also allow us to extend the installation according to our own needs and wishes, and that will behave like 'normal' linux. It should boot without errors. It should be extendable and configurable. And it should be able to communicate with other devices, if necessary.

We could build an independent distro from scratch that would do all this. But to have extensibility we'd have to include the ability to reproduce itself- we'd have to include the ability to compile programs, including the kernel. Many people don't want or need this. So, it seems reasonable to build the system around an existing Linux distribution and have the ability to add program packages from that 'distro'. My choice is Slackware. It uses a simple .tgz-based packaging system, which also makes it easy to install programs that others have compiled and packaged this way. One of the big disadvantages of Slackware, though, is that it has no native dependency handling. That's how we get to the question of minimal installs. How do we know what to install and what to leave out?

This HOWTO is my attempt to answer these questions, stripping away everything not necessary to meet the above mentioned criteria. It's not just a simple list, though. Because your hardware is not the same as mine, and because you may choose to use a different boot-method and file system than I do for my system, you'll have to make a few choices to create your own Minimal Install. And then, when you extend it, adding the programs and features that you want and need, you will have created your own Optimal Subset.

For the sake of simpilicity, I'll first show you how to do an installation of approximately 40MB that meets the criteria of a minimal install. Then I'll show you what I add in to get my 140MB Optimal Subset, which includes X11R6, Windowmaker, Opera 7.22, ROX-Filer (an excellent lightweight file manager), Nedit (text editor), Mount.app ( a graphical utility for easily mounting drives), Yawmppp (for one-click dial-up and net monitoring) and much more. If you mainly want to use Slackware for browsing, e-mail and learning about Linux this is an ideal way to start. If you want to run KDE or GNOME, or you want to do program development, you'll find tips on how to keep your installation to a minimum. Packages are arranged in groups, according to their importance, with notes that explain the relevant package dependencies.

Then, in the section 'Installation Methods', I'll talk about how to install your system and give some tips regarding file system type and other subjects that will also help keep the size of your system as small as possible. I'll also give some tips for configuring your system so that it will recognize your hardware, how to set up X and more. I'll talk about the minimum hardware requirements to run this system. And I'll explain how to 'KILL BILL' if you are dual-booting with Windows 95 or 98. This HOWTO was developed around Slackware 8.1, but I also have done this with 9.1. At the end of this page you'll find notes on the differences between the two.

I call this method the PHOENIX Optimal Subset, because it's designed to make old hardware 'rise from the ashes'. GOT SLACK? Follow the steps below and you'll be able to answer 'YES!'

List of Packages for a 40MB Slackware Minimal Install:

Group I- Base and Kernel:

   Package Name                    Package Description

/a/aaa_base

Creates the basic Linux directory structure.

/a/bash

This is the standard Linux 'shell' or command interpreter.

/a/devs

This package creates special 'device files'. In Linux everything is a device, even data files.

/a/etc

Installs the files which control boot-up and configuration of any hardware present.

/a/sysvinit

The 'mother of all processes'. Starts by running /etc/inittab and then runs scripts in /etc/rc.d

/a/kernel

The core operating system.

/a/kernel-modules

Modular addins to give the kernel additional capabilities.

/a/modutils

Tools that allow the kernel to load and unload kernel modules as needed.

All the above packages must be present, except in special cases where all needed options are compiled into the kernel (called a monolithic kernel). If that is the case then the 'modutils' and 'kernel-modules' themselves are not needed. However, this is not often seen- usually only in limited-use systems, such as rescue systems or firewall and router systems. Which kernel? Most people will be able to use the default (bare.i) kernel unless you are booting from a SCSI device, ZIP drive or USB device. If booting from a SCSI device try one of the other SCSI-enabled kernels. If booting from a ZIP drive, USB device, or from a drive attached to a parallel port, the ZipSlack kernel will usually work.

Group II- Base Libraries:

/a/elflibs

Used for running basic Linux binaries such as those found in /bin and /sbin.

/a/cxx-libs

Used for running programs written in C++ (libstdc++)

/a/glibc-solibs

Used for running programs written in the C language

These three packages are nearly essential for running most of the basic Linux programs. The 'elflibs' package is an assortment of libraries which might be redundant if you install everything available in Slackware. But installing this package gives you an all-around assortment without having to install each individual library package. I have found that some programs require installation of the full library version even though parts were installed in 'elflibs'.

Group III- Basic Utilities:

/a/bin

Some of these are required for startup.

/a/elvis

Slackware's version of the 'vi' text editor, the most basic tool for configuration.

/a/fileutils

Programs for manipulating files, creating directories or changing file permissions.

/a/sh-utils

Shell programming utilities, some of which are required during startup.

/a/textutils

Small utilities for manipulating the contents of plain text files.

/a/util-linux

A large collection of system utilities.

All these packages should be present even though you may not use many of the utilities. Every Linux distribution comes with some version of 'vi'. This is the most basic tool for editing text files. In Linux all the configuration files and start-up scripts are plain text files. In fact many so-called programs are really only scripts which combine functions of the low level tools found in linux. These scripts are in 'plain text' format which is then processed by the 'shell', using programs from the 'sh-utils'. You may never need 'vi' or any of its' 'cousins', especially if you install X-windows and have a GUI based text editor. However, 'vi' is very fast and small, is part of every distro and is avavilable from inside the program 'less' which provides a powerful combination for viewing and editing text files. Even if you run 'X' there should always be a command line text editor present in your system in case you have problems. You may choose one of the 'friendlier' options to 'vi', such as 'pico' or 'joe'.

Group IV- System Utilities

/a/findutils

The 'find' and 'xargs' programs.

/a/gawk

GNU implementation of the 'awk' programming language.

/a/grep

Searches for and prints out matching lines of text.

/a/shadow

Provides for system 'login'.

/a/sysklogd

Logs activity and errors in the system.

If these packages are not present Slackware may boot but will give lots of errors since it won't be able to correctly process the boot scripts.

All of the above are absolutely essential for running a Slackware Linux system. Sure, there are many individual tools in there that you may never use, but remember that one of the goals is to have no partial packages and no bad hacks. You could even eliminate complete packages from the above, but you'd have to do some serious alterations in the way Slackware boots and runs. If you already have a bootdisk or plan on chroot-ing into this system, I suppose you could stop here and say that you are running Slackware. But, since we're aiming for an independent system, we must provide a way for it boot itself.

Group V- Boot Loaders

These are your options: loadlin, lilo, and syslinux. Every linux system needs some way to boot itself, unless you are chroot-ing from a running system, which is a subject best left for another discussion. 'loadlin', the 'Linux Loader' is a DOS program that will start a Linux system even if the linux system is not on a DOS partition. 'loadlin' was long touted as the safest way to start Linux, but is not used much any more, although some boot disks still use 'loadlin'. I use it however, as it is the heart of Phoenix's 'KILL BILL' feature. I also use 'lilo', at least for my full-featured installs that run from their own Linux partition. 'syslinux' is a newer DOS-based bootloader and has some excellent advantages. Most modern boot disks are made with 'syslinux'. Because they are on a DOS floppy it's easy to modify them. 'syslinux' is also used to make FLASH memory devices such as USB 'thumb drives' or 'CF disks' bootable. 'loadlin' can run from a bootable DOS floppy diskette or from a hard disk that is formatted with FAT file system. 'lilo' is a boot MANAGER that will let you boot other operationg systems as well as Linux and can be installed on a floppy, in the MBR(Master Boot Record) of the hard disk, or in the 'superblock' of a Linux partition. On my multi-boot machines I always use lilo. It seems that most people like to install it to the MBR, but I always run it from a floppy. Here's why: Unless you really know what you are doing, installing 'lilo' to the MBR may make your current Operating System unbootable. If you are multi-booting and don't know how to restore your MBR or bootsector you should never install 'lilo' on the hard disk. When you know how, you can always reinstall 'lilo' in the appropriate place. Another reason if you are running Windows: The Windows Setup program sometimes must reboot your computer to finish installing a program and if installed to the MBR 'lilo' can interfere with this. It's always safest to install 'lilo' to a floppy disk, at least to begin with. Standard Slackware bootdisk are made with 'syslinux'. 'syslinux' is also a DOS based program and provides a flexible, easy to use boot method. There are other boot loaders and boot managers available, such as 'grub'. Since they are not part of Slackware 8.1 we'll not discuss them much here. I will say, though, that if you are using 'grub' and still want to install lilo to the hard disk, it should be installed to the 'superblock' of the '/' (root) partition where Linux is installed.

Group VI- File System Utilities

These are the options: e2fsprogs, jfsutils, reiserfsprogs, umsdosprogs. These are the programs for maintaining and repairing your file system. You should install at least the package for the file system your system uses. If you want to work with other file systems then install the corresponding packages also. 'e2fsprogs' are used with the standard linux 'ext2'/second extended) file system. 'ext2' is beginning to fall into disuse now as other file systems gain popularity. the 'jfs' and 'reiser' file systems are 'journalled' file systems, which spread data more evenly across the disk and keep a journal of where everything is located. If you are installing to a 'linux native partition' (type 83), I strongly recommend the use of the Reiser File system as it is faster and more dependable than 'ext2'. Incidentally, there is also 'ext3', another journalled file system based on 'ext2', but it seems to be inadequate as compared to the Reiser file system. If you are using the ZipSlack install method or otherwise installing to a FAT partition then you will need the 'umsdos' programs. The 'umsdos' file system allows a Linux installation to reside on the same partition as DOS or Windows 95/98/ME or even on a FAT partition that is part of an NT/XP/W2K installation.

Since Slackware 8.1 came out two other file systems are coming into common use. One is 'xfs', which I hear is quite fast. 'xfs-utils' is an option in Slackware 9.1. The other one is JFFS2 which is a new version of 'jfs'. JFFS is useful for file systems built on FLASH memory devices, such as CF cards and USB storage mediums. These Flash devices have a limited life because the number of read/write operations is limited. JFFS2 provides 'wear-leveling' so that no single block of the device is used more than any other, thus extending the lide of the device. I only mention this because, if you are planning to run ZipSlack or Phoenix from one of these devices using the 'umsdos' file system, you should be aware that the device will not last too long. System logging and swap space use are the cause of this. Using JFFS2 appears to be good option for this case. However, discussion of the use of JFFS2 is beyond the scope of this article.

I should also mention here that the type of file system you choose and the block size used when formatting the file system have a significant effect on the final size and speed of your system as well as the dependability. If you choose the 'ext2' file system it will automatically reserve a significant amount (10-100MB) of space for /root, that you may or may not need.  If you install to a linux partition, smaller block sizes may save disk space but will run slower. Larger block sizes will run faster but use more space. You choose. Or compromise with a block size of 2048. At least Slackware gives you a chance to choose the block size! ZipSlack necessarily uses the 'umsdos' file system and so uses whatever block size the FAT partition is formatted with. Supposedly the 'umsdos' file system runs slower, but I can't really tell it on my system. I boot a 140MB Phoenix installation on a FAT partition using 'umsdos', and a 1.1GB Slackware install using the Reiser file system, all on the same computer and I can't really tell much difference. I might also mention, that if you dual boot an 'umsdos' install from within Win95/98 and you have a really good defrag utility (like Norton Disk Doctor or MacAfee DiskTune) that reorders the data on your disk efficiently, this could make your 'umsdos' installation run faster.

A note about file system dependability: The 'ext2' file system may not be able to repair itself if your system crashes. (Yes Linux does crash sometimes. Rather, we crash it. This usually happens as a result of improper configuration of X). The program 'e2fsck' is sometimes able to repair the file system, but I've been surprised to see that even the 'umsdos' file system recovers better than ext2fs! I have yet to lose a system that was using the 'umsdos' or Reiser file system.

Group VII- Package Tools

Slackware's package management is handled by the tools in the package 'pkgtools'. However, 'pkgtools' needs the packages 'gzip' and 'tar'. You must have these three installed in order to add more Slackware packages to your system. 'gzip' and 'tar' are file compression and archiving tools which are also commonly used to work with other files, so it's useful to have them anyway. You'll need 'gzip' if you plan to install the man pages (the basic Linux help system).

If you've installed all the above, then by this point you've definitely 'Got Slack'! Everything that follows is optional and will depend on what you want to do with Linux, what kind of hardware you have and how much disk space you have for installation. I'll finish by talking about the options I have included in the Phoenix 140MB install and how to create your own 'KILL BILL' shortcut (only for win95/98 users). So you can understand the options I have included I'll tell about my hardware. My main computer has a Pentium 233MMX processor and 32Mb of RAM. I have a 6GB hard disk, so I have a little room to play with these things. Not long ago I had Win98 and 4 Linux distros installed at once. Other hardware that affects my choices is this: I have a German keyboard so I need kbd. I use a dial-up 56K modem to connect to the internet so I need some of the network tools. I don't really care about having sound, so I leave that out. On this computer I don't have any pcmcia cards, wireless cards, or ISA/PCI cards that Linux can't deal with, so I leave out those tools also. And then, about my purposes for running Linux: I'm comfortable working from the text console or CLI (command line interface- you know the black screen with the white letters :-)), but I much prefer to have a Graphic User Interface and a few buttons, if not bells and whistles. I mostly use my computer for surfing the internet, e-mail, graphics editing and light development. Your choices may vary somewhat according to your hardware and purposes. The only assumption here is that you might need the GUI, internet connection and browser in order to find anything else you want to install, a nice text editor to configure it, and a nice file manager to see what's in your system. If your needs are similar, you might start your own Optimal Subset of Slackware by duplicating what I have installed. If so, see the section near the end of this document for the rest of the packages to complete the 140MB install.

Other File Compression Tools

These include: 'bzip2', 'cpio', and 'infozip'. 'bzip2' provides better compression than 'gzip'. Program source code is usually compressed into a .bz2 file. 'cpio' is another archiving tool similar to tar, except that 'cpio' preserves file permissions in the created archive. 'infozip' is used for compressing and decompressing files with the .zip extension. If you plan to work with any of these file types then you'll need these tools.

Administrative Helpers

These include: 'devfsd', 'procps' and 'sudo'. 'devfsd' provides intelligent management of the device file system. This is one of the things that makes it possible for dsitros like Knoppix to recognize and configure hardware. 'procps' lets you control system processes. 'sudo' allows users to execute some commands as root (superuser).

Useful Add-ins

I always add these in: 'less' and 'slocate'. 'less' is like 'more', a text pager for viewing text files, but 'more' is somewhat limited, only letting you scroll down. 'less' is faster and let's you scroll up or down. You can find programs in your path by using the 'which' command. But 'locate' and 'slocate' let you search for any file anywhere on your system. If you want access to the basic Linux help system, you need to install the packages groff, man, and man-pages. Make sure you also have the package 'gzip' installed. Or you could install 'texinfo'. The man (manual) pages are not always a great way to actually learn to use a command or program. You may have to look around for a HOWTO to master the use of some tools. The man-pages then serve as a great reminder for the sysntax usage of a tool when you haven't used it for awhile.

Internationalization

These are the basic packages: gettext, glibc-zoneinfo, and kbd. If English is not your native language 'gettext' may provide system messages in your language. 'glibc-zoneinfo' allows you to configure your timezone. If you have any other keyboard than USA English, 'kbd' will let you configure your Slackware system for proper keyboard mapping.

Internet Tools and Protocols

This group includes: inetd, openssl-solibs, pidentd, ppp, tcpip and wget. If you plan to go on the Internet or communicate over a LAN using ppp, then as a bare minimum you will need 'inetd', 'ppp' and 'tcpip'. You may need 'pidentd' and 'openssl-solibs' in order for your ISP to authenticate your connection. 'wget' is a download utility. Some GUI download utilities are just a 'front-end' to 'wget', so you may need this. I haven't yet confirmed if Opera uses it so I include it. 'curl' is another very useful 'downloader' library with advanced functions.

X11R6 Graphic User Interface

Most people just call it X. The minimum you will need: xfree86-base and xfree86-fonts-misc. These are the largest packages in the Phoenix install. Again, the size could be cut by removing unneeded servers and fonts, but... 'no partial packages'. Most graphics hardware is supported. If you have 'bleeding edge' hardware you may have to get the Linux driver from the manufaturer. If you have very old hardware or a 'cranky' laptop you may have to use the virtual frame buffer device in the package 'xfree86-xvfb' or install 'xfree86-3.3.6'. If you have large or very high resolution monitor you may want use the high resolution fonts in 'xfree86-fonts-100dpi'. The scalable fonts in 'xfree86-fonts-scale' are useful if you want to view pdf files. More about viewing pdf files below...

Window Managers

This subject is nearly as bad as the 'distro wars' themselves! Everybody has their favorite window manager and desktop environment. I'll step into the fray by offering my opinions also. First, 'fluxbox is' one of the smallest window managers at just 1MB. It's also about the fastest and has some nice features. It does require you to do a lot of manual configuration, though, by editing configuration files. 'fluxbox' is a refined version of 'blackbox' which comes with Slackware 8.1. The features are similar. The X-base package provides a VERY simple window manager 'twm', but all it seems capable of doing is opening an xterm. 'fvwm' (3.2MB) is an enhancement of 'twm' and doesn't do too much more. 'fvwm95' (2.5MB) is a further refinement that looks somewhat like the Windows95 desktop. But it won't give you the same ease of use as win95. 'xfce'(8.3MB)- the 'cholesterol free' window manager has many more features, but in my test was the slowest of all- even slower than 'kwm' the KDE window manager! If you install the 'lesstif' libraries package it comes with the 'mwm' window manager which I honestly haven't tested yet. It appears to be similar in functionality to 'fvwm' and 'xfce'. My favorite and what I chose to include in Phoenix OS is 'windowmaker' (5.9MB). It's larger than 'fluxbox' and requires an extra library package, 'libungif' (380K) in order to run. But, it's nearly as fast as fluxbox and much easier to configure. And I love the elegant, distinctly non-Windows look and behavior. 'icewm' is probably the most Windows-like of the common window managers. But if you decide to use it, welcome to dependency hell! You'll need most of the GNOME series installed for it to work. GNOME'S 'sawfish' window manager is also fairly light and fast but doesn't offer any particularly special functionality and must be manually configured using the LISP language. But it can be used without GNOME. I'll mention here that if you decide to use the GNOME desktop you'll need to install nearly everything in the GNOME series. It's all very tightly integrated so you should be careful about deleting individual parts of the series. GNOME is, however, smaller and faster than KDE. If it has all that you need it might be a good choice. Now, that leaves us with 'kwm' and the KDE desktop. This is the most complete desktop for Linux and for first-time Linux users who are migrating from Windows, KDE is the easiest to get started with. Looks like Windows, feels like Windows, acts a lot like Windows. And like Windows (XP at least) it's full of bloat and slow as Christmas on limited hardware. I have used it a lot, mostly because of kppp and kpackage. kppp is probably the easiest ppp configuration utility out there. And kpackage is a nice front-end to the RPM (Redhat Package Manager), providing management of Slackware and Debian packages also. But kpackage (I'm speaking about KDE 3.0.1) doesn't always work well. And now that I've modified the pppsetup script so that it works with Dynamic DNS I don't need kppp anymore. From the windowmaker desktop I used to run these two KDE programs, but when doing so they start the whole KDE process taking all my RAM, my neighbor's RAM and maybe some of yours, too. You get the idea. That brings up this, though. Most KDE or GNOME programs will run no matter which window manager you are using, as long as you know its' real name. Just type it in an xterm or RUN... box and it will run. But it will use the KDE or GNOME libraries so they must be installed. GNOME also has the enlightenment(16.8MB) window manager. Elegant and lots of features, but look at the size! Many hacker-types prefer fluxbox. Newbies from Windows usually choose KDE. Maybe GNOME appeals to iMAC types. For size, speed and feel I'm sticking with windowmaker for now. windowmaker and fluxbox are both quite different from Windows in the way they do things, so it may take you a while to adjust if you decide to use either of them. There is a project called XP-de that aims to make a Linux desktop that looks and acts like WinXP. Personally, I like the win95/98 desktop much better than XP and anyway I didn't switch to Linux hoping to find it 'just like Windows'! That's like someone who moves to a foreign country and then always moans about 'Back where I come from we always...'! Anyway, enough of OS and window manager bashing. You choose.

Graphics Libraries

There are many types of graphic libraries and toolkits (or widget sets) for X. One of the most common is GTK. Slackware 8.1 uses 'gtk+-1.2.10'. To run gtk+-based programs you' also need the 'glib-1.2.10 libraries'. motif('lesstif') is another 'family' often seen. The other most commonly called for graphics libraries are 'gdk-pixbuf', 'libxml2', 'xaw3d' and the image format libs: 'libgr', 'libjpeg', 'libpng', 'libtiff', 'libungif' and 'libxslt'(for XML transformation). See the list below for what Phoenix needs and see the PACKAGES.TXT file on the Slackware CD or website for further information if you think you need others.

Development and Compiling

If you plan to compile programs written in the C programming language you'll need to have all these installed: findutils, gawk, grep(all from above), plus from the /d series you'll need: binutils, kernel-headers, make and the compiler gcc. If you're going to compile C++ progs you'll also need gcc-g++. If you want to compile the kernel you'll also need the kernel source from /k. If you plan to apply 'patches' to the kernel or other source code, or if you just want to find the differences between two similar files, you'll need the package 'diffutils'. To compile some other programs you will also need 'autoconf', 'automake', and for still others 'libtool' and 'm4'. Some programs won't run unless you have 'perl' or 'python' installed even if you don't use them for development.

Group XVII-Tools for Other Devices

If you want to use pcmcia cards you'll need the package 'pcmcia-cs'. Btw, that stands for People Can't Memorize Computer Industry Abbreviations.

If you use wireless networking grab wireless-tools. If you use internet or ppp over ethernet get 'rp-pppoe'. If you have old ISA PNP cards or PCI cards that need to be manually configured for some reason, then get 'isapnptools' or 'pciutils'.

If you plan to run GNOME, you'll pretty much have to install the whole series plus gtk+ and glib. Gnome is so tightly integrated that' it's difficult  to find what can be safely removed. If you want KDE, you'll need at least kdebase, kdelibs and qt-copy. But you'll probably also want kdeadmin, and kdeaddons, plus kdeartwork if you're into eye-candy. Personally I prefer MEAT. Grab kdegraphics or kdemultimedia if that's your thing. You can install all the basic stuff including some packages from the /d series for compiling the kernel or other C programs, plus most of the KDE series in about 700-800MB.  If you also install GNOME, the GIMP and a few things like that you'll need about 1.1-1.3GB. My main install that I use for compiling and for comparisons with other distros is about 1.1GB, including a few window managers, most of the /d and /tcl series, plus KDE and GNOME. Just by leaving out emacs, documentation, and games you can save a lot of space.

If you want to view pdf files you'll need to install xpdf, gnu-gs-fonts, t1libs and xfree86-fonts-scale.

List of packages for 140MB PHOENIX OS:

From Package Series /slackware/a

aaa_base, bash, bin, cpio, cxxlibs, devs, devfsd, elflibs, elvis, etc, fileutils, findutils, gawk, glibc-solibs, grep, gzip, kbd, kernel-modules, less, loadlin*

modutils, openssl-solibs, pkgtools, procps, sh-utils, shadow, slocate, sysklogd, sysvinit, tar, textutils, umsdosprogs*, util-linux

Items marked above with '*' may be different for your system, depending on the boot method and filesystem you choose. See more explanantion above under 'Boot Loaders' and File System Utilities'.

From Package Series /slackware/l

gdk-pixbuf, glib-1.2.1, gtk+-1.2.1, lesstif, libpng, libungif, libxml2

Others:

 From /slackware/kernels: bare.i or ZipSlack

From /slackware/ap : sudo

From /slackware/n : inetd, pidentd, ppp, tcpip, wget

From /slackware/x : xfree86-base, xfree86-fonts-misc

From /slackware/xap : windowmaker

From other sources: mount.app 3.0, nedit 5.0, opera 7.22, rox-base 1.0.0, rox-filer 1.2.2, yawmppp

That's all you need to have the same thing I run every day. However, your list may need to be altered a little according to the hardware you use and some choices that you can make. For instance, if you are going to install to a Linux partition (type83) then you may not need the UMSDOS package, but would instead choose e2fsprogs or reiserfsprogs.

If you want to use Slackware 9.1 the packages are mostly the same. modutils is called module-init-tools in 9.1 and util-linux is called core-utils. And 9.1 has a few more special hardware tools. Slackware 9.1 also uses the newer versions of gtk (gtk2) and glibc which are larger and slower than the earlier versions. If you have newer hardware 9.1 may be better for your system. But if you are using older, smaller hardware I suggest using the 8.1 version. You can always update packages if you want to. If you upgrade the kernel you will need to install the newer kernel-modules to make it work. Slackware 9.1 still includes the older gtk+ and glibc libraries and in my Phoenix 9.1 I only use the older versions. Why upgrade to something bigger and slower? I am still refining 9.1 though and will probably be using the newer libraries since the new ROX-Session desktop environment that I want to include requires them. The 9.1 version is about 30-40% larger.

Now, about KILL BILL:

If you are running a dual boot system with Windows 95 or 98 you can start any Linux OS by double-clicking a shortcut on the Windows desktop! You don't have to be running Linux from a FAT partition for this to work. I don't think this will work in Windows ME since it won't run in REAL DOS mode only in protected mode. I'd love to hear from anyone who has an ME system and wants to try it. I don't think this will work in WIN2K or XP either, but it wouldn't hurt anything to try. Here's how to do it in Win95/98:

You must have loadlin installed. For a ZipSlack install use the loadlin located in the top directory (/). Edit the linux.bat file so that it points to the correct location of your Linux install. Usually you just have to uncomment the appropriate line. For my system, where linux is installed to my D: drive I use the line:   D:\linux\loadlin  D:\linux\vmlinuz  root=/dev/hda5 rw      where /dev/hda5 is my D: drive.

If you are running Linux from its' own partition then you'll need to move loadlin.exe and linux.bat to a FAT partition. loadlin.exe is a DOS program and linux.bat is a DOS batch file.

Once you've edited linux.bat to point to your Slackware install, fire up your (trusty?) Windows OS and using My Computer or Windows Explorer navigate to where the linux.bat file is. Right-click on it and choose 'Create a shortcut'. Now, drag the shortcut to your desktop. Right-click it and choose 'Properties'. Now click on 'Program' and check that the 'Cmd line' correctly points to the linux.bat file. If not, change it. Now click on 'Advanced' and click to place a check mark in the box for 'MS-DOS mode'. Choose 'Use current MS-DOS configuration'. Click 'OK'. Then click 'Change Icon'. Choose a nice icon. I use the 'MACE'. That's the ball with spikes on it, for lack of a better weapon. Now click 'OK' and then 'OK' again to close the main shortcut configuration dialog. Now right-click on the icon and name it something nice like 'KILL BILL' for instance.

Now start up Notepad or any text editor and open up your C:\config.sys file. If you can't see it you may have to change the settings in windows explorer under 'View> Folder Options> View. Click 'Show all files'. In Notepad you'll have to click 'Files of Type: All Files'.Now add these lines to your config.sys

 dos=umb

devicehigh=C:\windows\himem.sys /testmem:off

devicehigh=C:\windows\emm386.exe noems I=B000-B7FF

 

Btw that's I=B(3 ZEROS)-B7FFF. Now save the file.  Now if you double-click you should be able to 'KILL BILL' also. Windows will warn you that it's about to go into DOS mode. You can turn off this warning if you want. (Right-click the icon, choose Properties> Program> Advanced- unselect 'Warn Before entering DOS mode') Enjoy this experience each time you run Windows and WOW your friends! Loadlin can also be run by rebooting into DOS mode or by holding CTRL on bootup and then choosing COMMAND PROMPT ONLY. Then just navigate to where linux.bat is and type 'linux'. You can even put loadlin on a bootable DOS floppy and run from there but it's a little trickier to get working.

I daily use the 140MB PHOENIX version, installed on a FAT partition, for surfing, e-mail and light development that doesn't require compiling. It's slick, fast, elegant and easy to back up by just creating a ZIP file of the whole system. I can do this because the whole thing runs from within a windows/FAT partition using the UMSDOS file system. Since I dual boot Slackware and win98 it's easy to make a ZIP backup. And for those (few) times when I run win98, I love to click on that 'KILL BILL' shortcut on the desktop which boots my PHOENIX OS! If you want to install to a regular Linux partition, no problem- the list is the same, except for differences in the file system and boot method tools.

I call it PHOENIX because it's great for resurrecting old, small, slow hardware, giving it a new life and a new look. Because I don't have huge amounts of disk space, I use the ZipSlack install method and run from a FAT partition. But you can install these packages to any Linux partition and use one of the other file systems. Actually starting with a ZipSlack install made lots of sense. ZipSlack is the smallest Slackware available and shows me what Slackware's developer, Patrick Volkerding considers to be a minimal install. ZipSlack 8.1 unzips to about 75MB, which I then cut down to around 40MB, before adding in other packages to end up with about 140MB installed. This HOWTO is based on ZipSlack 8.1, but you can do the same thing with 9.1. The installed size for 9.1 will be around 175MB, though, since GTK-2, GLIB-2 and XFree86-4.3.0 are larger than their 8.1 counterparts.

24/DEC/2003 I hope that this HOWTO has helped you to understand a little more about basic questions concerning a minimal install of Slackware. Actually, putting all the information on one page has helped ME a lot. This document is still a 'work in progress'. I'll keep refining the format, and updating and adding information. I am looking for a host for the PHOENIX distro and hope to release it soon. I am also currently refining the list for the 9.1 release, and hope to add to the information on large installs that include development tools, KDE and GNOME. I also still need to add the section on installation methods.