Installing RedHat Enterprise 5 (Beta 2) on Dell Optiplex 745

(by Brian Wilson, 2/12/07)


(Read a personal description of Backblaze here.)

Explanation & Setup Time:

I bought a Dell Optiplex 745 "small form factor" (with the built in Intel Graphics, no graphics card upgrades) intended to be a linux development machine because it is a completely standard PC clone, a physically small machine, nice and fast (2.66GHz Intel Core2 Duo, 1GHz front side bus, Gigabit ethernet) while being low power consumption. I didn't want to use "RedHat Enterprise" because that costs money, so instead I tried to use CentOS which is completely free and built by a group that takes all the RedHat Enterprise source code, swaps in the word "CentOS" for the word "RedHat" globally (notice how they both have 6 letters?) then recompiles it.  Yes, open source people are weird.  I downloaded the ISO IMAGES and stamped 4 CDs of CentOS 4.4 from here: http://www.centos.org/

Setup Time: The instructions on this page should only take you 30 minutes or less.  They took me 8 hours, but that included the CentOS rathole, a bunch of web searches, talking on the phone with my buddies who know more about Linux than I do, and figuring out the exact syntax for each command.

 

Step 1: Boot From CentOS CDROM 1 - fail - then Boot RedHat Enterprise 5 Client Beta 2 from DVD

Power up the Optiplex, and stop the automatic boot by hitting "F12".  Pop in the CentOS CDROM 1, then select the menu "Onboard CD-ROM Drive" to boot.  A big CentOS screen immediately appears with choices.  I typed "linux text" to choose to boot in "text mode" (not graphical).  I then got prompted for which language, I chose "English", "US Keyboard".  Then "LocalCDROM" for type of media I'm using.  When it got to "Could not find drivers" I chose "Select A Driver From A List", then FAILURE!  Doh!  Turns out everybody on the internet says CentOS 4.4 won't install (some people claim you can change the BIOS to use some backward compatibility mode on the SATA drives, slow them down, and it will work, but who wants slow disk drives?)

Go back, on a different computer I downloaded RedHat Enterprise Linux 5 Beta 2 "Client" ISO image (I found this ftp url in a newsgroup: ftp://ftp.redhat.com/pub/redhat/linux/beta/RHEL5-Beta2/client/ ), and burned ISO image onto a DVD.  I'm told this has kernel 2.6.18.  Went through the same procedure as above, but instead of "CentOS" it says "RedHat".  Then instead of saying "Could not find drivers" it said "Loading ata_piix driver" and kept running automatically.  Prompted me to test the installation media, I said "Skip".  Warned me it was Beta, I said "Install Anyway".  Chose "English" language, chose "US Keyboard".  I chose "Skip Entering Installation Number".  Then confirmed the previous skip, despite dire warnings.  Then chose "Remove all partitions and make the defaults", then yes to all defaults for the next 10 screens.  Chose "America/LosAngeles" time zone.  Picked a root password.  UNSELECTED "office and productivity" and SELECTED "Software Development".  It did a long dependency check on the results, took 60 seconds or so.  Then it started formatting "/" file system, took 5 minutes.  Then it continued, putting stuff on the new drive, and started the install.  It took about 10 minutes.  Then prompted for reboot, rebooted.  While rebooting, there were a couple of errors where it said "be patient, trying...", something about a mouse maybe?  Eventually got to a "Setup Agent".  I chose to "Exit" (not run the setup agent).  And it hit me with a "login:" prompt on my screen.  I logged in as root, and then was able to "ping" another machine on my network.  Sweeeet!  :-)  WARNING: I have no GUI, don't care about X-Windows or any of the layers of stuff above that, Linux is a server OS and should never have a GUI running, or a head on it of any kind.

Step 2: /etc/hosts - temporary touchup

As root, "vi /etc/hosts" and put in mappings for some local machines.  Not necessary for normal people, I just have some stuff to sort out on my local network.

Step 3: Add a User Account

As root, run "adduser <username>", then "passwd <username>", it prompts for a password, set it.  Log out of root, log in as that user.

OPTIONALLY: as root, you can edit the "/etc/sudoers" file to include lines like this:
<username>  ALL=(ALL)  ALL

Step 4: Setup SSHD so You Can Log in from Other Machines

Should already be done.  From a windows box, run "putty", then type in the IP address of the new Linux box, click the "SSH" box, and "Connect".  Also, you should be about to psftp from a Windows machine and drop stuff in your home directory.

Step 5: Setup SVN Client

For some reason, the Subversion client is not installed by default as part of the developer tools (excuse me?), so we need to install it.  The first step is to mount the DVD that we used before in the CDROM drive, the RedHat DVD (RedHat Enterprise Linux 5 Beta 2 "Client") , then install 2 packages (subversion has a dependency for perl URI package).  Here is what that looks like step by step:

5.1 - mkdir /tmp/cdrom                       (Linux is so unbelievably lame)

5.2 - mount /dev/cdrom /tmp/cdrom    (so very, very, very lame)

5.3 - ls /tmp/cdrom                             (this is a test to make sure it is actually there, should see lots of RELEASE-NOTES.html)

5.6 - cd /tmp/cdrom/Client

5.7 - rpm -ivh perl-URI-1.35-3.noarch.rpm   (this is the dependency that SVN has on Perl URI)

5.4 - cd /tmp/cdrom/Workstation

5.5 - rpm -ivh subversion-1.3.2-6.i386.rpm

5.6 - umount /tmp/cdrom            (if you don't do this, you cannot get the CDROM out of the drive, Linux is lame)

=========

Now as user "brianw" you should be able to "mkdir /home/brianw/tree", then "cd /home/brianw/tree", then
"svn checkout svn://<subversion_server_hostname>/tree/trunk" to checkout that tree.

 

Step 6: Install g++ on RedHat Enterprise

For some reason, the g++ compiler is not installed by default as part of the developer tools (excuse me?), so we need to install it.  The first step is to mount the DVD that we used before in the CDROM drive, the RedHat DVD (RedHat Enterprise Linux 5 Beta 2 "Client") , then install 2 packages (g++ has a dependency on one other package of libstdc++-devel).  Here is what that looks like step by step:

6.1 - mkdir /tmp/cdrom                       (Linux is so unbelievably lame)

6.2 - mount /dev/cdrom /tmp/cdrom    (so very, very, very lame)

6.3 - ls /tmp/cdrom                             (this is a test to make sure it is actually there, should see lots of RELEASE-NOTES.html)

6.4 - cd /tmp/cdrom/Workstation

6.5 - rpm -ivh libstdc++-devel-4.1.1.1-30.i386.rpm   (this is the dependency that g++ has on libstdc++-devel)

6.6 - rpm -ivh gcc-c++-4.1.1-30.i386.rpm   (this is the g++ compiler for RedHat Enterprise 5)

6.7 - umount /tmp/cdrom            (if you don't do this, you cannot get the CDROM out of the drive, Linux is lame)

=========

Now as user "brianw" you should be able to use "g++" to build the source tree.

 

Appendix A: Results of "cat /proc/cpuinfo" on Dell Optiplex 745 running Linux

The output from the command "cat /proc/cpuinfo" was asked for by a random reader of this web page, I don't know why.  :-)  I hope you find it interesting:

% cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz
stepping : 6
cpu MHz : 2658.273
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips : 5318.93

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz
stepping : 6
cpu MHz : 2658.273
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips : 5316.12
--------------------- END of command output for command "cat /proc/cpuinfo" on Dell Optiplex 745 running Linux ---------

 

Appendix B: Results of "lspci" on Dell Optiplex 745 running Linux

The output from the command "lspci" was asked for by a random reader of this web page, I don't know why.  :-)  I hope you find it interesting:

% lspci
00:00.0 Host bridge: Intel Corporation 82Q963/Q965 Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82Q963/Q965 Integrated Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 82Q963/Q965 Integrated Graphics Controller (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express (rev 02)
--------------------- END of command output for command "lspci" on Dell Optiplex 745 running Linux ---------


(Read a personal description of Backblaze here.)

Click Here to return to Ski-Epic Home, and Click Here to return to Random Stuff in Brian's Life