2008/05/10

The Labs.Com System Lab x86 PC
Last update 2001/07/18
The Labs - Design & Functionality For The Net

x86 based Computers aka PC

The x86-based CPUs (386, 486, 586 aka Pentium and so forth) used in PC's are synonym for Personal Computers (PC) these days. This page gives some basic information about setting up PC.
  1. Basics
  2. Hardware
  3. Building
  4. Bootloaders
x86 PC
1. Basics
x86 stands for x86 CPUs developed by Intel, started with 8086 and then 286, 386, 486, and 586 and called it the Pentium, since then Pentium Pro, Pentium II, Celeron, Pentium III and since Fall 2000 Pentium IV. This CPU has been the base of nowadays "PC".
AnandTech.Com
Hardware review site
Tom's Hardware.Com
Another hardware review site
These sites can be considered unbiased and give in-depth reviews on CPUs, motherboards, memory and graphic-cards.

With the success of the x86 Intel CPUs other manufactures also started to implement the same CPU machine code with their own architecture, as of 2001 AMD is the biggest competitor providing better price/performance ratio with its Athlon. With the competition also the price went down and almost standard device in a household: the PC.

The components of a PC:

  • Mother- or Mainboard, it contains the primary chipsets to address memory, extension slots (ISA, PCI), support floppy-disk, IDE disks and sometimes sound, video or even ethernet (then it's called an all-in-one board), high-end boards contain on-board SCSI controllers or even place for two or more CPUs.
  • CPU (Central Processing Unit) & CPU Cooler (passive or active via fan)
  • Memory or RAM (Random Access Memory): 32MB for terminals, 128MB for desktop, 512MB+ servers and workstations
  • Power-Supply: 140W for all-in-one boards, 250W for desktop, 300W for servers
  • Case: usually the case comes with a power-supply
  • Keyboard & Mouse: as mentioned below wireless kb and mouse is recommended
  • Floppy-Disk: kind of out-dated media-format, hardly used anymore
  • Hard-Disk: IDE or SCSI harddisk (requires additional controller)
  • CD-ROM/DVD-ROM: standard device to upload OS (operating systems) or data
  • Network-card: 10/100 ethernet is common standard (status 2001), gigabit ethernet coming up
  • Graphic-card: with all the gaming hype high-performance graphic-cards become available for consumers almost every 6 months a new generation
Nowadays you can configure your PC online (like Dell) and purchase online. This page is more meant if you consider to build your own machine, yet it doesn't contain all the details but rather overall thoughts and considerations. If you are totally new then consider to explore:
OpenDirectory: Build Your Own PC
Collection of good infos

x86 PC
2. Hardware

Some general thoughts on "Server", "Workstation", "Desktop Machine", "Lab Machines" and "Terminals".

Server
 For building a server one focuses on performance and reliability, this means ECC RAM, SCSI Disks, which pushes the price up beyond ordinary PCs. SCSI disks are often 30% til 150% more expensive than comperable IDE disks the same size. There are IDE-SCSI interfaces available giving every IDE disk a SCSI interface but for the price of lesser read/write speed than the IDE raw interface. It needs to be mentioned than x86-based PCs are quality-wise not up-to-date as comperable SGI- or Sun Servers which cost often 100%-400% more than comperable machines self-build. SMP (Symmetrical Multi Processor) machines are recommended when building servers for high-performance usage, motherboard with dual or quadruble processors are also very expensive, additional 64 bit PCI slots are recommended with high performance SCSI interface cards. A good power-supply is also essential, e.g. 2x 300W redundant power-supply is easily obtainable.

Workstation
 Get a fast machine, add enough memory (e.g. 768MB as on my Asus7Pro), decent video-card which supports at least 1600x1200 but preferable up to 2048x1536 @ 60Hz or more. Make sure it's supported by XFree86. The motherboard like the server part, maybe even dual-processor, but main focus is memory so you can handle large amount of data e.g. for graphic-designer with gimp and web-browser (resource-wasting application todays web-browsers are). The display at least 1600x1200 LCD or 24" CRT with 2048x1536 max. resolution (0.25mm dot-pitch or smaller). Wireless keyboard and wireless mouse recommended, like the Logitech devices, but test them in a store first if you like the keyboard and mouse as you likely will use it a lot. As mention, CRT, LCD and keyboard I highly recommend you check reviews on the net as well in real-life in a store, it's worth your time and money. For a workstation also sound & speakers should be added, along with a tablet for "graphic-designer" machine. In my case my workstation has no case but sits on a book-shelf about 5m away because of the noise, connected via 4-port KVM to a Sony G500 24". As OS I prefere these days (status Feb 2001) FreeBSD-STABLE.

Desktop Machine
 Desktop machine can easily build with x86-based CPUs, unless you want to use the machine to watch DVD or for gaming I suggest all-in-one boards which come with video, sound and sometimes LAN (ethernet) on-board, they provide often 1280x1024 @ 60Hz video-resolution which is sufficient often. A board with additional AGP slot aside allows you to upgrade to state-of-the-art video-cards too. There is no need to the get the latests CPU but 3-6 months old CPUs where sufficient selection of motherboards are available. Add CD-ROM or DVD-ROM, plus speakers, wireless keyboard and wireless mouse as it's worth to have no cable on the desktop. For screen get CRT's with 17" or even 19" diagonal size, pay close attention of dot-pitch, it must be at least 0.25mm, disregard any screen above this number (e.g. CRT screen with 0.25mm at center to 0.27mm at the edge). LCD displays falling in prices and 1024x768 are standard (dot-pitch 0.30mm or less is fine for LCDs), definitly go and review the display in the store, don't buy screens, either CRT or LCD, without having seen it in real-life, you can then later buy the device on an online-store. I prefere my desktop machine(s) multi-OS bootable, more infos at InterOS-section.

Lab Machine
 A lab-machine is a bare-bone machine without case, but just power-supply, hard-disk and optional CD-ROM (for installing the OS), the motherboard lies open in a lab-shelf; you get a 8- or 16-port KVM (Keyboard/Video/Mouse) switch and attach your lab-machine to the KVM and control it all with one keyboard, mouse and screen. Add to each one a 10/100 ethernet network interface card (NIC) to a hub (shared bandwidth) or switch (dedicated bandwidth) and NFS export user-data from the server to all lab-machines on which you run your faviourite OS. My preference is all-in-one boards, with video and sound on-board, newer all-in-one boards you need to research on the net if they are supported by *BSD and Linux, whereas Linux often is faster supporting these chipsets. My recommendation also: purchase at least two from each type of lab-machine as it is handy for testing setups and simplifies installs; e.g. I bought five machines based on the same machine, I got one first, tested it with *BSD and Linux, after I realized it was a good machine I bought additional four machines for testing, each machine was aprx. $300-$400 (CPU, RAM, motherboard, NIC, power-supply, hard-disk). Another consideration, I bought some refurbished laptop-hardisks (1GB) for $30 each which I use just to boot up the machine and then NFS mount the root-fs, this is cheaper than obtaining Sandisk (solid-state) IDE disk and both are comperable in physical size. You can also obtain a NIC with boot-ROM, just make sure it supports the protocol you have in mind (e.g. bootp tftp or alike), e.g. as one mainboard I obtained had on-board ethernet with boot-ROM even but the protocol Novell RPL isn't supported by *BSD or Linux (Novell refuses to give out protocol details, nice).
OS Lab
Overview of some OS'es and install hints
VMware
Virtualizing PCs on your PC
InterOS: Example
Example setup of a bunch of lab-machines
Linux Terminal Server Project (LTSP)
Diskless workstations info
EtherBoot
Ethernet boot project
DisklessWorkstations.Com
NIC with boot-ROM's

Terminals
 A nice add-on to your office or appartment are the IA's (Internet Appliance) which become now more popular. Review the hardware carefully and find a way to purchase them without any strings attached such as ISP contract and alike, this gives you full freedom to use the device in whatever manner you desire. Make sure at least there is USB or 10/100 ethernet connectivity available, also if it runs *BSD or Linux if this is desirable. You can use it for MP3 or video-terminal, or simply for surfing the web. Wireless networking might be an option, radiation polution might be something to be concerned about though.
InternetAppliance
Our section
HomeNetAppliance.Com
News site

I personally use one server, one programmer-machine plus aprx. eight lab-machines. The main-data lies on the server, all short-life data are on the clients and it doesn't hurt when the data there is lost, the primary concern is the server which also is never rebooted unless there is a reason for it, whereas the lab-machines are subject of changes, upgrades and reinstalls, as their name imply: being a lab-machine.

x86 PC
3. Building

First Steps
 The first steps building the machine:
  1. study mainboard booklet, check all jumpers (if there are such)
  2. install the CPU and cooler (great care required)
  3. install RAM (great care required, don't touch blank pins)
  4. attach hard-disk (use IDE flat-rubber-cable, check jumpers at hd to select 'primary' [not slave])
  5. install graphic-card (if required unless you have video on-board)
  6. attach keyboard (otherwise most BIOS refuse to boot) and monitor; and finally power-supply (switched-off)
System-Panel-Connector of ASUS-CUSI-FX Mainboard (as example):

To start the an ATX based mainboard turn on power-supply and shortcut 'power'-switch at the system-panel connector (PWR & Ground) (e.g. with a screw-driver but be careful) powers-on the power-supply. To give it a hard-reset shortcut Reset/Ground. Once you put the mainboard into the case the power-button is plugged to the system-panel connector; but since most testing is done without case the procedure as mentioned is more handy. The lab-machine (as I call them) without case I usually add two LEDs, one green for power (PLED & +5V, spans over 2 pins) and one for red the IDE-disk activity (sometimes available at system-panel connector or separately on the mainboard; spans over 3 pins).

Brief procedure:

  • The machine should boot and BIOS info seen, if it doesn't show up either CPU or most likely memory is the problem, exchange the memory with another one you have handy.
  • You see the BIOS info, memory counting and then probing the IDE disks; usually it fails to boot anything since your hard-disk likely is not empty, you may attach a hard-disk with an OS on it, yet, keep in mind that OS and setup expects a certain hardware-profile.
  • I usually partition the harddisk with Debian-install CD and then usually either install Win98 first or install Debian completely, and then FreeBSD.
  • If the boot-manager doesn't work I usually start Debian CD or FreeBSD CD install til the LILO or boot-manager is written and so achieve a bootable hard-disk. Make sure the BIOS supports CDROM-booting (boot sequence Floppy, CDROM, HardDisk is handy while instaling OSes, once finished make direct booting from Hard-Disk).

BIOS
 
OpenBIOS
Free BIOS
LinuxBIOS
Linux BIOS

Documen- tation
 One of the habits I developed is that once the machine is running and I added users, nfs, and networked it within my environment then I search the net and download all documentation (PDF) I find of the components I used for this particular machine. Since every machine as a name I save all information in ~/MySystem/machine-name/, and create a text-file named setup in which I write down all the special things I had to do in order to get things to work. I also save /etc/XF86Config once I've got X11 to work, because I often had to edit it by hand.

Especially after some months or a year it's handy to get back and read the hard-disk specifications or details of the network interface card (NIC) when I upgrade drivers as such. To have all documentation in electronic form is handy, and usually I throw the printed documentation away when I found the corresponding PDF on the net.

Even later when I find more drivers or details to tune the machine I write it down in the setup for each machine.

Semi Automated Install
 As result of repeated FreeBSD and Linux/Debian install I wrote down the commands I used to get it up-to-date, and these days quickly call it as shell-script to install the particular ports (FreeBSD) or packages with apt-get as under Linux/Debian, like:

 apt-get install libncurses4-dev tcsh perl-tk apache-perl \ 
    asclassic xv libc5 bin86 
 cd /usr/X11R6/bin; ln -s asclassic afterstep;  
 cd /usr/X11R6/lib/X11/; ln -s asclassic afterstep 

This way a machine is configured within less than 1hr from installing the OS.

As mentioned, to document things the moment you did it is most convient because otherwise you don't write it down. Especially when you install machines frequently documentation is everything, you can save a lot of time this way, at least I experienced it.

x86 PC
4. Bootloaders

Bootloaders are most important to get the OS started:

LILO
 Linux Loader (LILO) is usually default under Linux-systems, it's not state of the art, but mostly does its job. Unfortunatly the man-page isn't very informative, so search the net for 'LILO' to get descent information.

To boot other OS'es /etc/lilo.conf may look like this:

 # --- Example for a /etc/lilo.conf --- 
 vga     = extended 
 read-only 
 linear 
 prompt 
 timeout = 30 
  
 boot=/dev/hda 
  
 other=/dev/hda1 
    label=DOS/Win 
  
 other=/dev/hda2 
    label=FreeBSD 
  
 image=/vmlinuz 
    label=Linux 
    root=/dev/hda3 

If you try to transfer Linux live-system to another clean disk, check our Linux-section.
InterOS: Example
Some examples of multi-boot systems (linux, freebsd, etc)

FreeBSD Bootloader
 FreeBSD's bootloader works just great, I hardly had any problems and there is little to configure as the bootloader recognizes most OSes by itself. In case you screwed up the MBR (Master Boot Record) and you want FreeBSD to install the bootloader, just do

 boot0cfg -B -v /dev/ad0 

Instead of /dev/ad0 you can set any other disk, only requirement is that this other disk must have FreeBSD installed. Anyway, when I install a multi-boot PC-system then I install FreeBSD as last system and have it install its bootloader.

                                                                                                                                   

Embedded System LabInternet Appliance

Last update 2001/07/18

All Rights Reserved - (C) 1997 - 2008 by The Labs.Com

Top of Page

The Labs.Com