Distributed Computing Linux
Distributed Computing
Linux (DCLinux) is a small 512MB linux distribution that started as a concept on a DC forum. It's based on stripped-down Debian Lenny, and has BOINC client installed. Its main purpose is to ease the setup of a dedicated DC machine (often diskless, barebones, case-less computers bought solely for the purpose of crunching DC projects) to participate in
distributed computing projects. It can also be used to create big DC farms for hardcore DC fanatics.
Here are some advantages of using DCLinux:
- Easy to install. There is no hassle with configuration files, network set-up, or any hardware changes
to your DC box.
- Requires only 512MB of disk space, so you can reuse your old USB stick or buy a cheap new one (2GB
costs less than $10 these days).
- Has BOINC client installed on it and configured to run out-of-the-box.
- Provides
SSH daemon (by default turned off)
- Completely secure. By default, there are no daemons running, except BOINC.
-
During system startup /var directory is copied to ramdisk, and then synchronized between ramdisk and filesystem every 6 hours
and on system shutdown. This saves USB write cycles which is important as most USB flash drives have limited write operations.
- Has x86_64 kernel. It comes handy for those systems where main OS
is 32 bit, but you want to use the machine for crunching at night and take advantage of 64-bit CPU.
- It can spin down your hard drives to lower power consumption, heat and noise.
- It is Debian-based so you can apt-get anything you want and fine-tune
the system according to your needs.
Changelog
v0.2 - Jan
12 2009
- Added package for X86 architectures
- Added hdparm package for spinning down hard disks - Improved Grub
boot menu options
Download
The
x86 version works on x86_64 architecture too, but doesn't take advantage of the 64bit extensions of new CPUs.
Installation
& Configuration
On Linux:
1.
Connect your USB stick (at least 512MB) to your existing Unix machine.
2.
Check how your USB stick was recognized by the system:
# dmesg (in this example you can see my USB drive was recognized as /dev/sdb) 3.
Use zcat command to write image to the USB stick (NOTE: this will destroy
all the data on the USB stick!!!)
# zcat dcl-0.2.img.gz
> /dev/sdb
On Windows:
1. Unpack dclinux
using WinZip. You should get the image file that is around 512MB big.
3. Connect your USB stick to your
computer.
4. Start WinImage and choose : Disk ->
Restore Virtual Hard Disk image on physical drive...
5.
Choose your USB stick from the list that will appear.
6.
Choose the 512MB image file that you unzipped in step 1.
7.
It will write the whole image to the USB stick. (NOTE: this will destroy all the data on the USB stick!!!)
Plug
your USB flash drive into your computer and change the BIOS settings so that the system will be booted from your USB stick.
If your USB drive boots correctly, you will see a Grub menu (with blue
background screen). There are many boot options. Only one of them will work (probably first one if you don't have any
hard drives in your machine). Just keep trying them until one of them boots correctly (it will remember it and later boot
from this one automatically). On slow computers it may sometimes take a while to boot (around one to two minutes). The system
may look like it got stuck, but just keep waiting at least one minute before you restart. You may also see an error like "pcspkr
driver error" or similar. Ignore it and just wait till the system boots.
Upon system's first
boot, you will be asked to change root password, decide if you want to start sshd (by default it is turned off), and then
configure IP address of your BOINC management host (and password). From now on, you can connect to your new DC node using
BOINC manager on your main computer.
Useful Tips and Hints
In order to mount the image file directly in your Unix:
$ gzip -d dcl-0.2.img.gz
# mount -o loop,offset=32256 dcl-0.1.img
/mnt
In
order to manually synchronize ramdisk with filesystem on USB stick:
#
/etc/init.d/var-sync.sh sync
TODO
- Add clients for more DC
projects, for example dnetc.
- Detect and spin-down
existing hard drives upon system startup.
- Provide
an easy way to take advantage of >512MB USB flash drives.