Mon Dec 25 18:43:54 2006
Merry christmas!
As with a few years ago, if you are offended by this goodwill, good!
Mon Dec 25 18:42:10 2006
Ok so now everyone participating in Secret Satan has been mailed, and everyone should have both sent and received a gift. Let me know (via /msg on IRC, or email, whatever) if something is not right, and then I shall reveal who got who!
Wed Dec 20 14:31:56 2006
I'd previously bought a cheap USB NIC on Ebay, a "KH-886 USB NIC" which turned out not to be supported by Linux 2.6. The manufacturer (or, the manufacturer of the device this is cloned from, a Davicom DM9601) do provide a tarball of 2.4 drivers.
Yesterday I felt like doing something completely different for a change, so I began work porting the driver to 2.6.
It's been a long time since I'd written any kernel code, and I've never touched USB or network stuff before, so this was an interesting experience. It's taken a few hours to port it to 2.6 but now my copy compiles without warnings. It's not usable yet, though.
Porting device drivers to the 2.6 kernel at LWN.net was invaluable for this work, but even this resource (prepared in the early 2.6 days) has lots of holes. Often I had to search around for a specific patch on LKML which explained why a given function had been removed (or whatever).
Whilst looking around for what the
MODULE_PARM macro had been replaced
with, I came across the the following
amusing quote from kernel hacker Rusty Russell:
Regarding module_param(): MODULE_PARM() will certainly stay throughout the 2.6 series, so no need to change existing code just yet.
You can read more about my progress here.
Sat Dec 2 16:36:01 2006
If anyone is using two SATA drives in their thecus
n2100, I'd love to know what sort-of temperatures
you are getting for your disks. Use
smartctl in the
smartmontools package and the following
snippet to find out (the number in the last column):
smartctl -d ata -A /dev/sda | grep -i temp
Use /dev/sdb for the second disk.
MY WDC4000KS drives are getting up to 60 degrees celcius, which is outside of the operating conditions for the drive :(
Come to think of it, I'd like to know what results you get with just one disk, too, and if you are employing anything extra to cool the device, above the one fan you get by default.
I'm Jon on irc.freenode.net or irc.oftc.net.
Mon Nov 27 15:39:12 2006
Yesterday I installed debian on my thecus n2100. Thanks to Martin Michlmayr for putting up with my neurotic questions during this process. Normally, this would take about 2 hours. Unfortunately I hit a bug in the r8169 network driver (or the hardware) which made the process excruciatingly slow: over 8 hours.
I did delay the process somewhat by going for a stable installation first time through. You need to go for etch, for anyone following along at home.
I have two hard discs in this box and I wanted to use RAID-1 for the root filesystem. Actually, the two discs were already in a linux RAID-1 set, with superblocks, an ext3 filesystem and some files, from when I was using the default thecus firmware. The following approach lets you setup RAID in the installer and preserve any existing data. You will need to have at least one connection to the installer running a shell, in addition to the one running the installer.
When you enter the disc partitioner stage, you will
need to fetch the udeb which gives you the md
module. For the current thecus installer image,
that's
md-modules-2.6.18-3-iop32x-di_1.5_arm.udeb.
wget it from a mirror (path
pool/main/l/linux-kernel-di-arm-2.6)
and udpkg -i it. Then restart the
partitioner.
To preserve the contents of the RAID-1, you might be able to select "don't wipe this partition", and just make sure nothing on it would clash with the directories that Debian will create. I didn't take this approach.
Instead, you can drop one of the discs from the mirror, continue with the installation as normal, copy the data back across after, and re-add the disc to the mirror set. Before you select your filesystems in the partitioner:
# mdadm --fail /dev/md0 /dev/sdb2# mdadm --remove /dev/md0 /dev/sdb2
Now feel free to let the installer stick a new filesystem on the RAID set, and install the base system etc.
Once the thing has booted:
# mount /dev/sdb2 /mnt# cp -a /mnt /data# umount /mnt# mdadm --add /dev/md0 /dev/sdb2
Periodically check on the rebuild status with
mdadm -D /dev/md0.
One other thing I would strongly advise is getting the installer's debconf priority to medium or lower before you get the base system installed, so you can skip the bootloader / flashing stage.
Update: I've clarified the following paragraphs.
At present, the default etch kernel is 2.6.17. The network device in the Thecus is not supported by this kernel, so you have to manually install a particular 2.6.18 kernel prior to rebooting, or you will not be able to communicate with the machine once it boots.
Martin makes this very clear in his instructions. However, if you have no experience using a d-i which flashes the kernel (as appose to say, the bootloader prompts you get when doing an x86 install, for example) you may not be aware that by default, the flash stage proceeds without prompts.
That means that if you do not prevent it from doing so, there will be a window between the installer flashing 2.6.17, and you manually installing 2.6.18, where the thecus will be in an unbootable state, should you suffer a power cut or similar problem.
In my case, I left the base system being unpacked overnight (due to the fact the network was so slow). So, that window was several hours wide.
This is only a temporary situation, as the release team plan to have 2.6.18 available for Etch, and the patches for the Thecus hardware are steadily working their way into the mainline kernel.