Slimline Slackware 11.0 by stages (24, 29, 31 or 39 packages)
The idea behind this experiment is to build an installation of Slackware 11.0 (kernel 2.6.17.13) in stages. With no redundant packages.
Stage one
A working command line with a minimum of functionality, ie. just enough to be able to install programs from the installation cd.
Stage two
A working minimalistic X server and desktop.
Stage three
A working networking environment, both external and internal, and secure
Stage four.
Connectivity to printer, scanner, camera and palmtop.
Stage five
Productivity suite, SOHO (small office, home office) applications.
Stage six
Multimedia suite, sound, music and video.
Stage seven
Relaxation suite, games
As you can see I will only be using a fraction of the power of Linux, but by building it in stages I will see more of the relationship between each of the packages that are supplied in the Slackware distribution.
-----------------------------------------------------------------------------
Stage one
This cut down version is on an external USB2.0 hard drive, which neither my main machine or laptop can boot. If you want to boot this installation directly you will need to add lilo or another boot loader to the list.
I began with a standard Slackware installation, partitioning the drive and using an ext3 filesystem. Other filesystems require other support programs, e2fsprogs only supports ext2 and ext3 filesystems.
I then used the expert method of selecting the packages to install, an amount of experimentation took place, and I finally installed the following 24 packages.
aaa_base-11.0.0-noarch-2
aaa_elflibs-11.0.0-i486-9
bash-3.1.017-i486-1
bin-11.0-i486-3
coreutils-5.97-i486-1
devs-2.3.1-noarch-25
e2fsprogs-1.38-i486-2
etc-11.0-noarch-2
findutils-4.2.28-i486-1
gawk-3.1.5-i486-3
glibc-solibs-2.3.6-i486-6
grep-2.5-i486-3
gzip-1.3.5-i486-1
kernel-generic-2.6.17.13-i486-1
kernel-modules-2.6.17.13-i486-1
module-init-tools-3.2.2-i486-2
pkgtools-11.0.0-i486-4
procps-3.2.7-i486-1
sed-4.1.5-i486-1
shadow-4.0.3-i486-13
sysvinit-2.84-i486-69
tar-1.15.1-i486-2
udev-097-i486-10
util-linux-2.12r-i486-5
As I use kernel 2.6.17.13 and reiserfs on my main machine I have to boot with an initrd.gz, I modified the initrd-tree with usb and ext3 modules, and added a new entry to lilo. After running /sbin/lilo I rebooted into my shiny new command line that has little functionality apart from file manipulation.
At this stage it is nothing like a modern linux.
---------------------------------------------------------------------------------
Stage two
This stage was much quicker, packages used 7.
I started by installing x11 and then x11-fonts-misc. The fonts complained about fc-cache so I installed fontconfig, I then ran startx, to find a utempter dependency, after running Xorg -configure I had to modify my /etc/X11/xorg.conf, I like pico so I installed pine. You could of course use any editor you wish, I can use vi but I like pico (so there!).
This gave me a working X-environment with twm as the default windowmanager. On top of this I tried fluxbox which required cxxlibs, but I couldn't get it to work at this stage, so I removed fluxbox and installed blackbox, however I left cxxlibs as I am positive that they will be needed later.
cxxlibs-6.0.3-i486-1
fontconfig-2.2.3-i486-2
blackbox-0.65.0-i386-1
pine-4.64-i486-2
utempter-1.1.3-i486-1
x11-6.9.0-i486-11
x11-fonts-misc-6.9.0-noarch-5
------------------------------------------------------------------------------------
Stage three
Whilst I feel that I have a fully working network, both external and internal, I have only tested the external network so far.
The browser that I tested the internet with was dillo as neither firefox of seamonkey would work for me at this stage, however like fluxbox they will be tried again later.
I used firewall-install2.sh from
http://projectfiles.com/firewall (link broken when I checked). Whilst it is not a Slackware package it is secure and easy.
The other 8 packages used were:
Command Line
iptables-1.3.5-i486-2
dhcpcd-2.0.4-i486-2
tcpip-0.17-i486-39
openssl-solibs-0.9.8d-i486-1 (required by wget)
wget-1.10.2-i486-2
X Environment
dillo-0.8.6-i486-2McD
glib-1.2.10-i386-2 (required by gtk)
gtk+-1.2.10-i386-3 (required by dillo)
dillo and firewall-install2.sh were downloaded with wget.
If you do not have a broadband connection you will have to install ppp or another dialer.
-----------------------------------------------------------------------------------
Stages four to seven
As the number of permutations goes exponential at this point, I will leave this section, after all what is good for me may not be good for you.
For example I have a scsi2 scanner, a network printer, and a USB2.0 network connection to my Zaurus, not the most common of setups.
Plus lets face it you would feel let down if someone else did all the work for you.
-----------------------------------------------------------------------------------
Final words
Of course if you dont use X then you will not require dillo etc. and you can ignore section two.
If you dont use a network then sections one at two are for you.
I haven't tried to make this small by stripping out every excess byte, I have made it slim. As I intend to use it as a base for building my Slackware installation for my laptop. My main machine has 306 packages on it, this slimline version has 39 it will grow, but it will grow as required and I will know what every single package does.