Chianti installation history

Summary


On 1 April 2005 I booted this Gigabyte K8NS system with the sarge installer

The NICs are both working -- and both are gigabyte NICs!
The SATA drives are working -- I put jfs on one, xfs on another, and ext2 on the third

I updated the kernel to 2.6.12-rc1 -- needed for sata_nv and forcedeth

Installation history


2006-11-18 -- sensors 
  • Installed hddtemp with suidroot and run every 3600 seconds as daemon; don't listen on any ports (what's the function of that?)
  • Edited /etc/sensors.conf for the Gigabyte K8NSC-939 boards (and move a fan for Chianti's Gigabyte K8NS Ultra-939)
  • Added "sensors -s" (to load the limit settings in /etc/sensors.conf) to /etc/init.d/sensord
  • Edited /etc/default/sensord to poll once an hour rather than every half hour
  • Installed and configured ksensors 
To pick out a report from syslog for a sensor with a name that starts with an odd sign, use quotes and a backslash:
grep "\-5V" syslog
2006-11-18 -- wake-on-LAN
The archive OSX machine goes to sleep and becomes inaccessible. I configured it to wake up remotely -- OSX calls it "Wake for Ethernet network administrator access" -- and then used the Debian package wakeonlan:
wakeonlan -i 128.97.185.255 <MAC address>
-- worked on the first attempt! I should figure out how to wake up the other machines from powerdown; the same may work.

2006-02-19 -- smartmontools

Upgraded to xorg's 6.9 release and removed several packages that didn't seem required.  Defined /dev/hda in /etc/default/smartmontools -- it protested when I tried to add /dev/sda, as this requires at least 2.6.15.  The machine has been very steady, it reboots itself after a powerdown, and the grab is working well.

The tree command now works correctly:
# tree /dev/disk
/dev/disk
|-- by-id
|   |-- ata-Maxtor_7B250R0_B61NS9FH -> ../../hda
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part1 -> ../../hda1
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part2 -> ../../hda2
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part3 -> ../../hda3
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part4 -> ../../hda4
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part5 -> ../../hda5
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part6 -> ../../hda6
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part7 -> ../../hda7
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part8 -> ../../hda8
|   |-- scsi-SATA_ST3400832AS_5NF14TVY -> ../../sda
|   |-- scsi-SATA_ST3400832AS_5NF14TVY-part1 -> ../../sda1
|   |-- scsi-SATA_ST3400832AS_5NF14TW8 -> ../../sdb
|   `-- scsi-SATA_ST3400832AS_5NF14TW8-part1 -> ../../sdb1
Note the disk ID is now displayed correctly -- works on chi and trevi, likely thanks to an udev update.

2005-12-22 -- use fstab to give drives a persistent mount point

Since I cannot use udev (the kernel has devfs built-in), can I mount the drives using their label names? Yes!! In /etc/fstab,
LABEL=tv3   /tv3   xfs   noauto,defaults,user,exec 0  0
LABEL=tv4   /tv4   xfs   noauto,defaults,user,exec 0  0
LABEL=tv5   /tv5   xfs   auto,defaults,user,exec   0  0
LABEL=tv6   /tv6   xfs   noauto,defaults,user,exec 0  0
And it works. That was simple.  This might even work for an external USB drive? It turns out you can add a label on an external drive:
# tune2fs -L tv0 /dev/sdc1
Confirm it works (excerpt):
# tune2fs -l /dev/sdc1
Filesystem volume name:   tv0
Filesystem UUID:          741a8b07-da35-4b96-8769-c3acd6d09e76
Promising.  In fact this works -- you can plug in the external drive and mount it with a simple "mount /tv0". As other drives are placed in external enclosures, you'll be able to mount them with the name of their label, without worrying about what device it is.  Very elegant.

This meets my needs better than udev, so keep it this way.

2005-12-22: use udev to give drives a persistent device node

udev has problems finding the ID of SATA drives, see bug report. This command will display the ID:
$ scsi_id -g -p0x80 -x -s /block/sda
ID_VENDOR=ATA
ID_MODEL=ST3400832AS
ID_REVISION=3.03
ID_SERIAL=SATA_ST3400832AS_5NF14TVY
ID_TYPE=disk
ID_BUS=scsi

Place some of those parameters into scsi_id's default configuration file /etc/scsi_id.config (create it if it doesn't exist) --
# /etc/scsi_id.config
# Default configuration file for the /sbin/scsi_id command (udev)
# Created by FFS on 22 December 2005

# Basic defaults
options="-g"

# Make SATA drives report sensible serial numbers
# instead of "Linux_ATA-SCSI_simulator"
vendor="ATA", options="-p 0x80"

You'll now get the right response from the simpler command:
# scsi_id -x -s /block/sda
ID_VENDOR=ATA
ID_MODEL=ST3400832AS
ID_REVISION=3.03
ID_SERIAL=SATA_ST3400832AS_5NF14TVY
ID_TYPE=disk
ID_BUS=scsi

Or add this udev rule:
KERNEL=="sd*[!0-9]", ENV{ID_SERIAL}=="*_Linux_ATA-SCSI_simulator",
IMPORT="/sbin/scsi_id -g -x -s %p -d %N -p 0x80"

The tree command should supposedly display correctly now (cf. discussion), but it doesn't:

$ tree /dev/disk
/dev/disk
|-- by-id
|   |-- ata-Maxtor_7B250R0_B61NS9FH -> ../../hda
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part1 -> ../../hda1
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part2 -> ../../hda2
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part3 -> ../../hda3
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part4 -> ../../hda4
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part5 -> ../../hda5
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part6 -> ../../hda6
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part7 -> ../../hda7
|   |-- ata-Maxtor_7B250R0_B61NS9FH-part8 -> ../../hda8
|   |-- scsi-0ATA_ST3400832AS_Linux_ATA-SCSI_simulator -> ../../sda
|   `-- scsi-0ATA_ST3400832AS_Linux_ATA-SCSI_simulator-part1 -> ../../sda1
|-- by-label
|   |-- tv5 -> ../../sda1
|   |-- tv6 -> ../../sdb1
|   `-- tvspare -> ../../hda8
Note that it does a good job with the labels, on the other hand.
When you get to the USB drives, try this:
# usb_id -x /sys/block/sde
However, since the current kernel has devfs built-in (by mistake), udev won't work, so I rebuilt the kernel, removing devfs, on 9 Feb 2006, and it caused no problems. On the other hand, in the meantime I'd figured out labels is an even better way to mount the drives (see 2005-12-22 above).

2005-12-21: installed two 400GB drives
  • removed tv1 and tv2 (you need enclosures for them and also tv3 and tv4, so get four SATA enclosures
  • added two new 400GB Seagate drives on the sata_nv ports (tv5 and tv6
  • swapped the DVD-ROM for a CDR
  • moved the contents of /tvspare to the new tv5
2005-06-24: installed smartmontools
  • since they don't support SATA drives yet, I deactivated it
  • see Hard drives for details
2005-06-03: installed a new 250GB PATA drive as /dev/hda
  • mkdir newpath
  • cd oldpath
  • tar -cSpf - . | tar -xvSpf - -C /newpath
I included /dev in this procedure, but not /tmp, /sys, and /proc
  • chmod 1777 /tmp
  • chroot'ed into the new root
  • changed /etc/fstab and /boot/grub/menu.lst
I set root to /dev/hda2 and the kernel to /vmlinuz rather than /boot/vmlinuz
  • deleted  /boot/grub/device.map
  • ran grub-install /dev/hda
I created the /sys and /proc directories -- they populate themselves on boot
  • Finally I changed the boot order in the BIOS
  • The transfer of the OS worked flawlessly -- amazing stuff
Created another 50GB partition for the database (ext2)
  • Keep all text files on it
  • Keep duplicates with the footage
Done in June 2005 (summary of changes)
  • Added a fourth SATA, a MaxLine II 250GB
    • This uses up all available onboard SATA slots
    • Formatted it XFS
    • Runs faster on sata_sil than the Seagate drives
    • /dev/sda is the sata_sil chip with the crippled Seagate drive
    • Timing buffered reads 21MB/sec vs 61MB/sec for sata_nv chip
    • Kept the current set of captured files on /dev/sda
    • Switched capture to the new Maxtor drive
  • Added the first PATA, a MaxLine III 250GB (ordered May 2005)
    • Master on the IDE0 channel
    • The DVD player is on the slave port of the IDE0 channel
2005-05-13: added three FlyVideo3000FM cards
  • I removed two of the three pcHDTV3000 cards a while back,
    since there is no Linux driver to capture closed captioning from them,
    and the color of the captured image is poor
  • I added first one FlyVideo3000FM card and then two more,
    and discovered that I can indeed capture from three cards simultaneously
2005-04-05: sound working
  • I tested sound with headphones and it works
  • I tested sound from pcHDTV and found how the patch cable needed to be plugged in
  • I get sound from TV, though only one card at a time
  • I'm not able to record sound, I can only hear it when watching
Capturing now works with transcode, especially without sound, using
transcode -x v4l2,null -M 2 -i /dev/video0 -y ffmpeg -F msmpeg4v2 -c 00:01:00 -g 640x480 -o clip.avi
All three at once still leaves 20% free CPU! But that is without sound.

2005-04-03: three simultaneous channels

More good news: I tested xawtv on three cards simultaneously over the network and it has no problems -- this is video only, no audio.

2005-04-02: pcHDTV

The good news: the drivers are in the 2.6.12-rc1 kernel, and work out of the box. The bad news: recording fails miserably for reasons I don't yet understand -- mencoder segfaults. I downloaded some firmware:
mkdir -p /usr/lib/hotplug/firmware
cd /usr/lib/hotplug
wget http://pchdtv.com/downloads/firmware.tar.gz
tar zxf firmware.tar.gz
rm -f firmware.tar.gz
I can't tell if it made a difference -- it may affect only digital tv.

2005-04-01: NICs

Debian-installer had problems with the NIC; later I discovered it loaded the forcedeth driver, which blocked the operation of the sk98lin driver.

The board has the chips for the forcedeth, but they're not used; instead, the Marvell Yukon needs the sk98lin.  I renamed the forcedeth.ko module in /lib/modules to prevent it from loading and had no further problems with the NICs. I haven't yet tested if both work. After looking further into this -- see for instance this picture of what the BIOS sees at boot -- I discovered the ICS1883 is simply the nforce3 NIC, which takes the forcedeth driver. In speedtests it's as fast as the Yukon; indeed it's a gigabyte card! Happy days.

2005-04-01: SATA drives

I thought I had three Seagate 200GB SATA drives on the Silicon Image 3512 SATA Controller, but it turned out I have just two -- the other two run off the nforce3 SATA controller.


 

top