Mini PC Linux and SETI@home

...for SETI@home

by Jon Drane
Modifications by Mike Bader

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 16MB RAM. (24MB is best)
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 in time to be considered an active user:
As above with approx. 486DX/33Mhz CPU. 16MB RAM. (24MB is best) 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. These requirements are subject to change as the SETI@home client changes.
Software requirements:
A mini linux - tomsrtbt is discussed here.
A suitable  SETI@home  client [i386-pc-linux-gnu-gnulibc1-static] from the SETI@home website. You may need to unarchive the tar file, this can be done with WinZip or on a DOS system you can use rawrite.exe or on Windows 9x/NT you can use rawwritewin to do the same job.
Under Linux the command is tar -xvf filename.tar
This will unarchive the contents of the file "filename.tar" to the current directory
For more information on the tar command please enter "man tar" at the linux system prompt
There will be the executable setiathome program as well as a Readme file.
WinZip download
rawrite is just here for completeness download
rawrite2 should be the fastest download
rawrite3 should work if rawrite2 fails download
rawwritewin download
rawwrite NT download
SETI client info download
these - run instructions download
SETI@home get the client
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 of the floppy, several prompts will appear but you do 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, DIR in DOS
cd         change directory - directories are delimited by '/' 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
cp    copy from to
head - display the beginning of a file
rm remove file
shutdown
Run the SETI@home client:
 
You will need a DOS formatted floppy.
Copy the Linux SETI@home tar file downloaded from SETI@home website onto the DOS formatted floppy.

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

Use the -stop_after_xfer option and copy ALL the *.sah files to the DOS formatted floppy.
seti -stop_after_xfer

You will need a copy of your user_info.sah in that directory or SETI will prompt
you and select 1) to setup new account (first-time users)
or select 2) to log into an existing account (returning users).
Enter your e-mail address.

Boot the tomsrtbt floppy.
Login to tomsrtbt as root.
Remove the boot disk.
Insert the DOS formatted floppy. (with SETI program and data files)
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).

For additional information while running you can add the -verbose option

./setiathome -stop_after_process -verbose

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.

You can automate this
cd /tmp/seti
while true
do
sleep 900
head state.sah
done

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 Alt+F3 terminal with Ctrl+C.

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

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

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

Sample Routine: using a system connected to the Internet

c:
cd\return
copy a:*.sah
pause
seti -stop_after_xfer
pause
del a:*.sah
pause
copy c:*.sah a:
pause
del c:*.sah

FYI - SETI@home files
version.sah
user_info.sah
outfile.sah
lock.sah
pid.sah
key.sah
state.sah
wtemp.sah
work_unit.sah
result_header.sah
result.sah

Continue from the section Run the SETI@home client above - there is no need to reboot tomsrtbt if it is still 'up'. You may want to create two DOS floppies and be runnning, while returning the completed results on another computer, rotating between disk 1 and disk 2.
 
 

If you have comments on this article, you can contact the author, Jon Drane, at joinedup@yahoo.co.uk or Mike Bader, at mdbader@flash.net

If you have more tips and tweaks, we would like to include them here. Please send them to webmaster@myurl.net
Spot_E.T. Visit Our Web Site
readme Join Our Group