Search:  
Gentoo Wiki

Dell_Precision_690

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

Introduction

This page describes how to install Gentoo Linux onto a Dell Precision 690 workstation. The aim is to turn the factory-supplied system into a Linux software development workstation. Mostly the installation follows standard procedure. These notes describe the procedure in outline and describe variations in more detail. The goal is to provide enough information, together with links to other sources, to conveniently reconstruct the procedure, if ever circumstance require a replay.

This is really a tale of two workstations, a pair of 690s. Both share an identical specification, identical hardware. The idea is to create two identical development platforms for co-developing Linux software at two widely-separated locations.

Essential specification details:

Dell service tags: B1YNN2J, 81YNN2J.

Operating System Requirements

Initial Conditions

Initially, the workstation has Windows XP Professional SP2 installed,nothing else. The RAID0 disk controller combines both drives into one big 1-terabyte space. Dell's SAS BIOS handles this virtual space; the operating system just sees a single device.

This complicates matters since the original plan was to use RAID10, striping and mirroring at software level. The starting condition is hardware RAID level 0, striping but no mirroring. Moving to RAID10 means disabling the hardware RAID0, re-installing Windows, setting up software RAID10. Whereas continuing with RAID0 as pre-configured by Dell requires a simple repartitioning followed by normal installation. Linux sees the striped array as a single SCSI drive, so simpler to set up compared to software RAID10. Advantages of continuing with pre-configured storage array: simpler, twice as much available space. Disadvantages: no mirroring and therefore less fault tolerant.

Offsetting the disadvantage however, the entire space does not really need full mirroring. RAID10 would be overkill for the Windows partition, for example. The workstations are intended for Linux software development, at least initially. So, provided the essential parts of the storage space have some measure of fault tolerance by other means, mirroring requirements could be relaxed. Other means can include backups and disk-to-disk synchronisation between the two machines. In effect, the two machines can act as mirrors of each other for the essential software development components.

Decision: continue with RAID0 configuration, striping only.

64-bit Xeon

Before continuing, an important factor needs accounting for: Xeon 5160 is a 64-bit Intel CPU. Effectively, Intel's 5100-series operates like an AMD64. The architecture designation is x86_64. This means that installation must start from an amd64 stage tarball. Moving from i686 to x86_64 is not possible because the gcc tool-chain refuses! See Gentoo Wiki, Intel Xeon with EM64T Optimizations.

What Do I Need?

Apart from the workstation itself, wired up and plugged in, what else do you need?

Gentoo 2006.1 Minimal CD ISO Image

You need the Gentoo 2006.1 Minimal CD for AMD86 or EM64T architecture. Download the ISO image and burn a CD. You can do this in Windows or Linux, either will do. Image size only amounts to 49.9 MB for AMD86. So convenient for download. This image will merely seed the operating system; software will actually come via the Internet in source tarballs. The installation will compile and store the results as binary packages.

After downloading you might want to check the image for corruption. You can do this using the md5sum tool under Linux or Unix, or using md5sum under Windows. If we assume you have no other Linux machine available, you first download the MD5 digest information. Then download md5sum.exe. Finally, at the DOS command prompt in the directory where Windows can find the ISO, the ISO's digest information and md5sum.exe, enter command

md5sum --check install-amd64-minimal-2006.1.iso.DIGESTS

and the answer is

OK

if the digest checks out. You can now confidently burn the ISO.

There is another small catch if using Windows XP: it does not have ISO burning capability by itself. However, you can freely download a tool to add ISO burning. Download and install Alex Feinman's ISO Recorder V2 for Windows XP SP2. After installation, you can right-click on the ISO and select Copy image to CD option.

Working Internet Connection

You also need a working Internet connection. The procedure assumes the workstation has a LAN connection with automatic DHCP configuration and so will obtain IP and DNS information automatically. The plan assumes this arrangement will continue indefinitely for the lifetime of the equipment. The workstation will never therefore face the Internet directly. Hence no requirement for Security-Enhanced Linux which is relatively complex to setup and maintain.

Boot the Gentoo 2006.1 Minimal Installation CD

In factory condition, the workstation does not automatically boot from CD, even after inserting a bootable CD. You first need to adjust the boot sequence. Press F2 during system boot and open the system Setup menus. You will find boot ordering under System » Boot Sequence. Move Onboard or USB CD-ROM Drive in front of #558 ID00 LUN0 Dell VIRTUAL. Save and exit. The workstation will now boot off CD-ROM.

Let the kernel boot automatically. After a short delay it automatically boots the gentoo kernel at the boot: prompt; hit Enter or type gentoo if you cannot wait. The kernel switches the screen to frame-buffer mode, displays four Tux penguins, one each for the four Xeons.

After loading modules, the kernel boots off device /dev/hda, the CD, and then prompts for a keymap. I choose 40 for United Kingdom; press Enter for US default or enter another number from the given list matching your keyboard layout. The system then quickly switches to the Gentoo splash screen. Then after completing the startup processes to the root command prompt.

Startup scripts automatically detect the 4 Xeon CPUs, Dell USB mouse, Ethernet network device, nVidia video card. Strangely though, the network does not automatically configure. Device eth0 automatically detected and DHCP broadcasting for IP appears on the boot screen but ifconfig only lists lo, the loopback device. Something must have gone wrong! Set up the LAN interface by running

net-setup eth0

It interactively confirms the interface specifications: Broadcom NetXtreme BCM5752 Gigabit Ethernet, tg3 driver module, etc. Select Yes. Selection option 2 for My network is wired then OK. Finally, option 1 to use DHCP. Command ifconfig now lists the eth0 device with automatically-assigned IP address. Pinging Google using

ping www.google.com

tests out the connection and shows that DNS has also been correctly set up.

At this point, you might find it useful to briefly scan the kernel boot messages using

dmesg | less

to page through the messages generated while booting. Press h for help; pressing q quits. It confirms some of the essential details. Extracts below.

CPU0: Intel(R) Xeon(R) CPU            5160  @ 3.00GHz stepping 06
CPU1: Intel(R) Xeon(R) CPU            5160  @ 3.00GHz stepping 06
CPU2: Intel(R) Xeon(R) CPU            5160  @ 3.00GHz stepping 06
CPU3: Intel(R) Xeon(R) CPU            5160  @ 3.00GHz stepping 06
Total of 4 processors activated (23948.01 BogoMIPS).
input: Dell Dell USB Mouse as /class/input/input1
eth0: Tigon3 [partno(BCM5752KFBG) rev 6002 PHY(5752)] (PCI Express) 10/100/1000BaseT Ethernet
Fusion MPT SAS Host driver 3.03.09
ACPI: PCI Interrupt 0000:05:0b.0[A] -> GSI 24 (level, low) -> IRQ 22
mptbase: Initiating ioc0 bringup
ioc0: SAS1068: Capabilities={Initiator}
scsi6 : ioc0: LSISAS1068, FwRev=00063200h, Ports=1, MaxQ=511, IRQ=22
  Vendor: ATA       Model: WDC WD5000KS-75M  Rev: 2E08
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: ATA       Model: HDS725050KLA360   Rev: AB5A
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: Dell      Model: VIRTUAL DISK      Rev: 1028
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 1953124352 512-byte hdwr sectors (1000000 MB)
sda: Write Protect is off
sda: Mode Sense: 03 00 00 08
SCSI device sda: drive cache: write back

Notice that the hard drive space appears as sda device, the entire storage array as one SCSI device. Running sfdisk -l lists the device partitions:

livecd root # sfdisk -l

Disk /dev/sda: 121576 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+      9      10-     80293+  de  Dell Utility
/dev/sda2   *     10  121574  121565  976470862+   7  HPFS/NTFS
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty
Note: The Dell Utility partition contains diagnostic software. You can access it by pressing F12 on boot-up. This displays the Boot Device Menu. Select Boot to Utility Partition.

Boot complete, ready for installation procedure. First objective is to split /dev/sda2. See next section.

Repartition RAID0 Storage Array

The array initially has two partitions: one marked Dell Utility, the other marked NTFS. We will shrink the Windows NTFS partition by around 50% to accommodate a new Linux partition using ntfsresize. This tool comes with the Gentoo Minimal installation CD. It nondestructively adjusts the size of an existing NTFS filesystem. Note, it does not repartition a drive; it only adjusts the NTFS space within a partition. Therefore, repartitioning is a two-phase step: first resize NTFS, second repartition.

Warning: The second repartitioning phase is error prone with disastrous consequences difficult to fix. Typically you would need to start all over again from scratch with an empty disk. Take care!

First you check the partitions, this time using fdisk.

livecd root # fdisk -l /dev/sda

Disk /dev/sda: 999.9 GB, 999999668224 bytes
255 heads, 63 sectors/track, 121576 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          10       80293+  de  Dell Utility
/dev/sda2   *          11      121575   976470862+   7  HPFS/NTFS

Our goal is to split /dev/sda2 down the middle, roughly. The new partition layout will have

  1. /dev/sda1 at cylinders 1 to 10, Dell Utility
  2. /dev/sda2 at cylinders 11 to 60792, NTFS
  3. /dev/sda3 at cylinders 60793 to 121575, Linux (new)

The new NTFS filesystem of 60,782 cylinders will need resizing to 499948.969 megabytes (that's decimal megabytes not binary mebibytes) or less, but not more! Filesystem size must never exceed partition size.

Dry Run NTFS Volume Resizing Operation

Next find out how much resizing is possible.

livecd root # ntfsresize --info /dev/sda2
ntfsresize v1.13.0 (libntfs 9:0:0)
Device name        : /dev/sda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 999906161152 bytes (999907 MB)
Current device size: 999906163200 bytes (999907 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 14280 MB (1.4%)
Collecting resizing constraints ...
You might resize at 14279700480 bytes or 14280 MB (freeing 985627 MB).
Please make a test run using both the -n and -s options before real resizing!

So the NTFS volume will shrink, no problem, but first a dry run. Specify --no-action option and the required new size of 499948Mbytes, rounded down to avoid overlapping the end of the partition!

livecd root # ntfsresize --no-action --size 499948M /dev/sda2
ntfsresize v1.13.0 (libntfs 9:0:0)
Device name        : /dev/sda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 999906161152 bytes (999907 MB)
Current device size: 999906163200 bytes (999907 MB)
New volume size    : 499947995648 bytes (499948 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 14390 MB (1.4%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
The read-only test run ended successfully.

Successful test run and notice the new volume size approximately equal to 60781.9 cylinders, so safely less than planned new partition size. Very important.

Resize NTFS Filesystem for Real!

Next, the real thing! Repeat the previous command but without the --no-action option. This time it asks if you want to proceed. Hit y then Enter; interactive input appears in bold below. After proceeding, resizing all happens very quickly.

livecd root # ntfsresize --size 499948M /dev/sda2
ntfsresize v1.13.0 (libntfs 9:0:0)
Device name        : /dev/sda2
NTFS volume version: 3.1
Cluster size       : 4096 bytes
Current volume size: 999906161152 bytes (999907 MB)
Current device size: 999906163200 bytes (999907 MB)
New volume size    : 499947995648 bytes (499948 MB)
Checking filesystem consistency ...
100.00 percent completed
Accounting clusters ...
Space in use       : 14390 MB (1.4%)
Collecting resizing constraints ...
Needed relocations : 0 (0 MB)
WARNING: Every sanity check passed and only the dangerous operations left.
Make sure that important data has been backed up! Power outage or computer
crash may result major data loss!
Are you sure you want to proceed (y/[n])? y
Schedule chkdsk for NTFS consistency check at Windows boot time ...
Resetting $LogFile ... (this might take a while)
Updating $BadClust file ...
Updating $Bitmap file ...
Updating Boot record ...
Syncing device ...
Successfully resized NTFS on device '/dev/sda2'.
You can go on to shrink the device for example with Linux fdisk.
IMPORTANT: When recreating the partition, make sure that you
  1)  create it at the same disk sector (use sector as the unit!)
  2)  create it with the same partition type (usually 7, HPFS/NTFS)
  3)  do not make it smaller than the new NTFS filesystem size
  4)  set the bootable flag for the partition if it existed before
Otherwise you won't be able to access NTFS or can't boot from the disk!
If you make a mistake and don't have a partition table backup then you
can recover the partition table by TestDisk or Parted's rescue mode.

Check the new size using

livecd root # ntfsresize --info --force /dev/sda2

It reports a new size of 499,947,995,648 bytes, correct.

Repartition Storage Array

Now the big one! Run fdisk to repartition the drive. Linux's fdisk is a terminal-based interactive program. You type something then press Enter. In the following output listing, interactive input appears in bold type.

livecd root # fdisk /dev/sda

The number of cylinders for this disk is set to 121576.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sda: 999.9 GB, 999999668224 bytes
255 heads, 63 sectors/track, 121576 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          10       80293+  de  Dell Utility
/dev/sda2   *          11      121575   976470862+   7  HPFS/NTFS

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (11-121576, default 11):
Using default value 11
Last cylinder or +size or +sizeM or +sizeK (11-121576, default 121576): 60792

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 7
Changed system type of partition 2 to 7 (HPFS/NTFS)

Command (m for help): a
Partition number (1-4): 2

Command (m for help): p

Disk /dev/sda: 999.9 GB, 999999668224 bytes
255 heads, 63 sectors/track, 121576 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          10       80293+  de  Dell Utility
/dev/sda2   *          11       60792   488231415    7  HPFS/NTFS

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

In outline, the fdisk repartitioning above plays out as follows.

  1. p prints the initial partition table
  2. d, 2 deletes the second partition (changes only in memory)
  3. n, p, 2, 11, 60792 makes a new primary partition from cylinder 11 through 60792 inclusive
  4. t, 2, 7 gives the new second partition type 7 for NTFS
  5. a, 2 makes the second partition active
  6. p prints the final partition table
  7. w writes the partition table

All partition table changes occur entirely in memory until the last step when fdisk writes the changes to the storage array.

Final check.

livecd root # ntfsresize --info --force /dev/sda2

Good, no errors.

At this point you might want to reboot and start Windows. It will automatically run CHKDSK for you. It checks then reboots automatically (Windows style!) It now reboots again without running CHKDSK.

Next Step: Install Gentoo Linux

The story continues at Dell Precision 690 Part 2.

Links and References

Feedback

Concerns or Compliments? Please use the Discussion section.

Retrieved from "http://www.gentoo-wiki.info/Dell_Precision_690"

Last modified: Sun, 07 Sep 2008 21:58:00 +0000 Hits: 10,293