The first piece I had made I haven't take off since I bought it and often gets commented on.
You can get your own and browse his work here Thomas Nayler

The dreambox was simple to setup out of the box and occupied the same space under my tv that my sky digibox had done plus an extra cable to give an internet connection via my sky netgear router. Upon scanning for channels I realised I had an issue as by default it doesn't have any softcams which emulate provider encryption services so you can't use your sky card or someone else sky card id(not currently possible for NDS the system sky uses but possible for other providers) or share their sky card over the internet for example to decrypt the channels you usually get and some you don't usually get. I chose to go with the softcam CCcam but the Enigma image that comes on the dm600pvr is a little fiddly to add software and manage softcams with and turns it more into linux sysadmin work so to allow everyone in the house to have a play I replace it with the latest Gemini image which was 4.40.
Upgrading the image wasn't the simplest of process not having windows to hand or a working serial port and hearing tales of woe from people trying to use usb->serial cables I googled and found that if you fix your dreambox IP address on your DHCP server so it's now static then telnet to it and type the following:Just noticed CentOS5 has a man page bug and may not be the only disto to have it as when I google for the same man page I get similar results.
Compare man mkfs.ext3 to http://man-wiki.net/index.php/8:mkfs.ext3
You will notice the following is missing:
-I inode-size
Specify the inode size. The default inode-size used by mke2fs is 128. inode-size can be 128, 256, 512 or
1024. This value generally shouldn't be changed!
It almost led me to recreate a filesystem with the wrong option as I did not believe GlusterFS docs would be more complete than my current distros.
What an annoying inflexible tool! It reminds me of Windows in it's methodology e.g. abstract everything from the user so that he doesn't have to know anything, hide real problems from the user so he doesn't know whats broken and then won't worry, stop the user from being able to manually setup anything so he can never fix any problems that occur from the automated fashion the installer uses. What happened to the rescue shell that used to start back in the day giving you some flexibility? What happened to the option of loading another driver at install time from supplemental CD/DVD or the Internet? What happened to the ability to partition using fdisk or something seperate from the anaconda script?
IMHO all this type of thing breeds is a new type of Linux admin very similar to a Windows admin of late who can only follow others step by step work and heavily reliant on Wizards and management GUIs while pissing off the experience Open Source community members who are forced to use distributions like these because of their support structure and market share.
#!/usr/local/bin/bash
# Description: Stolen Laptop data Recovery Script (untested)
# Author: alistar@phrostbyte.dhis.org
# Date: 2008/07/10 21:16 BST
# Usage: Copy to /usr/local/bin/stolen.sh and crontab with the following:
# */10 * * * * /usr/local/bin/stolen.sh >/dev/null 2>&1
# Requirements: You must have wget, tcping nc installed and in the crontab users path
#
# Variables:
# Your home directory you want backed up. Remember the crontab user must have read rights to this directory.
home="/home/alistar"
# The host you want to backup your data too and are able to run nc exposed to the internet on.
backuphost="phrostbyte.dhis.org"
# The file you need to create to enable the recovery script. Just echo 1 to this.
stolenfile="http://phrostbyte.dhis.org/~alistar/stolen.html"
# Your email address. I personally use one that SMSs my phone or set a rule to SMS me on my mail server
email="alistar@phrostbyte.dhis.org"
# The mails themselves. You may customise these if you so wish
subject='Your STOLEN Laptop is Online!'
ip=`wget -q http://www.biomedcentral.com/whatsmyip.asp -o /dev/null -O - | grep '<b>' | cut -d '>' -f3 | cut -d '<' -f1`
body="
Your stolen laptop is now online at $ip\n
\n
Please logon to $backuphost and run 'nc -k -l 31337 > home.tar.bz2'\n
\n
"
subject1='Your STOLEN Laptop Backup is now Complete!'
body1="
You may now remove $stolenfile and quit your 'nc -l 31337 > home.tar.bz2 command'\n
\n
"
###
echo -e $body > /var/tmp/body.txt
whois $ip >> /var/tmp/body.txt
echo -e $body1 > /var/tmp/body1.txt
wget -q $stolenfile -O /dev/null
if [ $? -eq 0 ]
then
if [ -f /var/tmp/myip ]
then
myip=`cat /var/tmp/myip`
else
myip="0"
fi
if [ $ip != $myip ]
then
mail -s "$subject" $email < /var/tmp/body.txt
echo $ip > /var/tmp/myip
fi
tcping $backuphost 31337
if [ $? -eq 0 ]
then
ps -ax| grep "nc $backuphost 31337" | grep -v grep
if [ $? -eq 1 ]
then
if [ ! -f /var/tmp/backupcomplete ]
then
tar -cjvf - $home | nc $backuphost 31337
if [ $? -eq 0 ]
then
mail -s "$subject1" $email < /var/tmp/body1.txt
echo 1 > /var/tmp/backupcomplete
fi
fi
fi
fi
else
if [ -f /var/tmp/backupcomplete ]
then
rm /var/tmp/backupcomplete
fi
if [ -f /var/tmp/myip ]
then
rm /var/tmp/myip
fi
if [ -f /var/tmp/body.txt ]
then
rm /var/tmp/body.txt
fi
if [ -f /var/tmp/body1.txt ]
then
rm /var/tmp/body1.txt
fi
fi
#NTP is needed on every node in the cluster sync'd to the same place of course
yum -y install ntp
#Needed for gfs clustering
yum -y groupinstall Clustering
#GFS kernel module and FS utils
yum -y install gfs-kmod
yum -y install gfs-utils
#Needed to get the stupid system-config-cluster running for configuration of the cluster
yum -y install xorg-x11-xauth xorg-x11-fonts-base xorg-x11-fonts-Type1
#NTP is needed on every node in the cluster sync'd to the same place of course
chkconfig ntpd on
service ntpd start
#Stop updatedb trawling our gfs mounts
echo 'PRUNEFS = "auto afs iso9660 sfs udf"
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/spool/cups /var/spool/squid /var/tmp /cvp /mnt/cvp /media"' > /etc/updatedb.conf
# Create the filesystem with 125 journals(nodes) clustername coull and fs name cvp on /dev/hdb
gfs_mkfs -p lock_dlm -t coull:cvp -j 125 /dev/hdb
#config /etc/cluster/cluster.conf using system-config-cluster by throwing the x connection back to your machine via SSH
#add cluster hosts to /etc/hosts not DNS as this introduces a point of failure and some slowdown.
#Start clustering and GFS services
service cman start
service clvmd start
service gfs start
#Mount SAN device which should be a clv (centralised logical volume)
mount -t gfs /dev/san1/lvol0 /san -o noatime
# Memcache anyone? Not sure what the options are for yet as I've never set it up before
/usr/bin/memcached -d -m 512 -l 192.168.2.100 -p 11211 -u nobody