by Jay D. Dyson <firstname.lastname@example.org>
This paper is divided into six sections:
This information is provided without warranty of any kind. By use of this information, you agree to hold both myself and Treachery Unlimited harmless from any consequence that may arise from use thereof. (I have to include this disclaimer since there are always bottom-feeding lawyer types who are more than willing to champion someone else's ill-advised actions so they can make a fast buck.)
I'll be candid: I love eMachines. I think they are superior systems for good-power, low-budget home and business computing. For the price of one Compaq, Dell or IBM system, one can easily get two or three comparably-equipped eMachines. That means a lot in my book. Best of all, eMachines are a breeze to upgrade. Any time I wanted to increase my eMachines' storage or RAM, install a network card, or switch up to a higher-end graphics card, I scarcely had to spend more than a few minutes doing the job. (And before anyone asks: No, I do not work for, sell, or otherwise benefit financially from eMachines, Inc. I just believe in supporting good computers.)
Sure, eMachines aren't the Rolls Royce of desktop systems. There is a very limited number of AGP and PCI slots on the Anaheim-2A motherboard; the stock system speakers ain't no great shakes (this has changed with the latest eMachines); and some folks prefer a the more hefty L2 cache of the typical Pentium III CPU to the Celeron 600's 128K L2 cache*. In spite of all that, I find none of these perceived shortcomings to be even a speedbump to having the kind of computer I want: a readily-affordable system that serves as a fast and reliable workstation on which I can telecommute, write code, enjoy multimedia, navigate the 'net and play the occasional game.
It seems there are a lot of folks across the Web have had unsatisfactory experiences with eMachines. I honestly don't know if the disgruntled owners are simply more vocal than satisfied eMachines customers or whether I and every other eMachines user I personally know is just luckier than the average buyer. I've read a number of online war stories about eMachines' customer support (or, according to some, the lack thereof), but I've never had any need to contact customer support since each of the five eMachines systems I've purchased have operated flawlessly.
For all intents and purposes, my eMachines system is stock configuration. All that has been added is a second EIDE hard drive (Maxtor DiamondMax, 30 GB) slaved to the original 10 GB EIDE drive, a couple of 256 MB sticks of SDRAM PC100 RAM, and a network adapter (Linksys LNE100TX Etherfast 10/100 LAN Card). (Current eMachines come with their own 10/100 NIC built-in and have 40 GB drives at minimum.)
PLEASE NOTE: If you just want to run Linux as a server on your eMachines system (without the GUI apps and all that jazz), then you really don't need to consult this document. The core Slackware OS required for server use installs just fine on every eMachines box I own. It's the XFree86 parts that require a fair amount of tweaking to play nice with the Intel i810 video card and CS4281 audio card.
Slackware Linux Installation Media:
Your Monitor's User Manual: (Optional)
If you don't have your monitor's manual, don't worry. There are other ways your monitor's specifications can be gathered, and we will cover those steps later in this document.
With all of the above items handy, we're now ready to get started.
The initial installation of Slackware is perhaps the easiest part of this entire recipe. Slackware has a relatively painless interface for defining your drive partitions and declaring what packages you want installed.
If you should run into any snags during the installation, the Slackware Install Help page is an excellent resource for troubleshooting.
When installing, be mindful of the following packages that are required for a GUI-enabled workstation installation:
The remainder of the packages (GNU libc crypt, Emacs, Games, TeX document formatting
system, the Tool Command Language [Tcl], X applications that are not part of the desktop
environment, X11 program development libraries, XView libraries, FAQs, HOWTOS and miscellaneous
documentation) are optional, but it doesn't hurt to load them. If you decide at a later date
that you really don't want them, you can use the Slackware
In short, when prompted for what packages you want to install, you'll want to select everything and worry about removing unnecessary stuff at a later time when you're more familiar with Slackware and your GUI of choice.
Now that you have installed Slackware Linux, logged in as the
In this area of configuration, we are going to tweak up to seven different sections of the kernel's configuration. But first we need to issue a few commands:
The above commands have put us in the directory tree where the Slackware kernel
source resides. We have removed the symbolic link (
Once in the linux-2.4.5 directory, issue the following command:
After a few moments, the system will display a screen like the one on the right.
This is the Kernel 2.4.5 Configuration menu and it is via this interface that we will
make changes. Please note: all of the changes made will be designated
as built-in elements of the kernel. That is to say, we will not simply enable these
items for Module inclusion (
The following elements of the kernel must be enabled in the following sections:
Section: Code maturity level options Enable: Prompt for development and/or incomplete code/drivers Section: Block devices Enable: Normal PC floppy disk support Section: Network device support --> Ethernet (10 or 100Mbit) Enable: DECchip Tulip (dc21x4x) PCI support Section: Character devices Enable: /dev/agpgart (AGP Support) Enable: Intel I810/I815 (on-board) support
(The following enabling of File System recognition is largely your call. I enabled a number of file system types with which I work regularly. Your selection may be smaller or larger.)
Section: File systems Enable: DOS FAT fs support Enable: MSDOS fs support Enable: UMSDOS: Unix-like file system on top of standard MSDOS fs Enable: VFAT (Windows-95) fs support Enable: ISO 9660 CDROM file system support Enable: Microsoft Joliet CDROM extensions Enable: Minix fs support Section: Sound Enable: Crystal Sound CS4281
When you're done making all of those changes, you will then select
Answer "Yes" and save your new kernel config.
Now comes the typically time-consuming part. In this, we're going to compile dependencies, the kernel itself, any associated kernel modules, and then install those kernel modules. The command sequences are:
make dep make bzImage make modules make modules_install
cp -p /vmlinuz /vmlinuz-2.2.19 cp -p /boot/System.map /boot/System.map-2.2.19 cp -p /usr/src/linux/arch/i386/boot/bzImage /vmlinuz cp -p /usr/src/linux/System.map /boot/System.map
What we've just done is preserve the original 2.2.19 kernel (in case something seriously blows up and we need to retreat to the previous kernel version). Following that, we copied the new kernel (v2.4.5) into place. Now we need to let the Linux Loader (LILO) know about it by issuing the following commands:
vi /etc/lilo.conf Search for: # Linux bootable partition config begins (Delete the four lines that follow the above line and then replace them with these eight lines.) image = /vmlinuz root = /dev/hda1 label = Linux-2.4.5 read-only image = /vmlinuz-2.2.19 root = /dev/hda1 label = Linux-2.2.19 read-only (Save and close the file.)
Once the above changes have been made to
LILO will indicate that it has accepted the new bootable partition configurations. Once that's done, you will need to reboot the system with the following command set:
sync ; reboot
The system will shut down and restart normally. Upon boot-up, you will be presented with the LILO Boot Menu screen like the one on the right.
You will want to select "Linux-2.4.5" (which should be the first item on the list).
Once selected, the system will initiate the full start-up until it gets to the standard
login prompt. Once there, go ahead and login as
You are now done configuring the Slackware Linux kernel. Now comes the real fun...
Slackware and XFree86 have a lot of very slick configuration tools. Unfortunately,
some of them don't immediately jump out as the right one to use. Even in the
If everything went well with
For reasons not entirely clear, every successful configuration of XFree86
has consistently yielded a default GUI resolution in 640x480 mode. Since I prefer the
800x600 resolution with 24 bit color depth, it's been my experience that some tweaking of
In order to correctly assign the appropriate values for specific rendering of 800x600 resolution (or 1024x768), we will need the monitor's Horizontal Sync and Vertical Refresh rates. This is where the monitor's user manual comes in handy, but we can also determine these values with this command:
This command will generate a wealth of information about your chosen video card chipset, monitor manufacturer and model, and supported video modes. If you want to change your default resolution setting and/or default color depth, you will need to select the appropriate HSync and VertRefresh values for your monitor.
As seen in the
It is from the above values that work can begin on bumping up the default resolution
for XFree86 so we aren't stuck in 640x480 hell. You can either manually change the HSync and
Vertrefresh values in your XF86Config file, or you can use the
For more information on the intricacies of XF86Config, I recommend the comprehensive document, XF86Config Demystified.
ABOUT SECURITY: I value security more than convenience, and staying secure with a GUI-enabled workstation is a fine balancing act. That said, I highly recommend users of XFree86 run their GUIs without the X server listening to the world. This can be done by using this command sequence:
I encourage all Linux workstation users to become more familiar with security for their systems. There is a good overview of Linux workstation security available here. (The document is geared toward Red Hat Linux, but the principles apply to all flavors of Linux.) Yet another overview of Linux workstation security principles is available here.
It's my hope that this information has been useful in successfully installing and configuring the Linux workstation on the eMachines system. If you found this document useful, or have any questions or comments regarding this document, please drop me a line.
|* Thanks to Trevor for providing the Celeron L2 cache info correction.|