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.
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.
- Downloading the latest version of the WiSH x10dev-2 kernel module source
- "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.
- "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.
- Removing the "#include " in dev/dev.c since linux/config.h is now a deprecated kernel header file
- "make" followed by "sudo make install"
- "sudo /sbin/depmod" since make install fails to run it because /sbin is not in the shell search PATH by default.
- "/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:
- Upgraded MisterHouse to version 2.103 using the RPM misterhouse-2.103-1.noarch.rpm available at http://misterhouse.sourceforge.net/download.html
- 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.