Mini PC Linux and Seti@home

...for SETI@home

by Jon Drane

What's a mini Linux?
It is a distribution of the Linux kernel and some utilities which comprise a usable operating system suitable for processing SETI@home work units. It unpacks its file system into memory so it will run on systems without a hard disk. It is a way to use those old PCs that we all have lying around as dedicated work unit crunchers.
Audience:
Anyone interested in running seti@home client software on a PC which is unsuitable for one of the conventional seti@home client platforms (i.e. Windows 98, Windows NT, big Linux, etc.) due to lack of memory, little hard disk space (or no hard disk at all!).

No great level of technical expertise is required, but confidence with a command line interface the like MS-DOS prompt in Windows NT or Windows 98 would help, as would familiarity with the commandline SETI@home client. If you know what 'boot from a floppy' means, this is for you. If you want to learn more about Unix or Linx, check any of the many available books or look for resources on the web.

Minimum hardware requirements:
A PC with 386 or better CPU, VGA video adapter, monitor , keyboard, 3.5" floppy disk drive and 8 Mb RAM.
A separate PC running the SETI@home client with connectivity to the SETI@home servers is needed to send and receive data files.
Hardware requirements to crunch a Seti@home WU before it's timed out and sent to someone else:
As above with approx. 486DX/33Mhz CPU. The DX designation says that the processor contains a math coprocessor. Without a coprocessor, the math required would occupy an unusable time frame. SX class processors are not useful with the  SETI@home client.
Software requirements:
A mini linux - tomsrtbt V1.7.185 is discussed here.
A suitable  SETI@home  client [i386-pc-linux-gnu-gnulibc1-static] from the SETI@home website.
Other requirements:
3.5" floppy disks to transfer files to another system with SETI@home client software to fetch the units and send the results back. tomsrtbt contains some IP  and IP/serial  networking functionality  - but I can't get it working. Any feedback on successful connections to the Berkeley servers will be appreciated.
Installation:
Read the tomsrtbt FAQ for instructions on making the bootable floppy. Pay particular attention to the warning about the remote (but real) danger that creating the bootable floppy could damage your floppy drive.

Boot the PC off the floppy, several prompts will appear but you not need to enter anything. The system will boot to a default setup (US kbd).

Getting started with tomsrtbt:
At the login prompt, type
root[enter]
At the password prompt, type the default password (it is helpfully displayed).
xxxx[enter]
You should now be logged in and see a hash (#) prompt

You may remove the boot floppy. Linux is entirely memory resident.

There are 4 virtual terminals available in tomsrtbt, to switch between them hold down [alt] and press [f1]..[f4]. the default terminal is f1.. Linux multitasking multi-user system.

Command history and editing is available with the up, down, left and right arrow keys.

To read the manual for a command (e.g. ls) type

man ls
A basic introduction to some commands in tomsrtbt:
ls          list files and directories, cf DIR in DOS]
cd         change directory - directories are delimited by '/index.html' characters - cd with no directory specified cd's to your 'home' directory
pwd      print working directory]
mv        move a file (or directory), a bit like DOS command REN but you can also move a file or directory into a different directory]
mkdir      make a directory]
df             disk free - show mounted filesystem, space used and space free for each]
mount      mount (make available) a file system]
umount    unmount a file system, you must ALWAYS umount a mounted floppy drive before changing the disk]
man         manual - show helpful information about a command, e.g.. man ls]
tar            create or unpack files from a un*x standard archive file - called a tar file - the unix clients come in tar format
Run the SETI@home client:
 
You will need two DOS format floppies.
Copy the Linux SETI@home tar file downloaded from SETI@home website onto the first DOS format floppy.

Download a work unit from SETI@home using the same version of client as the one you intend to use on
linux. (eg 2.4 text client for WinNT)

Use the -stop_after_xfer option and copy ALL the *.sah files to the second DOS format floppy.

Boot the tomsrtbt floppy.
Login to tomsrtbt as root.
Insert a DOS format floppy.
Type the following commands

mount  -t  vfat  /dev/fd0  /mnt
mkdir /tmp/seti
cp /mnt/* /tmp/seti
(This copies the client and *.sah files to the memory resident /tmp filesystem)
cd /tmp/seti
./setiathome -stop_after_process
The ./ characters specify the current directory - required in linux and un*x, (unlike DOS).

To monitor the client progress, login to another virtual terminal (Alt+f2).

cd /tmp/seti
head state.sah
The number after 'prog=' goes from 0.00 to about 0.97 as the work unit is processed.
Backing up the progress made by SETI@home:
It is recommended that you start a task in another virtual terminal (alt+f3) to write the *.sah files back to floppy periodically - to reduce the amount of work lost if the system goes down.
while true
do
sleep 900
cp /tmp/seti/*.sah  /mnt
done
This gives a backup period period of 900 seconds (15 mins) between backups of the data files.
To restart the current workunit :
reboot tomsrtbt and login as root. Insert the work floppy (containing setiathome executable and *.sah files)
mount -t vfat /dev/fd0 /mnt
and proceed as in the section Run the SETI@home client above, remembering also to start the backup process in another virtual terminal.
To return the completed result and fetch another work unit :
When the setiathome process is finished it will return to the hash (#) prompt, stop the backup process running in the atl+f3 terminal with Ctrl+C.

Copy the seti@home work files to the floppy before unmounting it

cp /tmp/seti/*.sah  /mnt/
umount /mnt
After umount returns to the hash prompt - it is safe to remove the floppy.

NB if umount returns a 'device busy' message - the cause is probably one of the terminals being cd'd to /mnt, find which one with the pwd command and cd / before trying the umount command again.

Copy the *.sah files from the work floppy to a seti directory on your machine with internet connectivity
Start seti@home with the -stop_after_xfer option to return the result and fetch a new work unit.

Copy all the *.sah files from the seti directory of the connected machine to the work floppy

Continue from the instructions for Run the Seti@home client above - there is no need to reboot tomsrtbt if it is still 'up'
 
 

If you have comments on this article, you can contact the author, Jon Drane, at joinedup@yahoo.co.uk

If you have more tips and tweaks, we would like to include them here. Please send them to webmaster@setiweb.org