Fedora Core 6 Upgrade (Part 5: mdadm and X-10)

Filed under: — Stormwind @ 2:56 am

I think this will be the last post about the upgrade of wumple.com to Fedora Core 6 from Fedora Core 2.

This post will cover RAID array monitoring with mdadm, and X-10 kernel module installation:

RAID array monitoring with mdadm:

This is a short one: Linux software RAID in Fedora Core 6 uses the newer mdadm package to manage and monitor the multidisk (md) array.  This allows one to react quickly to a disk failure in the RAID array and replace the hard drive if necessary.

To receive emails when an event occurs on the RAID array (such as when a hard drive is dropped from the array due to a problem, which usually requires replacing the drive) add the following to /etc/mdadm.conf:


Make sure the email for the root account (or whatever email address listed) is read frequently (or forwarded to such a user) so hard disk failures can be acted upon quickly.

mdadm does everything else I wanted it  to automatically so I did not have to edit the config file further.

X-10 control:

I had to rebuild the kernel module for my Smarthome X-10 PowerLinc USB (x10.plusb) controller so Misterhouse could continue home automation tasks.  Otherwise our goldfish would be very confused when the tank light failed to turn on in the morning.

This required:

  1. Downloading the latest version of the WiSH x10dev-2 kernel module source
  2. "mkdir -p /etc/udev/devices" since the directory is missing so WiSH x10dev-2 will also create X10 devices files in /etc/udev/devices.  udev recreates /dev every boot and files created in /dev will be erased, but it will also copy all files in /etc/udev/devices into /dev.  If you forget this step until later, you will need to remove /dev/x10 rerun makedev.sh to create the devices in /etc/udev/devices.
  3. "yum install kernel-devel.i586" to get the i586 version of kernel-devel (which includes kernel headers required to compile kernel modules)  to match my kernel.  I had to specify the i586 arch otherwise it would install the i686 version for some reason.
  4. Removing the "#include " in dev/dev.c since linux/config.h is now a deprecated kernel header file
  5. "make" followed by "sudo make install"
  6. "sudo /sbin/depmod" since make install fails to run it because /sbin is not in the shell search PATH by default.
  7. "/etc/rc.d/init.d/x10.plusb start" to start the daemon and "/sbin/chkconfig x10.plusb on" so it starts automatically on system boot.

X-10 was back in business after changing /dev/x10/* to be writable by my x10 group.

However Misterhouse was not.  It would crash whenever it tried to execute a timed trigger (set via the tie_time() function) on a X10_Appliance object.  To fix this problem I did the following:

  1. Upgraded MisterHouse to version 2.103 using the RPM misterhouse-2.103-1.noarch.rpm available at http://misterhouse.sourceforge.net/download.html
  2. To fix the "Error, could not find file in Code_Dirs: trigger_code.pl" errors from MisterHouse I had to create a symbolic link in /usr/local/mh/code/common to ../../lib/trigger_code.pl .  There might be a cleaner way to fix this error in a config file (maybe adding a directory to the code_dirs) but I don’t know.

After these changes MisterHouse was functioning again.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

|| RSS 2.0 || Comments RSS 2.0 || XHTML || Powered by WordPress ||