Finalising a Slackware 9.0 installation

These are notes made on setting up my system after a fairly standard Slackware 9.0 install. For instructions on doing that installation, see Installing Slackware 9.0.

Kernel Configuration

Cards

Recompile the kernel. Strip out all un-needed stuff. Include SCSI and network card in kernel, not as module. Cards:

  • Adaptec 2940 - aic7xxx
  • 3Com 3C905b - Vortex Boomerang

Sound

Sound with the Soundblaster cards:

  • Soundblaster Live - easy.
    • In 'make menuconfig', choose sound, Soundblaster Live and OSS as modules.
    • Compile the modules, install them.
    • Edit rc.modules and make sure the 'modprobe emu10k1' line is uncommented.
    • Then type 'modprobe emu10k1'. Should work first try. Easy.
  • Soundblaster Audigy - this is more of a problem.
    • In "make menuconfig", set these to modules - sound, Soundblaster Live and OSS Sound.
    • Compile the modules, install them.
    • Edit rc.modules and make sure the 'modprobe emu10k1' line is uncommented.
    • Then go to Sourceforge and download the latest emu10k1 drivers.
    • Compile them. Follow all the instructions, with the make, make install, make tools, make tools install, etc. That sets up the basic Audigy drivers.
    • Then some fine-tuning. Go to http://basic-rip.co.uk/tenpin/linux_audigy_faq.html and download the replacements for audigy-script and emu10k1.conf.
    • Copy them into place over the default ones in /usr/local/etc.
    • To fire it up, type 'modprobe emu10k1'.
    • Should work now. Should even work for recording.
  • Make sure the headphones are plugged into the light green socket.
  • Sound devices have more secure permissions than other devices. Each login other than root that requires sound needs to be added to the sys line in /etc/group. You can do this as part of the adduser script.

System Configuration

Apache

As root, create /home/htdocs, and change owner to hgriggs.users.

Copy the data from backup into htdocs. Make a symbolic link from /home/hgriggs/htdocs to /home/htdocs.

Change to /etc/apache and edit httpd.conf. Configure it from the saved backup file.

Make sure /etc/rc.d/rc.httpd is executable. Restart Apache with "/etc/rc.d/rc.httpd restart".

kdm

Patrick has changed the default to be gdm. Not good. Go to /etc/rc.d and edit rc.4 and change the order around so kdm is the first one to be found.

Then edit /opt/kde/share/config/kdm/kdmrc. Modify it to not show users, change the greeting, add the clock, allow root to login, and whatever else is required.

Palm Connectivity

Get Pilot conectivity working by making sure /dev/pilot exists and points to /dev/ttyS0. Set ttyS0 to ugo=rw. Alternatively add hgriggs to the uucp line in /etc/group. This last is the approved approach according to alt.os.linux.slackware.

Printing

This is pretty easy now.

Copy from backup the directory /usr/local/print-filter-0.5.3. In the bin directory there will be two files - rewindstdin and print-filter.sh. Make sure they are executable. Use makelinks to get the symbolic links into /usr/local/bin.

Copy /etc/printcap from backup. It should look like this for the print server:

lp|lj:\
  :lp=:\
  :rm=netprinter:\
  :rp=raw:\
  :if=/usr/local/bin/print-filter.sh:\
  :sd=/var/spool/lpd/lp:\
  :mx#0:\
  :sh:

or this, for the local printer:

lp|lj:\
  :sd=/var/spool/lpd/lp:\
  :mx#0:\
  :sh:\
  :lp=/dev/lp0:\
  :if=/usr/local/bin/print-filter.sh:

As root, go to /var/spool/lpd and create the lp directory. Change owenership with 'chown lp.lp lp'.

Kill lpd, and restart it with '/usr/sbin/lpd'.

Edit /etc/a2ps-site.cfg and make sure the paper settings are right.

sendmail

Do this as root:

  • Get henry.mc in /home/hgriggs/hdata/live.
  • Copy it to /usr/share/sendmail/cf/cf.
  • Type "m4 henry.cf > henry.sendmail".
  • Copy the file henry.cf to /etc/mail/sendmail.cf.
  • Then '/etc/rc.d/rc.sendmail restart'.

X

See X setup.

Applications

Default install pattern

Make sure root has /usr/local/bin in PATH.

All applications get installed into /usr/local/application-version. Example: /usr/local/xterm-166. Usually you do "./configure --prefix=/usr/local/application-version" when compiling a package. After you do "make" and "make install", cd to /usr/local and "makelinks -p application-version" and it will create an abbreviated symbolic link /usr/local/application, and it will create symbolic links in /usr/local/bin, etc. All applications get installed this way, even if I have to manually create the directories and copy the files into place before running makelinks.

makelinks

This gets installed before all other packages. It's used to install all the other packages.

Install makelinks from backup. Check that first line of makelinks points to the right Perl. To get it makelinked into place, cd to /usr/local and then do "makelinks-2.0/bin/makelinks -p makelinks-2.0".

Acrobat Reader

Get latest version from Adobe. Install it. Can't use makelinks on it, so create a symbolic link in /usr/local/bin to the actual acroread.

antiword

Download latest version from freshmeat. Needs editing of the makefile to get it to install in /usr/local, and then it wants to find its mapping files in /usr/share/antiword, so I set up a symbolic link to /usr/local/antiword/share.

astyle

Download latest version from freshmeat. Comes in a Zip file. Unzips into current directory, so make a directory manually and unzip into it. No install option in the makefile, so make the directories manually and copy them into it.

aumix

This is provided in the extras directory on the second Slackware CD. Use pkgtool to install it. When you start it, wind all controls to zero, then only use Volume and PCM. If you have to use OGain, you've got the headphones plugged into the wrong place. They go in the light green socket. To play cds, use the CD control. Those three are all you should need for playback.

dia

Get the latest from freshmeat and install it. Easy one. Slow compiling though.

gplaycd

Get the latest version from freshmeat, compile it and install it.

gqview

Used to come pre-installed, but not any more. Get it from freshmeat, compile it and install it.

JPilot

Get latest version from freshmeat and install it. Installation works nicely. It requires pilot-link to be already installed, but Slackware 9.0 has pilot-link by default this time.

Java

You need this for OpenOffice installation and for Mozilla plugins.

Don't get the one from Sun. It's compiled with an earlier version of gcc and the name mangling will cause Mozilla to crash when trying to use it. So go to www.blackdown.org and download the Blackdown version. This has been compiled with gcc 3.2, so will work. You get a big binary file. Be root. Change the permission to executable. Change directory to /usr/local and execute it. It will create a directory in the current directory. Then use makelinks. You'll probably need to fiddle the name to get it into makelinks format, then afterwards, change the name back and alter the link. Go into the directory and read the notes on installing as a plugin.

mozilla

Download the latest Mozilla source code, compile and install it. Use these configure switches:

  • --enable-crypto (to allow banking logins)
  • --disable-debugs (attempt to get some speed)
  • --disable-logging (attempt to get some speed)
  • --enable-calendar (looks interesting, remote calendars look like fun, but I can't see a way to co-ordinate it with J-Pilot or my Palm, needs a WebDAV module for Apache)

The default Mozilla with Slackware has the worst fonts. These go away when you compile from scratch.

You need plugins. The ones I use are Java, Realplayer, Flash and Plugger.

For Java, get the Blackdown Java SDK from www.blackdown.org and install that. Then make a symbolic link: 'ln -s /usr/local/j2sdk/jre/plugin/i386/mozilla/javaplugin_oji.so /usr/local/mozilla/lib/mozilla-1.3/plugins/javaplugin_oji.so'. Test it out by going to http://java.sun.com/products/plugin/1.4.1/demos/applets.html and fiddling around.

Flash is easy. Go to www.flash.com, choose downloads, follow the links and download the latest free flash player. They recognise Mozilla now. And they say it's been tested on Slackware. However, the latest version, 6, wants some font packages installed first, and then you have to run a script and it refuses to believe that mozilla is where you say it is. So screw version 6, and stick with version 5. Get these two files out of the version 5 download tgz, ShockwaveFlash.class and libflashplayer.so, and copy them to /usr/local/mozilla/lib/mozilla-1.3/plugins. Test Flash by going to http://www.flash.com.

Real Player is a pain. You have to be running X as root. So log out, then log in as root. I am still using Real Player version 8. Check out www.real.com for the latest Linux download. They've gone to a lot of trouble to hide the download for Linux section. The package comes as a binary app. Run it. Accept the license, install it in /usr/local/RealPlayer8. To use it as a standalone package, you can't use makelinks because the directory structure is not the right format. So just add a symbolic link from /usr/local/bin/realplay to /usr/local/RealPlayer8/realplay. To get the plugin running, copy rpnp.so and raclass.zip to /usr/local/mozilla/lib/mozilla-1.3/plugins. And don't forget to start realplay, and set the proxy. With proxy exceptions, it won't handle something like ".internal", so specify the whole hostname "hradio.internal".

Plugger is obtained from http://fredrik.hubbe.net/plugger.html. Current version is 4.0. Untar the file. Copy plugger.so to /usr/local/mozilla/lib/mozilla-1.3/plugins. Copy pluggerrc to /etc and rename it pluggerrc-4.0. Create a standard application tree for plugger-4.0 under /usr/local. Put plugger-4.0 into bin. Put plugger.7 into man/man7. Run makelinks on /usr/local/plugger-4.0.

Check all the plugins by running Mozilla, Help -> About Plugins, and check that all four plugins are correctly listed.

mutt

Even though it comes installed with Slackware, I like to compile it and install it myself. Keep the old .muttrc, .mutt.aliases, .mutt.lists and .mutt.gpg. Revise .muttrc and compare it with the new system default to see what's changed between versions.

netpbm

You need this for plucker for creating docs for the Palm.

Get it from freshmeat and compile and install it. netpbm uses a real sucky compile and installation method. Start with the usual ./configure, then make. After that it will want you to create a package. Do this 'make package pkgdir=/usrlocal/netpbm-10.14', and ignore the rest of their instructions. It will be installed in the right place, with the right directory structure for makelinks. So run makelinks, and it's done.

ntp

Set it up as a root cron job. Check the ntp servers and make sure the one we usually use is still okay to use.

Open Office

Untar the file in /usr/src. Have to be running as root, with root as the owner of the DISPLAY, so can't be doing root as su. Change to install directory, then run "./setup /net". This does a network install. Can't use makelinks on it either.

Then log in as end-user, change directory to /usr/local/OpenOffice, and run "./setup". Choose a workstation install. For the Java runtime environment, browse to /usr/local/j2sdk.

Change .fvwm2rc so that OpenOffice calls go to /home/hgriggs/OpenOffice.org1.0.2/soffice.

Log in with Gnome and KDE and run soffice under both. It does some sort of registration that makes it easier to use later.

plucker

Get latest version from freshmeat. You need to have a few things installed before you can install plucker. Python is one thing, netpbm is the other. I installed Python during Slackware installation, so netpbm is the only other package required. See the netpbm instructions. Then install plucker by changing into the unix directory and running ./install-plucker and answering questions. Stick it all into /usr/local/plucker-1.1.4, except put the Python stuff into the default place (under site-packages) and then run makelinks.

What you get is the Palm software in /usr/local/plucker/share/plucker/palm. Documentation is in /usr/local/plucker/share/plucker/doc. Then log on as your user and run plucker-setup. You might want to skip this step as it just creates the .plucker directory and tries to create the default .pluckerrc, and then upload the Palm progs to your Palm.

To create a Plucker doc, use plucker-build. If you want to see the options, do 'plucker-build --help'. You'll end up with something like 'plucker-build -v --no-urlinfo -H *.html -N "My title" -f MyPDB'. Read the plucker manual for the details.

RDB

Get file from backup. Untar it in /usr/local. Rename rdb to RDB-2.6, then create a bin and move Perl scripts into it. Chmod the Perl scripts. Then run makelinks.

remind

Download latest version from freshmeat. Installation still sucks and won't create the directories. I create bin, man and man/man1 manually and the installation then completes.

Vim

Although you can install it as part of Slackware, I generally don't. I like to download the latest version, compile it and install it myself. When you configure it, use

  • --without-x
  • --enable-gui=no
  • --disable-gpm

If you want gvim, then do some research and use different configure options.

If you did install it as part of Slackware, then use mc, and go through and delete the originally installed entries for Vim. Delete the vi link (linked to elvis) and replace it with a link to Vim. Make sure root gets .exrc and .vimrc from hgriggs.

wmbiff

Get latest version from freshmeat and install it. Copy .wmbiffrc from backup.

xmms

XMMS is already installed, but the default skin sucks. Either get the Helix Sawfish skin from backup, or search through the available skins on the XMMS web site. Install the skin in ~/.xmms/Skins. Have to have this structure ~/.xmms/Skins/Helix/helix_files.

xscreensaver

No need for separate install as it comes pre-installed. Check xscreensaver entries in .fvwm2rc, especially InitFunction.

Go to the configure screen, and work through all the savers. Those that say "No preview", turn them off.

xterm

You need xterm to get around the damned backspace issue with Solaris. The default xterm with Slackware is crippled somehow. Download the latest T.E. Dickey xterm from freshmeat, or get it from backup. Development is still pretty active, and it's up to version 177 now. Last time I looked it was version 166.

Use ./configure --enable-256-color". Compile and install. Then copy ~/.Xdefaults from backup, and fiddle with it till it does what you want. Should be okay this time round.

User Issues

fvwm2

The icon bitmaps are all over the place. Do a find of "*.xpm" and then hunt through the new locations and hard code the icons onto the buttons.

The option to run mutt when you doubleclick the mail icon has never worked. Ignore it and install wmbiff.

Upgrade the menus and the buttons so that the applications are up to date.

ls

The default colour scheme for ls colours sucks in a few cases. Make sure you copy .dir_colours from backup. If it's lost, copy /etc/DIR_COLORS to ~/.dir_colors and fiddle with the bright cyan and bright green colours so you can read the damn text on a white background. Do this for users and root.

mc

Patrick has changed the shell function mc to be an alias. To stop mc from changing to the last directory, add 'unalias mc' to .profile.

Also, the default behaviour with HTML is to use lynx, which I don't bother installing. So copy /usr/share/mc/mc.ext to /home/hgriggs/.mc/bindings, and edit it. Search for lynx. Should be there in two places - Open and View. Replace lynx with links, and get rid of the -force_html switch. Keep the -dump. Also rewrite the Open so it doesn't do the Mozilla test at all and just uses links only.

# html
regex/\.([Hh]tml?|HTML?)$
        Open=links %f
        View=%view{ascii} links -dump %f

And change the behaviour of viewing Word documents to use antiword.

# Microsoft Word Document
regex/\.([Dd]o[ct]|DO[CT]|[Ww]ri|WRI)$
        Open=(abiword %f >dev/null 2>&1 &)
        View=%view{ascii} antiword %f
type/^Microsoft\ Word
        Open=(abiword %f >dev/null 2>&1 &)
        View=%view{ascii} antiword %f

profile

The VISUAL environment variable works okay now for root and users. Set it to vim.

[Linux]