"Unix SIG Notes" I have installed and upgraded several programs since last month. First, Selection 1.7 was released for kernels greater than 1.1.35. It's main new feature is support for xterm-like cutting-and-pasting (Ctrl + click) between virtual terminals (VTs). I got sendfax working and successfully faxed my resume several times. It was fairly easy to make letterhead with the graphics tools available under Linux. I also figured out how to back up my system onto QIC-80 tapes with the ftape module. So "crash what crash may!" I've been following the cutting edge in kernel development for awhile. Since the recent alpha kernels are getting pretty stable (1.2.0 should be out by October), I have included some tutorial notes on upgrading a kernel. Finally, Linux is being ported to MIPS, Digital's Alpha AXP, the PowerPC, and the Motorola 680x0 family of processors. Some day Linux may run on all the popular processor families. Recently I've been coming to grips with a disease I've recently acquired: "Linux arrogance." The chief symptom is that if a program isn't freely redistributable, available with source code included, and of very high quality, I dismiss it as "junk." Virtually everything I need is free, just like the air, and I can't stand suffering with the restrictions imposed on most software! Does anyone know the cure for my affliction? Next month George E. will demo a Linux CD-ROM on his laptop (Note: at the time of this writing it has not yet been tested, so cross your fingers). "Upgrading your Linux kernel" I have put recent versions of the Linux kernel on PACS's Multi-SIG board. To retrieve the files, log in under your PACS' username. Then type "B" to go to the bs files areas. At the prompt "Which Area?(list)>" type "unix". There are two important items on the menu. First "ong List (selective files)" will let you see the files available and "ownload Files" does its thing too. As usual typing will bring the menu up again. There is a Linux files area. The kernels are identified by version number (1.0.x are stable versions, 1.1.x are beta versions some of which are stable, and soon there will be a 1.2.x series which will be very stable releases). So I thought I might walk everyone through installing them. The kernel in Unix is the program that loads into memory when you boot the system. It "runs" the show. Accepting, rejecting and scheduling computer resources for each request from users' programs. Since recent versions of the beta kernels have been reported to be quite good, I decided to follow the "bleeding edge" for awhile. So I downloaded and installed in turn versions 1.1.38-42,46,47 and probably others by the time you read this. Versions 1.1.41 to 1.1.44 had a serious bug for some users, but .41 and .42 worked for me. Since some of my suggestions and hints may be incomplete, I highly recommend that you carefully read the README file found in /usr/src/linux for further information. Note: Some programs will not work with the newer kernels. Also you will need the bdflush-1.4 package which is a backward compatible drop-in replacement for update (read its Makefile for installation clues). Some kernels are released as complete kernel trees while others are patches to be applied to the previous version. For example, 1.1.35 was released as a full kernel source tree, but you had to get patch36.gz, patch37.gz, ... , and patch42.gz in order to make version 1.1.42. To install a new version first "cd /usr/src; rm -r linux; tar xzf 1.1.35.tgz" to install the .35 kernel. (This version probably won't be available on the BBS when this article gets to press, choose the latest available.) The kernel tree should now be in place in the linux directory. You can now apply the patches. The basic command is "gzip -cd patch??.gz | patch -p0." (NB. The current directory ($PWD) is important when applying patches - consult patch(1).) Next check to see if the patching was successful: "cd linux; find . \( -name "*.rej" -o -name "*#" \) -print." If there were no rejects, you can save some disk space with "find . -name "*.orig" -exec rm {} \;". Next to build the kernel. First, "make mrproper" then "make config." This asks a series of questions about your setup. Unless, you plan on sharing kernel images with other machines, it is best to make your kernel as trim as possible. Don't include any unnecessary device drivers or unnecessary features. For example if you have a math coprocessor, choose "N" to the first question "Kernel math emulation (CONFIG_MATH_EMULATION) [n]." Since some daemons and X programs need TCP/IP support it is wise to answer Yes to "Networking support (CONFIG_NET) [y]" even if you are not on a network. Finally, if you have a Microsoft (or perhaps any standard serial) mouse, you can probably answer "N" to all the mouse driver questions (I do and the mouse works fine). Some drivers may conflict with others, so it is really best to eliminate all the unnecessary ones. Feel free to run "make config" as many times as you like. This is an important step and it may take more time to fix the problem of an omitted or extra driver later than to get it right the first time. E-mail me at cfearnl@pacs.pha.pa.us or call at 349-9681 if you get stuck. Then "make dep" and finally make your kernel image (make zImage or make zdisk). Recent kernels (since about 0.99) have an option "make zlilo" which I like. In order for "make zlilo" to run lilo properly you have to make certain the kernel and /etc/lilo.conf agree on the kernel location. "make zlilo" expects the last kernel image to be in /vmlinuz. It will "mv /vmlinuz /vmlinuz.old" (which will delete any previous /vmlinuz.old). So you must edit /etc/lilo.conf to make an entry for /vmlinuz and /vmlinuz.old. Once this task is complete running "make zlilo" makes the kernel, moves the files automatically, and runs lilo. [Once you've built a few kernels or as a prophylaxis for the day when you build a bad kernel, you might do something like "mv /vmlinuz.old /vmlinuz.1.1.41" (or whatever version number is correct) before you make your new kernel (adjust lilo.conf to install this, of course). It is very good practice to keep a few old, reliable kernels about -- "just in case."] If you are running the Slackware distribution, the kernel image must be configured to mount root "/" readonly (ro). The actual command you will need to run is "rdev -R /vmlinuz 1" (see rdev(8) for more details). See it's not difficult at all. Happy hacking! Who Should (and who shouldn't) Switch to Linux? Linux is at a cross-roads. Six months ago it was mainly useful to hobbyists, hackers, cutting-edge types and those (like myself) with more time than money. Today it is rapidly becoming a commercial success. In fact there are several commercial niches in which it is so superior to its "competition" that it is already becoming a standard. But should you switch? Here are my current thoughts on the matter. If you are a hobbyist, hacker or power user, Linux is definitely for you. Why? Because of its stability, its support for real multi-tasking, its toolkit philosophy, its freely redistributable source code, and its culture. Programmers (especially systems programmers) will find its integrated and powerful development environment very alluring (in particular, the X Window System is a much better development environment than that offered by Messy$oft Windows). Anyone needing a multi-user or network solution will find Linux attractive. Finally Linux offers better facilities (and speed!) for connecting live to the Internet than the single-user OSs common on PCs. I can only identify a few groups of users who might not benefit from Linux's superior features. First, those businesses who have complex mission-critical needs which might cost too much to port to Linux (NB, this could be a sign of short-sighted planning - such a business should carefully look at their long term needs). Secondly, those users who have invested so much time and money in their current systems that switching would be prohibitively expensive in terms of training. Finally, users who are enamored by the "beauty" of such corporate offerings as Word or Excel may find the Linux equivalents less appealing. Linux does offer a very powerful and free typesetting system, LaTeX2e. Although this is more powerful than any word processor, it takes longer to learn. The AUIS system comes with a word processor, EZ, but I have not seen an adequate review of it. Of course, such a user could reboot to DOS, MS Windows, OS/2, or Windows NT to do the one or two tasks for which they have not found adequate Linux replacements.