Last update 5 02 2004
The EZ-PicoSETI Page
1. What is EZ-PicoSETI?
EZ-PicoSETI is a SETI@home distribution based on Paul Boehmer's
excellent PicoSETI http://www.pboehmer.com/projects/picoseti.html
PicoSETI is based on PicoBSD http://people.freebsd.org/~picobsd/picobsd.html
PicoBSD is a miniaturized FreeBSD's http://www.freebsd.org/
distribution that can fit on floppy, embedded controllers ...
Update - 05 02 2004
I've been working on a new EZ-PicoSETI page that include things like;
Telnetd, SSHD, dhclient, NFS ...
EZ-PicoSETI-2
2. What are the
EZ-PicoSETI's minimum system
requirements?
386 or faster
32 MB RAM
Floppy or bootable CDROM
No hard disk required
3. What do I need to download?
I have two versions of EZ-PicoSETI
Here is a
zipped 1.44MB
floppy image version.
Here is a
zipped 2.88MB
bootable CDROM ISO image
4. What hardware and NICS are supported?
The floppy version has build in support for 3C905, Intel Pro 100,
NetGear and NE2000 ISA (0x300H on IRQ10) NICS
The bootable CDROM ISO version includes all the NICS supported in
FreeBSD's 4.7 release GENERIC kernel
You can find the list of supported hardware with the FreeBSD's 4.7
release GENERIC kernel here
5. I have
downloaded the floppy or ISO image now what?
Putting
the floppy image to a floppy
Unzip the ez-picoseti-raw.zip
Under Unix/Linux you can use dd
usage: dd if=ez-picoseti-raw of=/dev/fd0 (or similar)
Under Windows you can also try John Newbigin's excellent RawWrite from
http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm
usage: Launch GUI, under write tab browse for ez-picoseti-raw,
select write
Under Windows you can also use Michael L. Hasenfratz's older (1.44MB
only?) but excellent dd for Dos
ftp://ftp.uu.net:/vendor/sun/solaris/x86/dd.exe
usage: dd drive file
dd file drive
dd drive drive
Putting the ISO image to a CDROM
Unzip the ez-picoseti-iso.zip file
Use your favourite CDROM burning software to burn a CD from the
unzipped ISO image
6. I have
created my floppy or CDROM, now what?
Now the fun part
If you are using the floppy, simply boot your computer from floppy
Be patient as PicoBSD takes a few minutes to boot
If you are using the CDROM, simply boot your computer from CDROM
You may have to set your PC's BIOS to boot from CDROM
1. After EZ-PicoSETI boots, you will see a login screen.
Logon as root, password is setup
2. Type ifconfig and hit enter. If the kernel found a NIC,
you should see something like this
xl0:
flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
ether 00:50:da:b7:d2:87
media: Ethernet autoselect (100baseTX)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
3. In this example xl0 is the device I want to configure
4. lo0 is the loopback and if you only see that, the kernel did
not find your NIC. More help on this here
5. You will need to enter three pieces of information to get
networked. An IP address, Subnet Mask and Gateway
Here is an example
Your IP address is 192.168.10.12
Subnet Mask is 255.255.255.0
Gateway is 192.168.10.1
The command we need to type has this format
ifconfig my-nic-device my-ip-address netmask my-netmask
route add default my-gateway
So we would simply type these two lines
#ifconfig xl0 192.168.10.12 netmask 255.255.255.0
#route add default 192.168.10.1
7. I only see
lo0 when I type igconfig. I need more help
- You can type dmesg which will print the daemon messages at
boot. Look through the output for mention of NIC. This may
help
- Recompile a kernel with only your NIC specified.
- If your NIC is a ISA device check the kernel configuration file
for your NIC and ensure the required IO and IRQ parameters match the NIC
8. I want to copy the EZ-PicoSETI sources to my
FreeBSD box. I need help
This involves a few steps but it is fun and worth the learn
1. I installed FreeBSD Release 4.7 and Release 4.8 from the
CDROM ISO. Be sure to install sources and ports
2. You can optionally use CVSup to get your ports, sources and
docs up to date. Be carefull with your supfile. I'll have a
CVSup page soon to help
3. Lets rename two
directories to prevent overwritting or clobbering them
Under FreeBSD, as root, cd to
/usr/src/release/picobsd and rename the floppy.tree and mfs_tree to
floppy.tree.old and mfs_tree.old or equivalent
#mv floppy.tree floppy.tree.old
#mv mfs_tree mfs_tree.old
4. Obtain the EZ-PicoSETI source file ez-picoseti.tar.gz from here and put
this file in
/usr/src/release/picobsd
5. Lastly, cd to /usr/src/release/picobsd and decompress the file
#tar zxvf ez-picoseti.tar.gz
9. I want to
edit the EZ-PicoSETI kernel configuration files. I need help
The kernel configuration files are in
/usr/src/release/picobsd/ez-picoseti and are called PICOBSD-FD and
PICOBSD-ISO
PICOBSD-FD is the kernel configuration file for the floppy based
distribution
PICOBSD-ISO is the kernel configuration file for the CDROM based
distribution
I suggest copying the file you want to edit to PICOBSD
#cp PICOBSD-FD PICOBSD
Now you can edit this file with your favourite editor.
(If you are using the PICOBSD-ISO configuration file, the resulting
kernel will not fit on a floppy but must be build onto a CDROM ISO
image)
10. I want to
edit other EZ-PicoSETI source files. I need help
I cant go into this here, too much information.
PicoBSD's included documentation is a good start and is located in
/usr/src/release/picobsd/doc/src
An excellent PicoBSD user and starter FAQ is available at http://www.cse.ucsc.edu/~brucem/pico_notes.htm
11. I want to
buid a new EZ-PicoSETI distribution.
Ok so you may have edited your kernel configuration file or
adjusted a configuration file ... cool
Now its time to test it out
1. As root cd to /usr/src/release/picobsd/build
#./picobsd ez-picoseti
2. Adjust the floppy size if necessary. If you are building
PICOBSD-ISO, you must adjust the Floppy size to 2880 2.88MB
3. Choose --> READY, build it <-- and watch it go
4. Hopefully the build goes ok with no errors. If errors
occur, check the confuration files and adjust accordingly
5. You are prompted with "Build ez-picoseti completed" while the
system awaits you to load a floppy and choose ok
6. If you are building a 1.44 MB floppy image, you can pop in a
floppy and choose ok. You are done. Time to test it out
7. If you are building a 2.88 MB floppy image (later to be
converted to CDROM ISO) you must select Cancel. (unless you have
a
2.88 MB floppy)
8. Your ez-picoseti build is waiting for you in
/usr/src/release/picobsd/build/build_dir-ez-picoseti and is called
picobsd.bin
9. If your picobsd.bin is a 1.44 MB floppy build, you can use the
information in this page to copy this to floppy disk
10. If your picobsd.bin is a 2.88 MB CDROM build, you must use mkisofs
to create a bootable CDROM from this build
12. I want to take my EZ-PicoSETI build
and create a bootable CDROM ISO image
In theory, you can take any bootable floppy image 1.44 or 2.88 MB and
create a bootable CDROM ISO (eltorito)
You must install mkisofs to create the ISO image
#pkg_add -v -r mkisofs (or equivalent)
Please read this carefully
Usage is mkisofs -o /tmp/final_iso_name.iso -R -V "Volume name or
Label" -v -J -T -d -D -b original-image.img -c eltorito.boot -A
"Application ID" .
Makes an ISO image called final_iso_name.iso stored in the /tmp
folder with a label "Volume name or Label" from original-image.img
If you run this command from a directory containing only the original-image.img, the final_iso_name.iso
will contain original-image.img.
If you run this command from a directory containing the original-image.img
and other files, the final_iso_name.iso
will contain original-image.img and
these
other files !!
I hope that made sence
Now get your picobsd.bin file ready in a directoy by itself
From that directory execute this. Dont forget the final dot !!!!
mkisofs -o /tmp/picoseti.iso -R -V "PicoSETI" -v -J -T -d -D -b
picobsd.bin -c eltorito.boot -A "PicoSETI" .
BTW you may have noticed a file called mkiso in the EZ-PicoSETI sources
I created this little file because I kept messing up the line above
If you place this file in the same foder as the picobsd.bin file and
make it executable, it makes life easier
The file mkiso will be included with the ISO but its itty bitty tiny.
If you need
more information, try the mkisofs man pages here
13. I have heard about a security issue with
3.03. Why are you not running 3.08?
Here is the official stance from http://setiathome.ssl.berkeley.edu/version308.html
"Version 3.08 is a precautionary
security release. There was a potential buffer overrun in the
networking code of the client that is fixed with version 3.08.
Note that to exploit this vulnerability, a potential attacker would
have to trick the client into contacting a fake server rather than the
actual SETI@home server.
To our knowledge, no SETI@home client has ever been attacked in this
manner."
As of May 14 2003 here are some more reasons
The FreeBSD setiathome 3.08 compile is for i686 only
It was not compiled with statically linked libraries (You get ELF
interpreter /usr/libexec/ld-elf.so.1 not found)
According to the buzz on http://groups.google.com/groups?group=alt.sci.seti,
3.08 is 10-15 percent slower
Honestly, I did try to configure ez-picoseti to run 3.03 similarly to
the way it runs under FreeBSD 4.7 Release
A script called setiathome.sh runs the client as an unprivelaged
user called nobody
I needed to add chown and su to the crunch.conf
I then got strange errors related to the crunching of su
(su.lo(.text+0x4ce): undefined reference to `skey_getpass' ...)
I couldnt find any help on this error and figured wait out a update to
3.08
If you find an
error or wish to comment please let me know.