Chris A's GNU/Linux Page
#include <stdio.h>
int main(int argc, char *argv) { char *code[] = { "nano", // GNU Pico clone "HackerKey", // Sig fodder! "CMatrix", // Console Matrix "GNU/Linux", // Linux info. "Talker SRC", // Text chat! "PG+Patches", // Deprecated "resume", // README.mycareer NULL }; char *personal[] = {   "about asty", // All about me "blog", // My weblog NULL }; float AmyNChris = 2000+10.07; float BabyMonique = 2003+11.01; int links; #define EMAIL "chrisa@asty.org" }

[Chris A's GNU/Linux page]

My Boxen  Distribution Ratings  Where to Get Stuff  Kernel Micro-HOWTO

The page is reborn!

Well, I hadn't readded my old "Linux" page to my new site, until today!  But, having recently converted to the GNU side of the community, I had to change some things (like the name of the page).  Anyway, please enjoy my new and updated GNU/Linux page...

Before you begin

If you are new to GNU/Linux, or want to get some information on these stable and efficient operating systems (as opposed to what you're probably running right now ;-), please check out the Linux Documentation project at www.linuxdoc.org. Another great web site is at www.linux.com.  Please also read up on the Free Software Foundation and the GNU project at www.gnu.org, as many of the GNU programs help make up what are sometimes referred to as "Linux" systems, more properly called GNU/Linux.

My Boxen

The following are GNU/Linux boxes I run or own personally:

gritch

The last time this was updated, gritch was a happy little K6-2.  I gave that system to my wife and gritch is now a much speedier Athlon 750 system with 55GB of disk.  I run the latest 2.4 kernel and sometimes use the -ac patches when Linus screws up the sound system on a release ;-).  This word gritch is a word made up by a friend of mine, and dates back to the first time I installed Linux. The machine was a Dell 386 with a whopping 6 megs of ram, running Slackware 3.0. When asked for the hostname, I selected gritch, and all my computers bearing that name have had good luck ever since. Gritch runs Debian testing/unstable, imho the best GNU/Linux distribution for the x86 architecture.

Update (2001.05.12) - I have finally gotten fed up with quakeforge messing up my system and having to reboot (uncleanly) that I have applied and intalled the 1.0 release of the XFS file system on gritch. Reiserfs and ext3 are nice and all, but all the time I have worked at Benet with SGI machines I have NEVER seen an xfs filesystem corrupted, unless there was a total hardware failure on the disk. Even in those cases, I have been able to retrieve data off the disks. Thank you SGI for giving the Free Software community a high quality, stable journalling file system, even if you call it "Open Source" :-)
 

gandalf

A Digital UDB Alpha I picked up from eBay to familiarize myself with the Alpha platform. It currently runs 2.2 kernels; from 2.1.115 to 2.1.132 Linux/Alpha stopped working with the UDB's sound card. After searching usenet articles for a fix, I whipped up a patch against 2.1.130 (which you can get here. It eventually was picked up by Alan Cox and then merged into Linus' main kernel tree. So I can say I have contriubed code to the official Linux kernel :-). Gandalf currently runs debian unstable. It was a bear to install not having a floppy disk or CD-ROM, but after many many *many* attempts, I have a debian system going on it.

Update (2001.10.29) - I actually have given gandalf to Rich as a present, so I have no alpha. If anyone out there has a Tadpole Alphabook they'd be willing to put up on eBay private auction, I'd certainly be interested in purchasing it =)

XGP

Okay, my old laptop is now the wife's playtoy and hence runs an apropriate Toy OS. XGP however runs Debian testing. It's a nice little HP Omnibook 4150, a PII-366 but with 256MB RAM and a 6GB hard drive I'll be upgrading to 30GB when I get a chance. This is the first laptop I think I could use for extended period of time as a desktop replacement. Highly recommended if you need a good cheap used laptop that works well with Linux, both video at 1024x768,16 bit color and the crappy Neomagic card via the ad1848 driver are supported. I also use XFS as the file system on XGP, as power failures are fairly likely on a laptop, and who wants to wait for fsck?

ppc

Well, I just HAD to have an iMac, so I scoured eBay looking for a good deal and finally found it. Unfortunately I found not a whole lot of use for it. So, after months of struggling with many different distributions and even buying *gasp* Mac OS X, I managed ot get debian working on it and it's now our LAN's ftp server :-)

Pictures!

Here are some pictures of my systems:
[My X Desktop]
My X window desktop on gritch
 


GNU/Linux Distribution Ratings

This section has been deleted as it was completely out of date.  I used to have lots of time to test out the latest and greatest release of this and that distro, but alas that is no longer the case.  I personally run Debian GNU/Linux at home, Mandrake 7.x at work and my wife uses Redhat 7.1.  There really isn't a whole lot of differentiation these days, there are Redhat-based systems and Debian based systems.  The only real differences anymore are what packages are included and how up to date there are.

Where to Get GNU/Linux Hardware and Software

    • Cheap*Bytes
      • Web Site: www.cheapbytes.com
      • Summary:

      • Cheap*Bytes is the BEST place to buy a GNU/Linux CD CHEAP!  Most distributions are available for $2, and they also have the "official" versions of distributions with their commercial add-ons at discounted prices. They also feature secure online ordering.  I have never had a bad experience with these people, and have had many problems with other distributors.  HIGHLY recommended.
         
    • TuxGames
      • Web Site: www.tuxgames.com
      • Summary:

      • I like this site, but that's probably because it belongs to a friend of mine.  But, if you want to help a friend go buy a game from TuxGames.  Or better yet, buy me one!  Tribes 2 looks like fun.
         
    • eBay
      • Web Site: www.ebay.com
      • Summary:

      •  It's eBay, 'nuff said.  Good deals on pretty much whatever you want.  Just make sure to check your seller's feedback rating and you should be able to get some pretty sweet deals.

    Chris A's Kernel Compile Micro-HOWTO

    Okay, you aren't going to believe this at first most likely, but there are two types of users: those who have recompiled their own kernel and those who haven't. Nowadays with the Linux kernel being as modular as it is, you can probably get along without ever having to recompile the kernel that came with your Linux distribution. But believe me, in terms of experience, a kernel compile is a major milestone for any Linux user. It also allows you to get a kernel that is optimized for *your* hardware configuration, which can make your system much faster and even more stable. Since kernel 2.4 is out, NOW is a great time to start compiling your own kernel!

     Please check out The Kernel Compile HOWTO at the Linux Documentation project if you still have questions, but this is the barebones of compiling your kernel.
     

    1. Make sure you are root
      1.  
        Apparently some folks only run the make install* portion of their compiles as root, but my way you compile at a lower nice value.  Trust me, just do this as root.
         
    2. Get the Kernel
    3. If you have a distribution like RedHat or Debian, make sure you install the kernel-source package. An easy way to check is to cd to /usr/src/linux and type ls. If you only see the include/ directory, you don't have the sources. If there is no /usr/src/linux, you may have to go to /usr/src and see if there are kernel-source-xxx subdirectories, since debian doesn't always put them in /usr/src/linux.

      If you download the kernel source separately, you can install it with: rpm -i kernel-source-version-number.i386.rpm (RedHat) or dpkg -i kernel-source-version.deb (Debian). Your other option is to head over to ftp.us.kernel.org and grab the whole kernel... for example:

      In your ftp client:
      cd /pub/linux/kernel/v2.4
      get linux-2.4.0.tar.gz

      Then back at your shell prompt:
      mv linux-2.4.0.tar.gz /usr/src/
      mv linux linux.old
      tar xvfz linux-2.4.0.tar.gz

    4. Patch the Kernel (If Desired) (or skip to "Configure the options you want" if you  aren't patching)
    5. Okay, so let's say you have kernel 2.0.34 and you want to try out kernel 2.0.35. Do you have to download the entire new kernel, and take however many hours to do it over your PPP connection? NO! This is one of the most common misconceptions of kernel compiling. Wouldn't you rather simply download a MUCH smaller file that included only the changes between the kernel version you have and the next one? Guess what? There are such things in the Linux world, they're called patches. Okay, so if you are upgrading from 2.0.35 to 2.2.0 then this is not the way you want to do things, but when 2.2.1 comes out, this is definitely the route you want to go. Applying a patch is another huge milestone in Linux experience, but here's all you have to do:
       
       
      • Ftp over to ftp.us.kernel.org
        • Or whatever country you happen to be in... CD into /pub/linux/kernel/v2.4 (replace 2.4 with whatever kernel version you are using). Note: If you send me email saying "I have kernel 6.2, but I don't see it on the ftp site" I will hunt you down and kill you; our distribution version and kernel version are two very *different* things!  Just type "make menuconfig" in your /usr/src/linux directory and look in the upper left corner to see what kernel source you have

          Then download the patch of the next version up from what you have. If you have 2.0.34, you want the file patch-2.0.35.gz in the v2.0 directory.
           

      • Copy or move this patch file into your /usr/src directory (not /usr/src/linux).
      • cd to /usr/src if you're not there already.
      • Type "zcat patch-whatever.gz | patch -p0" and hit enter. You should see a bunch of "patching file blah blah" messages. As long as you don't see any "hunk FAILED" messages you should be all set. If you do, you're probably in trouble. Just reinstall your kernel source package, run "make menuconfig" in /usr/src/linux, check the upper left corner to see what version you have, and start over...
      • That's all! You now have the next kernel up from what you had before. Repeat these steps as necessary to get to the version you want.

       
    6. Configure the options you want.
    7. Okay, so you've got the kernel, you're halfway done! Now cd into your /usr/src/linux directory. Type make menuconfig and hit enter. If you're at the console or on a terminal emulator, you should see a pretty blue screen with setup options. if the system kicks you back to the prompt, you can use "make config", but it's a slower process, and these instructions will be less helpful...Anyway, take a minute to get familiar with the options you see. Hit Enter on an option to bring up all the sub-options you can select. If you screw up or get stuck, just hit Control C and start over again. Once you descend into a sublevel of options, use the left/right keys and "exit" up to the previous level. Also remember the Help button on the bottom right of the screen.

       Now, we are gonna get into "compiled into the kernel" versus "modular". The Linux kernel can include support for your hardware in two ways. It can be completely built into the kernel, or it can be stored on your hard drive as a "module". This module is then loaded whenever it is needed. A good exampleof a driver you want as a module is your sound card driver. This way you can later on figure out the setting you need to know (IO base, IRQ, DMA, etc), and not have to recompile your whole kernel. Just rmmod the old driver (if it's loaded) and the insmod the new driver. If you're really unsure about this, just make sure everything you need has an asterisk next to it (hit Y next to the option if it has an M or no mark next to it). Use the left/right arrows to go to exit, save your configuration and you're back at the shell prompt.

    8. At your shell prompt, type this:

    9. make dep ; make clean ; make modules ; make modules_install ; make bzlilo
      You can skip this if you want, and don't really care about what you typed means and all the messages now flying past your screen are about. Otherwise read on...

       Here's what each thing you typed means: Make dep sets up the dependencies for each of the drivers in the kernel. Blah blah blah. Make clean deletes all the previous compiled objects from your kernel. Note that if you have a very slow machine, you may not want to include this (I usually leave make clean out of my alpha's kernel compile sequence). It's usually a good thing to do though. Make modules, believe it or not, creates any modules that you may have selected from the menuconfig step. If you selected absolutely 0 modules, you can leave out make modules and make modules_install, but you probably want to get into the habit of typing it anyway. Sooner or later you may want to include a module in your kernel to test a driver.

       Make bzlilo is the fun one. Lilo is the program that most people use on their systems to boot into linux. If you don't use Lilo, you're going to want to use "make bzImage" instead, and copy the resulting /usr/src/linux/i386/boot/bzImage to wherever you boot your kernel. make bzlilo simply compiles the main kernel, backs up your previous kernel, and copies the new kernel over to where your old kernel was, or /vmlinuz, it depends.   Then it automatically runs Lilo to update your boot record.

      If this is indeed your first kernel compile, you may want to add something like the following to your /etc/lilo.conf file, if this isn't there already: at the end of the file, type in:
      image=/vmlinuz.old
      label=Linux.old

      Then type lilo again as root and see if it now says "Adding Linux.old" as well. If you get an error with that line, try using image=/boot/vmlinuz instead. if it still doesn't work, don't worry about it.  Basically what this allows you to do is type in "linux.old" and the LILO: prompt to boot with your old kernel.  This is useful if your new kernel doesn't work or you forgot an important driver in your new kernel.

    10. Reboot!
    11. That's it! Reboot now and hopefully you will notice in your kernel startup (if it doesn't scroll by too fast for you to see) it should say
      Linux version (your new version) (root@yourmachine) an the date.
      Home