Tuesday, June 20, 2006
VIA EPIA Gentoo Migration
Currently, I was using a VIA EPIA system as my music server, but now I'm thinking about turning it into a smart router for the home office. This will entail adding a ethernet card to the unit in addition to migrating my hard drives from a pair of 300GB drives to a pair of notebook drives (for less power). Since I'm using Software RAID, moving from one set of disks to another should be nearly seamless.

The hardware has changed a little bit since my previous attempt at building the system back in March 2005, but the BIOS settings are identical. The current hardware consists of:

(1) VIA EPIA ME6000 (EPIA M series), 600Mhz fanless CPU
(2) 300GB 5400rpm hard drives
(1) DVD-ROM
(1) Morex Venus 668 Black Case
(1) 1GB PC2100 DIMM

I'm going to replace the two 300GB 3.5" drives with less power-hungry 60GB laptop drives. The basic process is:

  1. Detach the DVD-ROM (which happens to be the master drive on the 2nd cable) and connect the laptop drive. That will allow me to work with the new drives one at a time while I migrate from the old to the new.
  2. Copy the boot sector from the old /dev/hda to the new laptop drive: dd if=/dev/hda bs=512 count=1 of=/dev/hdc
  3. Verify that the first (3) partitions on the new drive are identically sized as the original drive.
  4. Copy the filesystem from the old drive to the new drive: dd if=/dev/hda1 of=/dev/hdc1
  5. Install grub on the new disk.
  6. Shutdown
  7. Remove the old /dev/hda 300GB drive, move the new laptop drive into place
  8. Restart the system, verify the Software RAID. I had to tell mdadm to add the /dev/hda partitions to the arrays: mdadm /dev/md0 -a /dev/hda1


Note: I forgot to install grub on the new disk this last time. So I need to boot from the LiveCD, chroot into the O/S and re-install grub on the new disks.

Labels: ,

Tuesday, March 29, 2005
Gentoo EPIA Install (part 3)
The RAID array has finally finished synchronizing. Continuing on, referecing my June 2004 notes about setting up LVM.

Things went well up until I started extracting the portage tree. Then I started to get random errors, which means I need to stop and verify that the hardware is behaving properly.

(Time to dig out my memory test programs...)

Labels: ,

Gentoo EPIA Install (part 2)
Note: These directions are works-in-progress... in fact, they might not even work at all until I find out why I'm ending up with non-bootable systems (looks like a bug in the 2.6 kernel).

First up, still using the 2004.0 Gentoo Boot CD and referring to my old notes from last year. Also note that I rebuilt it in June 2004, so it may be better to look at those notes. Especially the "gentoo nohotplug" command during the boot process.

Going to use last June's installation notes for the most part, with a few notes here if I change anything.

Key commands (that don't do anything other then report status):

/sbin/ifconfig - verifies networking
ls -l /dev/hd* - shows hard drives
hdparm -i /dev/hda - display information about hda

Now to fire up fdisk and wipe any existing partitions. Then I'm going to create the same partitions I did last year. (Helps to refer to the Gentoo handbook for this step.)

Currently making my raid volumes, no changes from the June 2004 instructions. Verifying progress using "cat /proc/mdstat".

Labels: ,

Gentoo EPIA Install (part 1)
Note: These directions are works-in-progress... in fact, they might not even work at all until I find out why I'm ending up with non-bootable systems (looks like a bug in the 2.6 kernel).

So, I'm back to re-building my VIA EPIA linux box (it was scavanged for another project for a few months). Once again, I'm digging out my Gentoo CDs and I'm going to simply build a box where I can house my music MP3s and do some Apache / PostGreSQL work. Since this is an EPIA box, the EPIAWiki.org site comes in handy. I'll also be referring back to my April 2004 notes to speed up my setup process.

Hardware:

(1) VIA EPIA ME6000 (EPIA M series), 600Mhz fanless CPU
(2) 160GB 5400rpm hard drives (primary master, secondary master)
(1) DVD-ROM (secondary slave)
(1) Morex Venus 668 Black Case
(1) 512MB PC2100 DIMM

First up is BIOS settings:

Standard CMOS Features
- Halt On: All, But Keyboard
- all other settings are automatic

Advanced CMOS Features
- Virus Warning: Disabled
- CPU L2 Cache ECC Checking: Enabled
- Quick Power On Self Test: Disabled
- First Boot Device: Floppy
- Second Boot Device: CDROM
- Third Boot Device: HDD-0
- Boot Other Device: Disabled
- Swap Floppy Drive: Disabled
- Boot Up Floopy Seek: Enabled
- Boot Up NumLock Status: Enabled
- Typematic Rate Setting: 30
- Typematic Delay: 250
- Security Option: Setup (not configured)
- Dispaly Full Screen Logo: Disabled
- Show Summary Information: Enabled
- Display Small Logo: Enabled

Advanced Chipset Features
- AP Aperture Size: 32M
- CPU to PCI POST Write: Enabled
- Select Display Device: CRT
- Panel Type: 1024x768
- TV Type: NTSC
- CPU Direct Access FB: Enabled

Integrated Peripherals
- Super IO Devices: All disabled except FDC Controller
- Onboard IDE Channel 1: Enabled
- Onboard IDE Channel 2: Enabled
- IDE Prefetch Mode: Enabled
- Display Card Priority: AGP
- Frame Buffer Size: 32MB (amount of RAM to use for video card)
- AC97 Audio: Disabled
- MC97 Modem: Disabled
- VIA OnChip LAN: Enabled
- USB Keyboard Support: Disabled
- Onboard LAN Boot ROM: Disabled
- Onboard Fast IR: Disabled

Power Management Setup
- ACPI Suspend Type: S1&S3
- HDD Power Down: Disabled
- Power Management Timer: Disabled
- Video Off Option: Suspend -> Off
- Power Off by PWRBTN: Delay 4 Sec
- Run VGABIOS if S3 Resume: Auto
- AC Loss Auto Restart: On
- Peripherals Activities: (not important)
- IRQs Activities: (not important)

PnP/PCI Configurations
- PNP OS Installed: Yes
- (ignoring the rest of the options)

PC Health Status
- (information only)

Frequency/Voltage Control
- (left alone)

Labels: ,

Saturday, June 19, 2004
Gentoo: Failed to load mii
More self-inflicted pain (guarantee that I'm doing this to myself, not due to the Gentoo install guide...)

During boot-up after installing the 2.6.6 kernel, the following (2) modules fail to load:
Loading module mii...
Failed to load mii

Loading module via-rhine...
Failed to load via-rhine

The second error is because I had configured the kernel to load "via-rhine" as built-in and not as a module. You can do one or the other, but not both.

Not sure about the "mii" error, I'll merely comment it out in the autoload config file for now and see what happens.

Labels: ,

Wednesday, June 16, 2004
Gentoo Install 6 (Grub, System Tools, Finalizing the Install)
(previous post about configuring the kernel and setting up the filesystem)

Picking up with 9.b. Default: Using GRUB in the handbook. (Also see my older post about configuring grub.) Also take a look at the end of the thread on the gentoo forums (look for user "havoc") where it discusses how to setup grub on both the primary and secondary drives (see the original article). Now is also a good time to pull up the official Software RAID HOWTO and review that as well (especially section 7.3).
# grub --no-floppy
grub> find /grub/stage1
(hd0,0)
(hd1,0)
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/hdc
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

The above is a little tricky to follow. The first "root" and "setup" commands specify that grub should boot from the first partition on hd0 (which is /dev/hda in my config) and "setup" installs the MBR record to the drive.

Then we pull a switch on grub with the "device" command, telling it to pretend that /dev/hdc (the secondary drive in the RAID array) is now hd0. The second set of "root/setup" commands then write the MBR out to the 2nd drive in the array. If I undstand everything correctly, this means that in the case of the primary drive dying, the RAID array will still be able to boot off of the secondary drive. (I don't believe that you would need to move it to the primary cable.)

Now edit/create your config file for grub, "nano -w /boot/grub/grub.conf"". You'll need to know the name of your kernel file that you compiled and copied to /boot earlier. Here's what mine looks like (booting from the first partition on the first drive):
default 0
timeout 30
title=Gentoo Linux 2.6.6 (June 16 2004)
root (hd0,0)
kernel /kernel-2.6.6-gentoo root=/dev/md2

Refer to the handbook, Installing Necessary System Tools, for the next few commands (I mostly used the defaults, but this is a cut-n-paste from my previous install).
# emerge syslog-ng
# rc-update add syslog-ng default
# emerge dcron
# rc-update add dcron default
# crontab /etc/crontab

Then refer to Finalizing your Gentoo Installation.
# passwd
# useradd john -m -G users,wheel,audio -s /bin/bash
# passwd john

Note: Now you need to unmount everything that you can (including LVM), possibly shutdown the RAID as well prior to reboot.
livecd gentoo # exit
livecd / # cd /
livecd / # cat /proc/mounts

(unmount all of your mounted partitions, including the LVM mounts)
livecd / # umount ... (insert list of mounted file systems)

livecd / # vgchange -an vgmirror
livecd / # raidstop -a /dev/md0
livecd / # raidstop -a /dev/md3
livecd / # reboot

If all goes well, the system should shutdown and then restart from the software RAID.

My system locked up during shutdown on or after "Stopping USB and PCI hotplugging". Which probably means there was a boot option that I should've entered way back when I booted off the LiveCD (actually it means I didn't properly specify the "nohotplug" option at the "boot:" prompt on the LiveCD).

Labels: ,

Gentoo Install 5 (Manual Kernel Configuration)
(previous post - building the kernel)

Note: This is for a VIA EPIA ME6000 motherboard being used as a headless server. All of the multimedia and graphic options are disabled. (See my previous install.) If this is your first install, you should probably use the "genkernel" method rather then manual configuration. The Gentoo docs explain configuring the kernel. They recommend being familiar with the "cat /proc/pci" and "lsmod" commands which is something I missed on my previous install.
# cd /usr/src/linux
# make menuconfig

Anywhere in the following list where I say "turn ON" means to use the "Y" key to turn an option on as built-in, I'll specifically say MODULE if I loaded the option as a module.

Linux Kernel v2.6.6 Configuration
(C)ode maturity level options
(G)eneral setup
--> (C)onfigure standard kernel features for small systems (turn ON)
--> --> (O)ptimize for size (turn ON)
(L)oadable module support
(P)rocessor type and features
--> (P)rocessor family (changed to "CyrixIII/VIA-C3")
--> (S)ymetric multi-processing support (turned this one OFF)
--> M(a)chine Check Exception (turned this OFF)
(P)ower management options (ACPI, APM)
(B)us options (PCI, PCMCIA, EISA< MCA, ISA)
(E)xecutable file formats
(D)evice drivers
--> (P)arallel port support (turned OFF)
--> (A)TA/ATAPI/MFM/RLL support (turned ON the VIA82CXXX chipset support as BUILT-IN)
--> M(u)lti-device support (turn it ON)
--> --> (R)AID support (turn it ON as BUILT-IN)
--> --> --> (R)AID-1 mirroring mode (turn it ON as BUILT-IN)
--> --> (D)evice mapper support (set to MODULE, per section 13 of LVM2 guide)
--> N(e)tworking support
--> --> N(e)twork device support, (E)thernet 10/100Mbit
--> --> --> (R)ealTek RTL-8139 PCI (turn OFF)
--> --> --> (V)IA Rhine (turn ON as BUILT-IN)
--> --> --> --> (U)se MMIO instead of PIO (turn ON)
--> (C)haracter Devices
--> --> (I)ntel/AMD/VIA HW Random Number Generator (turn ON as BUILT-IN)
--> --> /(d)ev/agpgart AGP Support
--> --> --> (I)ntel 440LX/BX/GX I8xx E7x05 (turn OFF)
--> --> --> (V)IA chipset support (turn ON as BUILT-IN)
--> (I)2C support (turn ON, heavily reliant on building an MP3 server for these options)
--> --> (I)2C device interface (turned ON as BUILT-IN, epiawiki says "on", MP3 server article says "off")
--> --> (I)2C Algorithms
--> --> --> (I)2C bit-banging interface (turn ON as BUILT-IN)
--> --> (I)2C Hardware Bus support
--> --> --> (V)IA 82C586B support (turn on as BUILT-IN)
--> --> (I)2C Hardware Sensors Chip
--> --> --> (V)IA686A (turn on as BUILT-IN)
--> (S)ound
--> --> (S)ound card support (turn OFF)
(F)ile systems
--> (P)seudo filesystems
--> --> /(d)ev file system support OBSOLETE (turn ON)
--> --> --> (A)utomatically mount at boot (turn ON)
(P)rofiling support
(K)ernel hacking
(S)ecurity options
(C)ryptographic options
--> (C)ryptographic API (turn ON)
--> --> (H)MAC support (turn ON)
--> --> (turn ON the others as MODULE)
(L)ibrary routines

Exit and save your configuration. Then build the kernel (the following is for 2.6 kernels). Expect the compile to take about an hour.
make && make modules_install

Now you need to install your kernel into the boot partition. Change the "2.6.6-gentoo" portion of the filenames to whatever you want.
# cp arch/i386/boot/bzImage /boot/kernel-2.6.6-gentoo
# cp System.map /boot/System.map-2.6.6-gentoo
# cp .config /boot/config-2.6.6-gentoo

Next is 7.e. Installing Separate Kernel Modules, which is where we specify which modules from above that we configured as "MODULE" instead of "BUILT-IN" get loaded at bootup. Use the command "nano -w /etc/modules.autoload.d/kernel-2.6" to edit your config file. Here is what mine looked like (yours will probably be different).
# autoloads the following modules at boot time
#LVM2 (logical volume manager)
dm-mod

#ethernet
#mii (not needed?)
#via-rhine (compiled as built-in)

I also need to emerge in LVM2 support as well as the "raidtools" package (per Gentoo x86 Installation Tips & Tricks).
# modules-update
# emerge lvm2
# emerge raidtools

Time to edit the "/etc/fstab" table (see 8.a. Filesystem Information and also refer back to my mount commands from earlier). Here's my "/etc/fstab" file:
/dev/md0 /boot ext2 noauto,noatime 1 2
/dev/md2 / ext3 natime 0 1
/dev/md1 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0

/dev/vgmirror/opt /opt ext3 noatime 0 3
/dev/vgmirror/usr /usr ext3 noatime 0 3
/dev/vgmirror/var /var ext3 noatime 0 3
/dev/vgmirror/home /home ext3 noatime 0 0
/dev/vgmirror/tmp /tmp ext2 noatime 0 3
/dev/vgmirror/vartmp /var/tmp ext2 noatime 0 3

none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0

Change your hostname, domainname, and the default run level.
# echo yourhostname > /etc/hostname
# echo yourdnsname > /etc/dnsdomainname
# rc-update add domainname default
# nano -w /etc/conf.d/net
(either use iface_eth0="dhcp" or configure your IP and gateway)
# rc-update add net.eth0 default
# cat /etc/resolv.conf
(verify your DNS servers if you specified a static IP)
# nano -w /etc/rc.conf
(change CLOCK="UTC" to CLOCK="local")

Onward to chapter 9, configuring the bootloader. Here's where I ran into trouble; "emerge grub" or "emerge lilo" failed with "cannot automatically mount your /boot partition".
# emerge grub


(continued in my next post)

Labels: ,

Gentoo Install 4 (Installing the Kernel Sources)
(previous post)

Picking up with 7. Configuring the Kernel. If your system crashes after this point, I do have a few notes jotted down on how to get back to here without rebuilding everything. (Since this is where I screwed up last time and put the machine into an unusable state.)

Timezone for me is EST5EDT, so here's how to set that up.
# ls /usr/share/zoneinfo
# ln -sf /usr/share/zoneinfo/EST5EDT /etc/localtime
# date 06161009
# zdump GMT
# zdump EST5EDT

Next, pick your kernel. For me, since gentoo-sources, gs-sources (gentoo stable) and vanilla-sources are all still on the 2.4 kernel, I'm going to go with development-sources which is at version 2.6.6 and regardless of the name is actually a rather stable tree.
# emerge -s sources | less
# emerge development-sources

This will take a while to run. Last time I think it took somewhere around 2 hours, this time it only took 30-40 minutes. So my previous estimate was probably a bit off (or it took longer to download last time).

(next step)

Labels: ,

Tuesday, June 15, 2004
Gentoo Install 3 (Bootstrapping)
(previous post)

Time to bootstrap the system (See moving from stage 1 to stage 2). If you have multiple machines on the network, all with the same version of gcc, now is the when you'll want to configure your distcc configuration.
# cd /usr/portage
# scripts/bootstrap.sh

This will take a while to run (update: took 8 hours to run). If the bootstrap script fails, and you're re-using a portage tree (or possibly other files under /opt, /usr, /var, /home, /tmp or /var/tmp), then you may need to clean out the old files. (Generally not an issue if you're doing a fresh install.)

Once that finishes, run the following command.
# emerge system

Which will also take a while to run (last time it took around 5.5 hours). Update: Took around 4.5 hours this time.

(next post)

Labels: ,

Gentoo Install 2 (VIA EPIA ME6000)
(Previous post about fdisk and setting up the software RAID.)

At this point, we've partitioned the disk and setup the "/etc/raidtab" file. It's a good idea to jot down everything in that file and put it in a safe place. You should also "cat /proc/mdstat" and jot that information down too.

The following commands will format the boot and root partitions (/dev/md0 is /boot, /dev/md2 is /). I'll also be setting up the swap on /dev/md1. Since we're doing RAID1, there's no need to use the "-R stride=n" option of mke2fs (that's only useful for RAID0, RAID4 or RAID5). Note that you must mount the "/" (root) partition before creating and mounting the boot folder within that tree.
# mke2fs /dev/md0
# mke2fs -j /dev/md2
# mkswap /dev/md1
# swapon /dev/md1
# mount /dev/md2 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/md0 /mnt/gentoo/boot

Next, initialize the 4th RAID set in preparation for LVM (pvcreate). Create the "/etc/lvm/lvm.conf" file and create the volume group for the 4th RAID set (vgcreate). Also see the Gentoo LVM documentation. If needed, use "modprobe dm-mod" to load the LVM module.
# pvcreate /dev/md3
# echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.conf
# vgcreate vgmirror /dev/md3
# vgscan

Now we need to create some logical volumes inside our "vgmirror" volume group. Here's a list of my initial logical volumes:

4GB /tmp (ext2)
4GB /var/tmp (ext2)
2GB /opt (ext3)
4GB /usr (ext3)
4GB /var (ext3)
8GB /home (ext3)

Create the logical volumes using "lvcreate", then verify by looking in the "/dev/vgmirror" folder as well as "lvscan":
# lvcreate -L4G -ntmp vgmirror
# lvcreate -L4G -nvartmp vgmirror
# lvcreate -L2G -nopt vgmirror
# lvcreate -L4G -nusr vgmirror
# lvcreate -L4G -nvar vgmirror
# lvcreate -L8G -nhome vgmirror
# ls /dev/vgmirror
# lvscan

Now, format the logical volumes with the desired filesystems.
# mke2fs /dev/vgmirror/tmp


# mke2fs /dev/vgmirror/vartmp
# mke2fs -j /dev/vgmirror/opt
# mke2fs -j /dev/vgmirror/usr
# mke2fs -j /dev/vgmirror/var
# mke2fs -j /dev/vgmirror/home

Make the directories to hold your mounted volumes. Mount your volumes.
# mkdir /mnt/gentoo/opt
# mkdir /mnt/gentoo/usr
# mkdir /mnt/gentoo/var
# mkdir /mnt/gentoo/home
# mount /dev/vgmirror/opt /mnt/gentoo/opt
# mount /dev/vgmirror/usr /mnt/gentoo/usr
# mount /dev/vgmirror/var /mnt/gentoo/var
# mount /dev/vgmirror/home /mnt/gentoo/home

Make the special directories to hold your temp file volumes (these require special permissions). Then mount your temp file volumes. Also mount your proc folder.

# mkdir /mnt/gentoo/tmp
# mount /dev/vgmirror/tmp /mnt/gentoo/tmp
# chmod 1777 /mnt/gentoo/tmp
# mkdir /mnt/gentoo/var/tmp
# mount /dev/vgmirror/vartmp /mnt/gentoo/var/tmp
# chmod 1777 /mnt/gentoo/var/tmp
# mkdir /mnt/gentoo/proc
# mount -t proc none /mnt/gentoo/proc

We are now ready to start installing Gentoo (chapter 5 in the handbook). Also see my previous post about CFLAGS, which might explain why I've chosen some particular settings. First, we need to extract the stage 1 tarball.
# date
# ls /mnt/cdrom/stages
# cd /mnt/gentoo
# tar -xvjpf /mnt/cdrom/stages/stage1-x86-20040218.tar.bz2
# ls /mnt/cdrom/snapshots
# tar -xvjf /mnt/cdrom/snapshots/portage-20040223.tar.bz2 -C /mnt/gentoo/usr
# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
# nano -w /mnt/gentoo/etc/make.conf

Now we need to configure the base compile options. Here's the content of my make.conf file (use at your own risk). Be sure to go look at 5.e. Configuring the Compile Options in the Gentoo Handbook. Also look at Gentoo USE flags and Gentoo Linux USE Variable Descriptions. I've set some very aggressive USE flags in my make.conf file (anything to do with graphics or multimedia since this is a headless file server) and I don't know whether it's proper to remove all of those USE flags yet. Note that even though the USE= line shown here is spread across two lines, it should be all one line in the actual make.conf file (the line break here is for visual clarity only).
CFLAGS="-Os -march=i586 -m3dnow -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
USE="apache2 kerberos ldap -apm -gif -gnome -gtk -jpeg -kde -mad -mikmod -mpeg
-oggvorbis -opengl -oss -pdflib -png -qt -quicktime -sdl -truetype -xmms -xv"
CXXFLAGS="$(CFLAGS)"
MAKEOPTS="-j2"

Next we're ready to install the base system, see 6. Installing the Gentoo Base System in the Gentoo Handbook.
# mirrorselect -a -s4 -o | grep -ve '^Netselect' >> /mnt/gentoo/etc/make.conf
# cp -L /mnt/gentoo/etc/make.conf /mnt/gentoo/boot/make.conf-backupcopy
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# cp -L /etc/raidtab /mnt/gentoo/etc/raidtab
# cp -L /etc/raidtab /mnt/gentoo/boot/raidtab-backupcopy
# mkdir /mnt/gentoo/etc/lvm
# cp -L /etc/lvm/lvm.conf /mnt/gentoo/etc/lvm/lvm.conf
# cp -L /etc/lvm/lvm.conf /mnt/gentoo/boot/lvm.conf-backupcopy
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# emerge sync

Synchronization of the portage tree will take a while (depending on the speed of your internet connection and how fast your system is). My system downloaded 60MB or so worth of updates and took 30-60 minutes (at a guess). Meanwhile, I'll continue this topic in my next post.

Labels: ,

Gentoo Install 1 (VIA EPIA ME6000)
Going to rebuild my VIA EPIA Gentoo linux server. While the current setup was fine, I've decided that I want to switch to use a pair of matched 5400rpm drives and software RAID1. The configuration is identical to the old drive configuration, except that I'm now using a pair of 300GB 5400rpm Maxtor drives. The power draw seems to be well within the limits of the tiny power-supply in the Morex Venus 668 case.

I'm going to skip some of the initial information about my setup as all of that really hasn't changed. Shared video memory is still only 32MB instead of the default 128MB, and I've turned off all of the ports and devices that I'm not going to use (leaving only ethernet, firewire and USB ports active). I'm still using the Gentoo 2004.0 Universal CD as my bootstrap system.

Start by booting up the Gentoo Universal CD, as soon as you see the "boot:" prompt, enter the following command (which hopefully fixes the shutdown/lockup issue I had at the end of the last install):
boot: gentoo nohotplug

The LiveCD will then boot up, now load the md and dm-mod modules. Prior to loading these two modules, "/proc/mdstat" will not exist:
# modprobe md
# modprobe dm-mod

It's possible that your ethernet card on the VIA EPIA ME6000 will not be detected. To fix this, you'll need to load the via-rhine module by hand, and then reconfigure your network adapters.
# modprobe via-rhine
# net-setup eth0
# ifconfig

Create partitions using fdisk. I want a 64MB /boot partition, a 2048MB swap partition, a 2048MB root partition, and the rest set aside for LVM. Also see the gentoo install documentation section on preparing the disks.
# ls /dev/hd*
# fdisk /dev/hda

Command: n
Command action: p
Partition number: 1
First cylinder: 1
Last cylinder: +64M
Command: a
Partition number: 1
Command: t
Hex code: fd

Command: n
Command action: p
Partition number: 2
First cylinder: [enter]
Last cylinder: +2048M
Command: t
Partition number: 2
Hex code: fd

Command: n
Command action: p
Partition number: 3
First cylinder: [enter]
Last cylinder: +2048M
Command: t
Partition number: 3
Hex code: fd

Command: n
Command action: p
First cylinder: [enter]
Last cylinder: [enter]
Command: t
Partition number: 4
Hex code: fd

Command: p

Verify your configuration. My system had (4) primary partitions, with the first partition marked as active ('*' under the "Boot" column). Now, write the partition table to disk (be sure everything is correct).
Command: w
#

Repeat the above for the 2nd disk in the array (/dev/hdc in my case).

Create your "/etc/raidtab" configuration file (I used "nano -w /etc/raidtab", but other text editors will work).
# this config is for mirroring /dev/hda with /dev/hdc
# /boot (RAID1)
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 32
persistent-superblock 1
device /dev/hda1
raid-disk 0
device /dev/hdc1
raid-disk 1

# *swap* (RAID1)
raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 8
persistent-superblock 1
device /dev/hda2
raid-disk 0
device /dev/hdc2
raid-disk 1

# / (RAID1)
raiddev /dev/md2
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 32
persistent-superblock 1
device /dev/hda3
raid-disk 0
device /dev/hdc3
raid-disk 1

# LVM (RAID1)
raiddev /dev/md3
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 16
persistent-superblock 1
device /dev/hda4
raid-disk 0
device /dev/hdc4
raid-disk 1

# end of /etc/raidtab

Create the raid set(s).
# mkraid /dev/md0
# mkraid /dev/md1
# mkraid /dev/md2
# mkraid /dev/md3

If you get the error message: "raid_disks + spare_disks != nr_disks" when attempting to create any of your RAID sets, go back and verify your "/etc/raidtab" file as well as verifying your disk partitions. The RAID sets will build in the background and you should periodically monitor their progress using "cat /proc/mdstat". Another possibility is that you have set the "chunk-size" setting to be too small or too large (e.g. "chunk-size 4" did not work for me, but "chunk size 8" worked fine).

Since it's going to take 150 minutes to prep that last RAID volume, I'm going to pick this up again later. Data rate according to "cat /proc/mdstat" is around 30MB/sec, which is about what I'd expect for a 5400rpm PATA drive.

Labels: , ,

Wednesday, April 28, 2004
Gentoo EPIA Install (part 6)
(previous entry)

Now to start with chapter 7e, installing extra kernel modules. I didn't see any extra modules that needed to be emerge'd, so I skipped straight to the editing of the autoload file. Actually I lie, I have to add in LVM2 module support. So I need to follow the steps in step 13 of the LVM install guide and add LVM to the auto-load listing.

nano -w /etc/modules.autoload.d/kernel-2.6

Oh boy, a big empty file. I know I need to add LVM here ("dm-mod"), plus building the LVM package ("emerge lvm2") and configuring lvm to not auto-probe the CD-ROM ("echo 'devices { filter=["r/cdrom/"] }' >> /etc/lvm/lvm.conf"). For now, I added the "dm-mod" line, exited out and did the emerge for LVM2. (FYI, I didn't have an lvm directory under /etc so I had to mkdir /etc/lvm before I could run the echo command.)

Looking at the contents of my /lib/modules/2.6.3/kernel folder using the find command shows the following modules:

crypt modules: aes.ko, blowfish.ko, cast5.ko, cast6.ko, crypto_null.ko, deflate.ko, des.ko, md4.ko, md5.ko, serpent.ko, sha1,ko, sha256.ko, sha512.ko, tcrypt.ko, twofish.ko

drivers/md/dm-mod.ko
drivers/net/dummy.ko
lib/zlib_deflate/zlib_deflate.ko
lib/zlib_inflate/zlib_inflate.ko

Not sure why modules like mii, via-rhine, and the like aren't in the /lib/modules tree, could be a goof-up.

Following the sample autoload file from the MP3 server article, I ended up with the following lines in my config file:

#LVM2
dm-mod

#ethernet
mii
via-rhine

#firewire
ieee1394
ohci1394

#usb
usbcore
uhci
ehci-hcd
usb-storage

Don't forget to run "modules-update" when done. Onward to chapter 8, configuring your system. First up is editing the "/etc/fstab" table, which controls what gets mounted at startup. I'm using a rather complex partitioning system, plus LVM2, so this will look a bit wild. It also helps to refer back to the mount commands used earlier.

/dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda2 / ext3 natime 0 1
/dev/hdc1 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0

/dev/vgos/opt /opt ext3 noatime 0 3
/dev/vgos/usr /usr ext3 noatime 0 3
/dev/vgos/var /var ext3 noatime 0 3
/dev/vguser/home /home ext3 noatime 0 0
/dev/vgtmp/tmp /tmp ext2 noatime 0 3
/dev/vgtmp/vartmp /var/tmp ext2 noatime 0 3

none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0

Next, do your hostname and dnsdomainname settings (/etc/hostname and /etc/dnsdomainname) and run the "rc-update add domainname default" command. Edit your networking ("nano -w /etc/conf.d/net"). Most folks probably use DHCP, but I configured a static address (the iface_eth0 line) as well as uncommenting and configuring the gateway line. Save and exit, then use "rc-update add net.eth0 default" to add networking to the default runlevel. Also "cat /etc/resolv.conf" and see if your DNS servers are properly listed (only do this if you used a static IP address like I did, if you're using DHCP those will be automatically set).

The next big task is to edit the local configuration ("nano -w /etc/rc.conf"). I'll only list the changes that I made:

CLOCK="local"

Yeah... big changes! Er, yah, um onward to chapter 9, configuring the bootloader.

I'm 99% sure I didn't turn on frame-buffer support, so skip the first section. I'm also going to use GRUB instead of LILO (personal preference and I've heard that GRUB isn't as fragile as LILO, but on a single-boot system that might be a moot point).

emerge --usepkg grub
(wait a few minutes)
grub

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

The above assumes that your /boot partition is on /dev/hda1 (convert the 'hda' to 'hd0' and subtract 1 from '1' to get '0'). Edit your grub config file using "nano -w /boot/grub/grub.conf" and follow along in the second half of 9b, configuring grub. Here's what mine ended up looking like:

default 0
timeout 30
title=Gentoo Linux 2.6.3
root (hd0,0)
kernel /kernel-2.6.3-gentoo root=/dev/hda2

Save, exit, on to chapter 10, installing the system tools. I went with a lot of defaults here, just going to short-list the commands. (Info on dcron.)

emerge syslog-ng
rc-update add syslog-ng default
emerge dcron
rc-update add dcron default
crontab /etc/crontab

Okay, looks like getting close to the end. Chapter 11, finalizing the install.

passwd
useradd john -m -G users,wheel,audio -s /bin/bash
passwd john

exit
cd /
umount ... (insert list of mounted file systems)
reboot

Reboot, go into the BIOS and change the boot order to bypass the CD-ROM (or simply remove the LiveCD), and refer to chapter 12, where do I go from here in the gentoo handbook. I might jot down some additional notes in the future, but we'll have to see.

Labels: ,

Gentoo EPIA Install (part 5)
(previous entry)

Well, that took somewhere around 2 hours to import and build the kernel from the development-sources package. Now I need to configure the kernel (per chapter 7c of the handbook). There are also notes over at epiawiki.org and building a small MP3 server about configuring that I'll need to investigate (specifically looking at their copy of the make config file which goes in "/usr/src/linux/.config").

I'm going with the manual option, so "cd /usr/src/linux" then "make menuconfig". Anywhere I say "turn ON" means to use the "Y" key to turn an option on as built-in, I'll specifically say MODULE if I loaded the option as a module.

Linux Kernel v2.6.3 Configuration
(C)ode maturity level options
(G)eneral setup
(L)oadable module support
(P)rocessor type and features
--> (P)rocessor family (changed to "CyrixIII/VIA-C3")
--> (S)ymetric multi-processing support (turned this one OFF)
--> M(a)chine Check Exception (turned this OFF)
(P)ower management options (ACPI, APM)
(B)us options (PCI, PCMCIA, EISA< MCA, ISA)
(E)xecutable file formats
(D)evice drivers
--> (P)arallel port support (turned mine OFF)
--> (A)TA/ATAPI/MFM/RLL support (turned ON the VIA82CXXX chipset support as built-in)
--> M(u)lti-device support (turn it ON, set Device mapper support to MODULE, per section 13 of LVM2 guide)
--> N(e)tworking support (look under Ethernet 10/100Mbit, turn OFF the RealTek RTL-8139 option, turn ON the VIA Rhine option, also turn ON the MMIO instead of PIO option)
--> (C)haracter Devices (under the AGP support section, I turned OFF the Intel 440... support option and turned ON the VIA chipset support option, turn ON the Intel/AMD/VIA HW RNG support, )
--> (I)2C support (turn this option ON, then see the rest of this list, heavily reliant on building an MP3 server for thse options)
-->--> (I)2C device interface (turned ON, epiawiki says to turn on, MP3 server article leaves it off)
-->--> (I)2C Algorithms (turn ON bit-banging)
-->--> (I)2C Hardware Bus (turn ON the VIA 82C586B support... this is the old "VIA" option, not sure how to decide between that one and the 82C596/82C686/823x, a.k.a. VIAPRO option though so I flipped a coin)
-->--> (I)2C Hardware Sensors Chip (turn ON the VIA686A option)
-->--> (I)2C Core debugging messages (left alone)
-->--> (I)2C Bus debugging messages (left alone)
-->--> (I)2C Chip debugging messages (left alone)
--> M(u)ltimedia devices (left this alone since I'm not interested in using the video-out features)
(F)ile systems
--> (D)OS/FAT/NT Filesystems (turned ON the built-in NTFS filesystem, including debugging/write support)
--> You may also need to turn on "/dev file system support (OBSOLETE)" under (P)seudo filesystems, also turn on "Automatically mount at boot".
(P)rofiling support
(K)ernel hacking
(S)ecurity options
(C)ryptographic options (turned ON, then turned ON the HMAC, everything else as MODULE)
(L)ibrary routines

Hit "Exit" when done and save your new kernel configuration. Use "make && make modules_install" to build the kernel, then follow the instructions to install the kernel (last part of chapter 7c). I should also go back and do a genkernel (section 7d) and compare it to what I picked. The kernel took under an hour to compile. The last few commands of section 7c:

# cp arch/i386/boot/bzImage /boot/kernel-2.6.3-gentoo
# cp System.map /boot/System.map-2.6.3-gentoo
# cp .config /boot/config-2.6.3-gentoo

(next entry)

Labels: ,

Gentoo EPIA Install (part 4)
(previous blog entry)

Stage 2 compile is finished (step 6d in the handbook). Not bad, emerge system took about 5.5 hours to run on my little VIA EPIA ME6000. Now for step 7, configuring the kernel

Oh heck, I was trying to see what is in the various timezone files and now my screen fonts are screwed. So now I guess I get to find out what happens if I reboot at this point! First thing I did was "passwd" and set the root password to something that I know, then I do a "shutdown -h now" to take the box down immediately. I also changed memory modules (to use an older 512MB ECC PC2100 stick). The motherboard seems to be okay with the ECC memory, not sure if it actually supports the ECC functionality or not.

Well, I got the error message, "Boot failer: Error loading operating system" on the reboot. Guess I still need to boot from the LiveCD in order to get a functional system. Upon reboot, nothing in the /mnt/gentoo tree, which means that I need to remount those folders:

mount /dev//hda2 /mnt/gentoo
mount /dev/hda1 /mnt/gentoo/boot
mount -t proc none /mnt/gentoo/proc

All of the LVM stuff doesn't show up right off the bat when booting from the LiveCD, have to start LVM and then get it running. (Helpful link about activating a LVM set.) The "vgscan" command is more of a FYI command then a required command, the real deal is the "vgchange -ay" command (which loads all available volume groups). The "vg*" items should now show up in the /dev/ directory.

modprobe dm-mod
vgscan
vgchange -ay

mount /dev/vgos/opt /mnt/gentoo/opt
mount /dev/vgos/usr /mnt/gentoo/usr
mount /dev/vgos/var /mnt/gentoo/var
mount /dev/vguser/home /mnt/gentoo/home
mount /dev/vgtmp/tmp /mnt/gentoo/tmp
mount /dev/vgtmp/vartmp /mnt/gentoo/var/tmp

Have to chroot again (I think)

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

Now I should be good to go in order to pickup again with chapter 7. Not sure if I need EST or EST5EDT timezone file (which is what I was attempting to look at the contents of those files for). Ah, "zdump" to the rescue. First off, do a "zdump GMT" to find out what GMT the system thinks it is (e.g. mine says 15:23 at the moment). "zdump EST" reports 10:23 while "zdump EST5EDT" reports a time of 11:23. So... according to time.gov, the eastern seaboard is currently 4 hours behind GMT. Which means I should use EST5EDT to account for daylight savings time. Use "zdump GMT" to verify that your GMT time is still correct after you set the local date.

ln -sf /usr/share/zoneinfo/EST5EDT /etc/localtime
date 04281528
zdump GMT

Picking a kernel is tough... (make sure to read gentoo kernel guide). I could try the epia kernal over at epiawiki.org, but they only have the 2.4 available and 2.6 has been out for a while. I also need to remember to configure the kernel with LVM support (step 13). Initial thinking is that I'm either going to go with development-sources or gs-sources (this is a development server, not a multimedia box). You can get a list of sources by doing "emerge -s sources | less". Also see building an mp3 server for a discussion of some things.

"development-sources" is at 2.6.3 currently. "gentoo-sources" is at 2.4.22-r7. "gs-sources" is at 2.4.25_pre7-r2. "hardened-sources" is at 2.4.24-r1. "selinux-sources" is at 2.4.24-r2.

(flips a coin and goes with "development-sources")

# emerge development-sources

(next entry)

Labels: ,

Gentoo EPIA Install (part 3)
(Previous blog entry)

While I'm not exactly sure when the first phase finished overnight, it was probably around 8-12 hours. I don't see any errors on the screen, so I'm assuming that I'm good to go for the next step in the handbook (chapter 6d).

One of the things I"m not sure about at this stage in the game is how to set the root password or what would happen if a reboot would occur. Poking around on the hard drive failed to turn up the passwd command, although I can see that the root account has already been assigned a password in the shadow password file. I'm guessing that I'd boot the LiveCD again, skip to the part where I chroot from the CD to the hard disk (after mounting all of my volumes by hand), then pickup whereever I left off.

Anyway, not much to this step, and it's another one that takes a while to run:

emerge system

Back in a few... (next entry).

Labels: ,

Tuesday, April 27, 2004
Gentoo EPIA Install (part 2)
Picking up at chapter 5c of the Gentoo Handbook, Using a Stage from the LiveCD. (Also see my previous post where I configured the disks.) Here is where it gets fun... I'm going to try starting with the x86 stage1 file:

cd /mnt/gentoo
tar -xvjpf /mnt/cdrom/stages/stage1-x86-20040218.tar.bz2

That will extract a *whole* bunch of stuff onto your system, pickup with chapter 5d in the handbook. Next, I grabbed the snapshot of the portage folder off the CD-ROM and stuck it in /mnt/gentoo/usr.

tar -xvjf /mnt/cdrom/snapshots/portage-20040223.tar.bz2 -C /mnt/gentoo/usr
mkdir /mnt/gentoo/usr/portage/distfiles
cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/

That populates the /mnt/gentoo/usr/portage tree, also copies all of the source code off of the CD-ROM. Onward to chapter 5e (configuring the compiler). Use "nano -w /mnt/gentoo/etc/make.conf" to pull up the make.conf file. Here's what mine looked like by default:

CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer"
CHOST="i386-pc-linux-gnu"
USE=""
CXXFLAGS="$(CFLAGS)"

Now, supposedly GCC 3.3 allows the use of "-march=C3". You may also want to look at /mnt/gentoo/etc/make.conf.example and poke around the documentation in there. Looks like you use either "-march=XXX" or "-mcpu=XXX", not both at the same time. Doing a bit of googling, looks like the Gentoo 2004.0 universal CD does not come with GCC 3.3.2 so the "-march=C3" won't work. The twiki also indicates a preference for "-Os" instead of the other optimization levels due to the small (64KB) cache on the C3 processor. I'm going to try the following (notice that I changed CHOST as well):

CFLAGS="-Os -march=i586 -m3dnow -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
USE=""
CXXFLAGS="$(CFLAGS)"

Onward to step 6, Installing the Gentoo Base System. The mirrorselect application chose "pair.com" as my mirror (which is fine, that's where I downloaded the ISOs from). Alternate site is datapipe.net. Not going to muck with the default USE flags at the moment, instead I'm going to step right into 6c (progressing from stage1 to stage2). This will take a while (if it works!).

(Next blog entry)

Labels: ,

VIA EPIA Links
Identify Ezra-T/Nehemiah M10000 (finding out if you have the Ezra or Nehemiah CPU core, I already know I have a Samuel 2 by doing a "cat /proc/cpuinfo")

linITX.org forums: Processor family (discusses the -march=C3 flag for GCC)

linITX.org forums: Gentoo on CL6000/Eden (someone with a Samuel 2 who is trying to install Gentoo 2004.0)

Courville.org EPIA M Wiki (lots of links)

Building a mini MP3 server (using gentoo)

Labels:

Gentoo EPIA Install (part 1)
So... time to install Gentoo (also see epiawiki.org - Installing Gentoo on an EPIA system). A good book to have handy during the install is "Linux in a Nutshell", especially for looking up option flags for the various commands.

Popped the boot CD (Universal CD for 2004.0 Gentoo) in and let it boot up. It reports my hardware as a "VIA Samuel 2 599MHz, 64KB cache". It's now sitting at the '#' prompt (er, shell prompt). When I was setting up the BIOS, I changed the shared memory for the video card from 128MB (default) to 32MB. I also disabled things like the audio ports, serial ports, parallel port, leaving only ethernet, firewire and USB.

Looking at the content of /dev/ ("cd /dev", "ls -l hd*"), I see that I have (3) hard disk devices (DVD-ROM counts as a "hd" device) labeled hda, hdc and hdd. "hda" is my primary IDE, master drive (the 7200rpm 80GB). "hdc" is my secondary IDE, master drive (the 5400rpm 120GB). "hdd" is my DVD-ROM. Each of the two hard-drives have 1 partition each (hda1 and hdc1) which I'll be wiping out when I setup Gentoo. Using the "hdparm -i /dev/hda" command will display a quick summary about hda.

Verify networking using "/sbin/ifconfig". My box automatically grabbed a DHCP address from my network's DHCP server so I'm good to go.

Time to partition the drive. I actually planned this out a few days ago, but I might make a few changes. My plan is to use the primary disk for the operating system, and use the secondary disk for any temporary files and swap. I also want to limit the amount of space set aside for the operating system and keep it all in a seperate area from any user-data to make backing up the config with Norton Ghost easier. Things are a bit complicated as I plan on using LVM to manage portions of the disk instead of creating individual partitions for some things. Basic steps that I did (have to exit out of fdisk using the 'w' command to switch drives):

1. Wipe out all partitions on /dev/hda and /dev/hdc
2. Create the boot partition on /dev/hda (primary, active, 64MB)
3. Create the swap partition on /dev/hdc (primary, 2048MB)
4. Create the root partition on /dev/hda (primary, 2048MB)
5. Create LVM partition #1 on /dev/hda (primary, 24576MB)
6. Create 2nd LVM partition on /dev/hda (primary, rest of disk)
7. Create backup root partition on /dev/hdc (primary, 2048MB)
8. Create 1st LVM partition on /dev/hdc (primary, 16384MB)
9. Create 2nd LVM partition on /dev/hdc (primary, rest of disk)

Basically, I have a 2GB root partition, a 2GB swap file, a 2GB backup root on the 2nd disk, 24GB of operating-system space on the primary disk, 16GB of temporary file space on the second disk. User space on disk 1 is around 50GB and around 95GB on disk 2. I plan on having (4) seperate LVM volume groups (vgos, vgtmp, vguser, vgmedia) rather then combining all (4) partitions into a single volume group.

Time to create the file systems, and setup the LVM volume groups. Boot volume (/dev/hda1) is ext2, root (/dev/hda2) and root mirror (/dev/hdc2) are ext3. Swap partition is /dev/hdc1, LVM partitions are vgos (/dev/hda3), vguser (/dev/hdd4), vgtmp (/dev/hdc3) and vgmedia (/dev/hdc4).

mke2fs /dev/hda1
mke2fs -j /dev/hda2
mke2fs -j /dev/hdc2
mkswap /dev/hdc1
swapon /dev/hdc1
pvcreate /dev/hda3 /dev/hda4 /dev/hdc3 /dev/hdc4
vgcreate vgos /dev/hda3
vgcreate vguser /dev/hda4
vgcreate vgtmp /dev/hdc3
vgcreate vgmedia /dev/hdc4

To create the logical volumes inside each volume group, I used the following commands. "vgos" is going to hold /opt (2GB), /usr (4GB), and /var (4GB). "vguser" is going to hold /home (32GB to start). "vgtmp" is holding /tmp (4GB) and /var/tmp (4GB).

lvcreate -L2G -nopt vgos
lvcreate -L4G -nusr vgos
lvcreate -L4G -nvar vgos
lvcreate -L32G -nhome vguser
lvcreate -L4G -ntmp vgtmp
lvcreate -L4G -nvartmp vgtmp

mke2fs -j /dev/vgos/opt
mke2fs -j /dev/vgos/usr
mke2fs -j /dev/vgos/var
mke2fs -j /dev/vguser/home
mke2fs /dev/vgtmp/tmp
mke2fs /dev/vgtmp/vartmp

What fun! Time to mount all of the volumes (no need to mkdir the "root" partition, which is why the first command here is a mount instead of a mkdir):

mount /dev//hda2 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot

Mount the LVM managed volumes:

mkdir /mnt/gentoo/opt
mount /dev/vgos/opt /mnt/gentoo/opt
mkdir /mnt/gentoo/usr
mount /dev/vgos/usr /mnt/gentoo/usr
mkdir /mnt/gentoo/var
mount /dev/vgos/var /mnt/gentoo/var
mkdir /mnt/gentoo/home
mount /dev/vguser/home /mnt/gentoo/home

Mounting the two temporary folders requires special permissions to be set (per chapter 4e of the handbook).

mkdir /mnt/gentoo/tmp
mount /dev/vgtmp/tmp /mnt/gentoo/tmp
chmod 1777 /mnt/gentoo/tmp

mkdir /mnt/gentoo/var/tmp
mount /dev/vgtmp/vartmp /mnt/gentoo/var/tmp
chmod 1777 /mnt/gentoo/var/tmp

And the "proc" file system (last bit of chapter 4e in the handbook)

mkdir /mnt/gentoo/proc
mount -t proc none /mnt/gentoo/proc

Taking a break for a bit. (continued in next post)

Labels: ,

VIA EPIA Gentoo Build
Got the VIA EPIA ME6000 system today. Only gltich off the bat was that the first 7200rpm drive that I used draws slightly too much power which resulted in the system refusing to power-up. (Hooking up an external 300W ATX power-supply proved that the components work fine.) Fortunately, I had another 7200rpm laying around with lower power requirements. (The problem drive was 500mA 3V 700mA 5V, the replacement drive is only 300mA 3V 500mA 5V. Oddly, both drives are 80GB IBM DeskStars.) A 5400rpm drive would've probably drawn even less power. So my config at the moment (unless I change drives again):

IDE0/PRI: 80GB IBM DeskStar 7200rpm
IDE0/SEC: (nothing)
IDE1/PRI: 120GB Western Digital 5400rpm
IDE1/SEC: DVD-ROM

No PCI card installed, and a 3.5" floppy-drive up front.

Now, the 120GB Western Digital has a nasty bearing whine at the moment, so I think I'll be swapping that out pretty quick for a better drive. It's definitely the loudest thing in the case, and very annoying. Haven't decided if I'll replace the 7200rpm drive with a 5400 as well (probably will, if only for power/heat reasons). The new 160GB 5400rpm drive isn't slated to arrive until Thursday, which is why things are as they are for the moment.

The Morex Venus 668 case isn't a bad little case, a bit larger then I expected. Hold a pair of paperback books up, spine-to-spine and you'll get an idea of how big the front of it is. Installing the components wasn't too bad, but it's best if you remove the power-supply during the initial installation and work from the bottom-up. A short (4") phillips-head screwdriver might have been easier to use then the regular sized ratchet screwdriver that I use.

Labels: ,