HomeAbout MeSecurityDCLinuxEee PCMusic3D GraphicsRobotsContact Me


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.
v0.2 - Jan 12 2009
- Added package for X86 architectures
- Added hdparm package for spinning down hard disks
- Improved Grub boot menu options
dcl-0.2.amd64.img.gz  (120MB)   (X86_64 only)
dcl-0.2.i686.img.gz  (120MB)   (X86)
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.
2. Install WinImage (it's free).
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
- 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.