Folding@Home Network Booting with Linux, for real!!!

unhappy_mage

[H]ard|DCer of the Month - October 2005
Joined
Jun 29, 2004
Messages
11,455
Hokay. Here's the NEW ( :rolleyes: ) and IMPROVED ( :rolleyes: ) version which hopefully doesn't SUCK :)D). Just download it, burn it, boot it, answer the questions, and you should be good to go.

Here's the URL:
fold.server.sf.net
Thanks again to Ch1m3r4 for hosting in the past. If you want to mirror, let me know via PM (or email) and I'll include it in this first post. Instructions are included there in a more verbose form. I hope I covered everything there.

Now here come the caveats. It only works on machines with 2 ethernet adapters right now, although I've started adding support for only having one. It'll hopefully be working fully by the next release. The broadcast addresses must be 192.168.1.* for the "external" and 10.*.*.* for the "internal". This will also get fixed.

The server will only run a single copy of FAH, even if there are 2 processors; the clients will run N, where N is how many processors you've got. If you got duallies, leave them as clients and use a single-processor box for the server (odd as that seems).

01/18/05 edit: working on determining whether to turn on big packets on a given machine.

To install, boot the CD and run "/installer". It should be self-explanatory from there except that sometimes it decides to keep the CD drive locked even after reboot; power off and power on if this happens.

After it installs, it gives you a terminal where you're logged in as root. I suggest you take the time to fix anything you know is borken, test your internet, et al.

To get folding itself working:
remount the install CD and copy "/mnt/cdrom/getfold.pl" somewhere and run it. Then run "/tftp/update myroot" to rebuild the client image. Then booting over ethernet should work.

To start vncviewer, type "vncserver". You can go to the "external" ip from your machine to view the status of the boxen, log in via VNC, and eventually other stuff.

Try it if you've got 2 ethernet adapters on your server box. Moetop?

Fold on, brothers!


edit 1: add instructions on how to run the installer. duh.
edit 2: new hosting on SF! w00t!
 
1337!!!111

thanks my brother
u_DR_K13
 
no, he's my brother! :)p)

congrats...

too bad we're down by ~25ghz or something...
 
Is this to set up the server that the clients boot from? or is this for all the clients? both?

I don't have a box with two NICs, so I can't try it out yet... that, and I've felt like I got hit by a truck for the last few days... but when I find some spare time, I'll give it a go....

Is there a "Idiots guide to..." or "Netbooting for noobs" coming?... at this point in my life, I'd probably need one just to get everything set up and crunching away with linux...


Keep on Folding!!

 
OSUguy98 said:
Is this to set up the server that the clients boot from? or is this for all the clients? both?

I don't have a box with two NICs, so I can't try it out yet... that, and I've felt like I got hit by a truck for the last few days... but when I find some spare time, I'll give it a go....

Is there a "Idiots guide to..." or "Netbooting for noobs" coming?... at this point in my life, I'd probably need one just to get everything set up and crunching away with linux...
This is designed to be as easy as possible, but there are still some bugs; hence the long post announcing it. Eventually I want it to be so easy that I can just point to the ISO and say "go!". Right now, it's "go!" and then X Y Z (oh, and Q).

This ISO makes a server; it also includes a client image to allow booting clients. The clients just need PXE or etherboot capability, you don't need the cdrom on anything but the server. It will support one ethernet adapter setups soon, I hope...

If you need another ethernet adapter, I could probably get one and mail it to you... I need testers more than ethernet adapters right now :rolleyes:

Avoid the truck.
 
I have a few spare NICs... I just have to find them.... but I need to look to see which boxen at home (only have 3) are PXE/etc capable... I know my IC7-G has PXE, but I'm not sure about the new ECS KM400 or the KT7A (I think)....

I'll download it tonight or in the morning...


Keep on Folding!!

 
you can boot any machine from the server, you just need a floppy drive for some of them. you can make a boot floppy with the GRUB boot loader on it that goes out and does PXE booting. that's what we're doing at home here. works fine, and doesn't have any problems (yet)

PXE is preferable because it doesn't require finding a working floppy and then constructing the image.

if you need it we could host the floppy image for you as well, or provide instructions for making one.
unhappy_mage said:
Avoid the truck.
you know, i never would have thought to get out of the way before you said that? i always thought you just got hit, then kind of rolled off the road (hopefully) before anyone else came along. then you just lie there in pain and agony waiting for the sweet, sweet coming of death. it is easier that way, but i guess your way works too.


;)
 
rogue_jedi said:
you can boot any machine from the server, you just need a floppy drive for some of them. you can make a boot floppy with the GRUB boot loader on it that goes out and does PXE booting. that's what we're doing at home here. works fine, and doesn't have any problems (yet)

PXE is preferable because it doesn't require finding a working floppy and then constructing the image.
bzzt rong.

it's not grub, it's etherboot. go to rom-o-matic.net to download a floppy image for your nic.

pxe is definitely preferable. However, I just tried it yesterday and it doesn't seem to work on an installed system, just the one I took the image from. :( I'll see if I can fix it.
 
well sorry... i though grub could do that too? :confused:

you're the one who wrote it anyway. how should i know?

which system didn't do it?
 
aha! if anyone is using this
1) please post and tell me how it's going
2) change line 263 of /etc/dnsmasq.conf to:
Code:
dhcp-boot=net:eb,/fold-boot,fold-server,10.1.1.1
instead of
Code:
dhcp-boot=/fold-boot,fold-server,10.1.1.1
This tells it to give out etherboot files only to etherboot clients.
 
You have to load the program on server, then the client box off the CD, then boot off the network to run the machines, right? or can the server access boxen already running a Linux variant?

Also if there is a problem with a box, can the bootloader be burned to a CD. Half of my farm does not have floppy drives, and no room to add them in the cases they are in.

And when is the version for us complete newbee's to be able to not screw it up when we run it going to be out :D :D

keep up the good work, If I new what i was doing I would help test, but my Linux skills are almost up to "Hello World" :D
 
racercarl said:
You have to load the program on server, then the client box off the CD, then boot off the network to run the machines, right? or can the server access boxen already running a Linux variant?

Also if there is a problem with a box, can the bootloader be burned to a CD. Half of my farm does not have floppy drives, and no room to add them in the cases they are in.

You have to load the cdrom on the server, and then you never need it again! The clients are booted completely over the network. They can boot using PXE or etherboot; etherboot can be loaded on a CD. I'd suggest the "etherboot-pci:all-pci-drivers" image. It knows about all of the pci ethernet cards, so it's bigger but more compatible.

This version should be fairly newbie-compatible. Just follow the instructions, and everything should work.
 
Unhappy- I assume each client works on it's own WU. Could I remove a client, then a day later add a totally different boxen and have that boxen pick up where the one I removed left off at? Or have an existing client pick up where the removed boxen left off at when the boxen still connected finished it WU?

Kinda get what I'm saying? I've got boxen in and out all the time, looking for an easier WU management. Kinda why I'm hot on the cluster idea (other thread), just add/remove at will with one of those... in theory...
 
marty9876 said:
Unhappy- I assume each client works on it's own WU. Could I remove a client, then a day later add a totally different boxen and have that boxen pick up where the one I removed left off at? Or have an existing client pick up where the removed boxen left off at when the boxen still connected finished it WU?

Kinda get what I'm saying? I've got boxen in and out all the time, looking for an easier WU management. Kinda why I'm hot on the cluster idea (other thread), just add/remove at will with one of those... in theory...
Yes, each client works on its own WU. The way that clients determine which WU is "theirs" is based on hostname, which in turn is based on IP address assigned by DHCP.

It is possible and fairly easy to configure it so that you'll get the behavior you're looking for. There's even only one line of config-file to change. What we'll do is change dnsmasq so that it gives out leases (and therefore hostnames, and therefore WUs) for a much shorter time than the default 48 hours. An hour might be reasonable, but don't change it to 30 seconds. That might not be good. The other change is to give dnsmasq a pool size about the number of machines you'll have going at any one time. So here's the change: on line 116 of /etc/dnsmasq.conf, change
Code:
 dhcp-range=10.3.1.1,10.3.1.254,255.0.0.0,48h
to
Code:
dhcp-range=10.3.1.1,10.3.1.(NUMBER OF MACHINES + 5),255.0.0.0,1h
and that should do the trick.

What this does is: when you remove a machine, its dhcp license will time out in an hour from when it last renewed, and the WU associated with that machine will sit dormant. When you plug in your new machine an hour from now, it'll get a dhcp license (randomly, it seems - my 3 clients are 10.3.1.39, .98, and .112. Go figure.) and start on the WU associated with that hostname. So if you have a large number of machines leave at once, you might want to re-assign some of those WUs to your existing systems, right? It's a bit tricky to do this, but possible... If this is the kind of thing that happens often, let me know and I'll post instructions.
 
0.8 release (04 Feb 05) is now available for download. Please try it, and enjoy!

This version features a nice password-protected web-based interface to configure everything (or almost, anyways). The install process is shorter now, and some of the configuration has been changed around to make things easier to change.

Please give it a whirl, and tell me how it goes.
 
Back
Top