Overview
A central 'server' will act as the 'hard disk' for a whole pile of processing
'nodes'.
Nodes don't have hard disks of their own - they use a 'DOS boot' floppy to fetch a Windows 98 system 'image' from the Server. The 'image' is loaded into (compressed) RAM Disk and then the nodes are 'cross booted' (from DOS into Windows).
All the seti work-units (and thus 'work in progress') is held on the network 'share' disk - so if power is lost you still have your work !
The only real clever bit is the 'cross booting' ....
Oh - and you will need sufficient Microsoft Licenses to cover the whole lot (it helps if you worked for a Company that just put the Windows 98 Licences that came with their Desktop machines in the bin and then paid Microsoft full price for Windows NT instead).
Hardware
You will need one Windows 98 machine to act as 'Boot Floppy' maker (it is just
about possible to use a 'target' node to make the boot floppy,
but this can be a real pain (especially if you have removed the DOS files from
the 'node' in order to reduce 'wasted' space :-) ).
You will need a PC to act as the Network "Server"** (source of 'shared' folders) and to 'burn' CD's (you don't have to have a CD burner - it just makes life easier - below I assume you have one - if not, then substitute 'pile of floppy disks' or 'shared (network) drive' as required.)
**NOTE - you don't necessarily need a Windows NT (or 2000) Server (since you are basically going to be using File Sharing in a Net BEUI based network), however if you have one, it helps - since the 'nodes' will have no hard disks of their own EVERYTING is held on the network shares - better use RAID or MIRROR (both available via Server software) otherwise the first disk crash is going to be VERY painful !
You will need a big pile of kit to act as the 'Nodes' :-
1) Node hardware should be as near 'the same' as possible.
Especially try to ensure all your Network cards are the same (3com 3c509 ISA cards are cheap :-). You will have to get each 'node' booting up in DOS and a lot of different cards means a lot different DOS boot floppies. It's much easier if you can just duplicate the first 'working' floppy for use with the other nodes.
NB- the newer 3com905c PCI cards support direct Network booting. It MAY be
possible to use this 'feature' to eliminate the need for (boot)
Floppy Disk drives, on the other hand you will then definitely require a NT
or 2000 Server. If anyone out there manages this, please write in !
2) Try to obtain identical motherboards - the ideal type are ones with built in Video** (this saves the cost of Video cards (and the pain of trying to find 'all the same') when all you actually need the video for is monitoring boot up and occasional checking of actual operation).
**Clever people can get rid of the need for video & monitor and do everything remotely (using some sort of Telnet window) - however this seems to need TCP/IP (as opposed to Net BEUI) and it's all a bit beyond me.
NOTE - yes, sharing main RAM with Video will 'cost' you some seti time - but I've never been able to measure this.
3) The CPU Type/speed and Memory can vary - these have little effect on setup, although note below re: min RAM.
4) Even running a cut down Windows from a 'compressed RAM disk', you need an absolute minimum of 96Mb physical RAM. To do any 'real' work (especially if you have on-board, which 'steals' from free RAM) you might as well fit 128Mb.
If you have lots of spare RAM, you can fit the boards with 256Mb and skip a whole lot of aggro creating the 'minimium footprint' Windows 98 (see below).
The only exception is if you decide to go the 'Hard Disk' (as opposed to 'Floppy Net boot') route. In that case 64Mb (or even 32Mb) will be OK.
NB. You will need at least one Hard disk for setting up your very first 'node' (it only needs to be 500Mb).
Software
1) The absolute most up-to-date option is Windows 98se. Microsoft have 'fixed'
NT (and hence 2000) so it can't be run 'diskless'.
And as for 'Me' - well Microsoft has gone out of it's way to crap all over your
attempts to run diskless (even to the extent of modifying Command.com so it
refuses to run if no HD: exists (so put that Me CD up for auction on eBay right
now :-)).
2) If you have less than 256Mb RAM you will need '98lite' (to generate a suitable Windows 'image'). With 256Mb there should be no problems manually 'cutting down' Windows to fit onto a compressed RAM disk (you can expect approx 2x compression - so a 200Mb RAM Disk == 400Mb Windows !)
3) Part of the 'cutting down' will be to eliminate MSIE & use the Windows 95 desktop 'Explorer' = so you also need (almost any) Windows 95 disk (I believe your Windows 98 Licence also covers Windows 95).
4) Get hold of the 'XMSDISK' (shareware) RAM Disk software - this is vital since it can be used to create a C:\ RAM disk from the top of RAM ... I've not found anything else that will do the same trick.
Especially don't waste your time trying to use Microsoft's poor excuse of a RAM disk - it's been deliberately 'castrated' to prevent what we are about to do (for example, it won't create a 'C:' RAM disk nor does it seem to work above 32Mb)
5) The Network card(s) DOS Drivers and DOS config. utility (eg. for 3c509, you need 3c5x9cfg.exe). This is so you can set the card into 'non-plug&play' mode and thus stop it changing it's I/O Address and Interrupt every time you turn it on (Plug & Pray can be a disaster for DOS networking, although the 3c905c DOS drivers ARE able to cope OK).
6) TWEAKUI
- so you can setup the Windows 'image' to auto-logon itself to the network (there
is no point in putting together an 'unattended bootup' DOS floppy if the Windows
system then just sits there waiting for you to 'log-on' before it starts doing
anything !).
7) and finally, the software you intend to run (eg. the seti386 'command line' client).
"How-to" overview.
After booting into Windows, you will need at least 32Mb RAM of free RAM just
to run Windows 98 (remember - this has to be without a swap file !).You also
need enough RAM to run your application - for example, SETI will need about
16Mb on top of the Win98 RAM.
So subtract 48Mb from your physical RAM and what's left can be used to for the RAM Disk. Typically, using 98lite and with UltraPack compression (and some free space) you will need to put aside about 40Mb for a compressed RAM disk (equiv. to '80Mb' at 2:1 compression).
RAM is so cheap, it is only worth squeezing Windows if you physically can't fit enough RAM onto the Motherboard. So aim to fit 96Mb if SIMM (or 128Mb if DIMM). NB. don't forget that motherboards with on-board Video will be taking DISPLAY memory out of the fitted RAM (use the board's BIOS to limit what the Video can use - 4Mb will give you fine SVGA).
(32+16+40+4 = 92, so 96 will give you enough free space to prevent Windows 'choking' when it finds you have turned off 'virtual memory' and it no longer has a 'swap file').
OK, this is what we do ...
1) Setup the hardware (Network = non-plug&play, motherboard BIOS set to
'Legacy IRQ' for Network card etc.). This is your first 'node' so it will start
off with a Hard Disk and CD drive.
2) Install Win98 to a HD: using 98Lite
'micro' setting (no MSIE, Win95 desktop)
3) Install NetBUEI networking only (remove all other protocols - they take up
space) & setup your mapped drive 'shares' to the 'Server'.
4) Install TWEAKUI
& configure for auto-log-in
5) Minimise the HD: C:\Windows 'footprint' (can include moving some Windows
support files, such as most of \INF folder, onto a Network 'share').
6) Compress the HD: image, check that the PC boots & logs-in !
7) Copy the C: 'compressed' image (from 'physical drive') to your network 'share'.
8) Now prepare the 'network boot' floppy - it will have to be 'compressed'
(so that the DRVSPACE drivers are forced to load at DOS boot time).
9) Remove the HD & CD and use the compressed Boot floppy to boot your Motherboard
as a 'Diskless Workstation'.
10) Tidy up the running system (configure unique machine name etc), and copy
the compressed files back to Network share for future unattended boot.
NB. Make sure you copy the Windows 'image' (and FD) often ! This is both so you can go back to a 'previous' version and for use with the next diskless workstations.
You will need to make some small changes to each boot floppy (each node must have it's own 'name' etc) - this must be done on the Windows 98 PC (because NT etc. don't understand DRVSPACE compression).
Detailed explanation (for a diskless 96 to 128Mb system).
1) Purchase '98pro' on-line
from the 98lite.com web site.
Find & download the network card DOS config utility (eg. from 3com site).
Find & download the XMSDISKRam disk driver (I encourage you to pay the 'shareware'
fee - this RAMDISK is central to the system and the author deserves some reward).
Download TWEAKI UI '2000' from Microsoft (or elsewhere) - yep, it's what you need for Windows 98 ! (NB - last I looked it was Licence free).
2) USING YOUR WINDOWS 98 PC, prepare a DOS boot floppy with the basic DOS utilities.
You need this to prepare the temp. fitted hard disk for initial '98 image'.
Initially, you should be able to get all you need onto 1.4Mb - later we will have to prepare a 'compressed' floppy - (both for more space and to 'fool' Windows in letting us cross boot to the compressed RAM disk ... see later)
NOTE don't use the Windows98se 'StartUp disk' function (from Add/Remove programs)
to make the boot floppy - this is because a 'Win98se startup disk' is a stupid
'hybrid' that holds some files in compressed form - and thus it has to create
a (Microsoft) RAM drive during boot-up (to unpack these files onto = the logic
of this escapes me ! just what you need when trying to fix a 'broken' system
- half your DOS support files end up in what might be 'suspect' RAM and your
CD drive just disappearing from D: ..). This silly trick caused me lots of trouble
later when
I came to prepare the diskless node boot disk... but at the same time, you MUST
use a Windows 98 PC to make the floppy - BECAUSE NO OTHER MICROSOFT OPERATING
SYSTEM CAN DEAL WITH COMPRESSED BOOT FLOPPIES - and you won't be wanting the
dreaded 'Incompatible DOS version' later on ...
So - 'Format' a blank FD (with the 'Copy System files' option) and then add additional files manually [from the Windows\Command folder = you need at least SYS, FORMAT, FDISK, HIMEM, EMM386 plus MSCDEX with some 'flavor' of CDROM.SYS (eg. OAKCDROM.SYS)].
A more detailed discussion of e=what goes onto the boot floppy can be found on the next page.
With a bit of luck, your network card DOS utility will also fit (otherwise it can go onto the 'root' of the setup CD-R (i.e. where you can get at it from DOS). If you have space you could add SMARTDRV for use ONLY during the Windows98 setup phase - but DON'T be tempted to try & use it later, it gets very confused with compressed disks !
3) Prepare a CD-R containing your 'downloaded' files (98pro & it's licence 'password' file, Tweakui and the Network card config. util. (if it didn't fit on the boot floppy).
You will also need both your Windows 98se disk (or at least the win98 cabs folder) and a Windows 95 disk containing the Win95 'desktop' - any Windows 95 disk EXCEPT 'osr2.5' will do (ie. 95, 95a 'osr1' or 95b 'osr2')
4) Boot using the Floppy.
FDISK your HD: into no more than one 500Mb** active partition
Then FORMAT (FAT16) and SYS your new C:
There is no point in making a bigger C: - of course you can use a 2Gb partition (and even create additional multiple partitions) on a large disk if you like watching Windows waste your time 'checking C: D: E: ...' during the install process :-)
**A smaller drive may cause problems with space during Windows install.
4a) Cross boot to HD: (to check you sys'd it OK) and use the Network DOS utility to setup the network card for non-plug&play (ie. force fix the I/O and IRQ).
Do it now - later on we will be relying on mapped network shares - not a good time to discover that your network card has just disappeared and Windows is showing the 'New Hardware' wizard (which isn't going to find very much since you moved all those space wasting INF files onto the (now no longer reachable) network share ...)
If you are using the 'standard' 3com 3c509 (or other ISA card) the 'standard' for DOS use is IRQ 10, I/O base 300. After setting the card (using the diag. utility), hit 'reset' (or power off) and during POST go into the BIOS setup to change the motherboard mode to 'non-plug&play OS' and set the network card IRQ (10) to 'Legacy ISA'.
NB. If you are using a PCI card, be a bit careful - some motherboards will only allow a sub-set of IRQ's at each PCI card slot - you will need to make sure your Network card is in the right slot !
4b) If the motherboard supports APCM 'Power saving' modes (most new ones do)
decide now if you want to turn them off (in the BIOS). But be carefull :-)
i) Leave it on and you can come back to find the node is 'hibernating' or dropped
the CPU clock by 75% 5mins after you left it (so your seti time shows '9234
hrs' :-) ). Better be carefull of those BIOS settings.
ii) My 'el cheapo' brand motherboards seem to allocate an IRQ irrespective of
the APCM setting- this leads to a lot of 'Windows has found a new Device' Wizard
running and 'Windows is ready to load drivers for Device = Unknown Device' so
you might be better leaving it 'on'.
iii) If APCM is 'on', and you let windows 'turn off' the display, sometimes
it won't turn it back on again :-) (see 7) = better say 'always on' and use
the 'Blank' screen saver).
iv) There is NO WAY you can 'mix and match' motherboards with different APCM
BIOS settings (the Windows node 'image' gets very uspet if you change the motherboard
power setting from 'on' to 'off' = even to the extent of giving you spurious
errors such as 'Insufficient Buffer space' and 'Your BIOS connection limit has
been exceeded' during boot up :-) ) ]
5) Insert the 98pro CD, run 98pro (enter the 'decode / password' key when prompted)
6) Go to the just now created c:\98install folder and run 98Lite.
When prompted, choose '98micro', 'N' for no system file checking.
Insert the '98 (and '95) disks when prompted...
7) Select 'Custom Config. and configure the system (make sure you select 'Disk Compression Tools' and I recommend 'additional screen savers' (which includes the exceedingly useful 'Blank' Screensaver (honest - setting 'Blank' allows you to 'turn off' the display without worrying if it's ever going to 'turn on' again !).
8) Get the system up & running. Delete the 98install folder from the HD.
9) Setup Net BUEI networking (then remove all other protocols) & map a drive letter to your '98image' Server network share. Install TWEAKUI and setup auto logon.
Install your application files (if any). More typically you will install &
run your application program (& it's support files) from a network share.
So set that up now (Map a driver letter) and then add the program 'short cuts'
to local 'Startup' folder etc.
(so that they auto-run at startup).
10) Turn off Virtual Memory, reboot & and delete the swap file !
11) Delete all the Modem '.INF' files (you are never, ever, going to need them)
If you need the space (and all your hardware is identical), you can move all but the 'apps.inf' file to a network share (this is one share that can be shared with all the other diskless nodes). Don't do it if your hardware differs (INF files are needed to resolve those differences, usually BEFORE the network goes 'live' on the node). It's a good idea to have the Win98 folder (containing the Win98 CAB files) on the same share.
12) Empty the Recycle bin. NB. don't set Recycle to 'delete immediately' just
yet.
You may need to recover some files later !
Compress C: & then (again, if you need the space) recompress using 'UltraPak'
mode.
13) Run the Compression Agent to move most of the free space out of C: (leaving about 4Mb).
14) Reboot to ensure all is OK (TWEAKUI should start up MS Networking and you your application program should start after loading itself from one of the shares).
15) Now check the size of DRVSPACE.000 and make any further reductions if necessary. Your target RAM disk size (which will be approx = DRVSPACE.000) depends on how much physical RAM you have. You need to leave about 40Mb for Windows98 to run in plus however much your app. (seti) needs.
For minimum 'foot print' :-
Remove the following folders (many are, or should be, empty) from c:\windows\
'Cookies', 'Config', 'Help' (and the ftsrch.dll (full text search))
'History', 'Media', 'Spool', 'sysbackup'
'temporary internet files' (if present)
Remove the following folders from c:\windows\system
'color' (should be empty anyway)
On c:\, 'find' and delete -
all Windows\Help (HLP, CNT)
all sound files (WAV)
all images (BMP, etc. files).
all 3 'Logo*.sys' files
Now for the big files... the following can go
C:\windows\winhlp32.exe (you have already dropped all the .hlp files it might
have 'read')
C:\windows\win386.swp - the swap file left over after turning off virtual memory
C:\windows\clrviddc.dll (some stupid streaming video support file)
C:\windows\msms001.vwp (audio codec params)
Now lots of small files.
c:\windows\fonts = remove all EXCEPT those the 2 required by Windows itself
(Marlett & Lucida Console) (and any required by your app.)
c:\windows\inf = you can remove everything except 'apps.inf' (after this you won't be able to change your hardware, except by using a copy of the INF folder on your network share, which is ONLY possible if you can get the node to 'log-in')
All the multimedia support files can go - for example, in Control Panel, go
to Multimedia, Devices and DELETE all the Video & most of the Audio devices
..)
(you already got rid of MODEMxxx in 11 above, but there are a few more unwanted
'just in case you have the hardware' support crap that can go -
Mvoice, msvideo, msvfw32, lmrt.dll, rasapi32 (dial up modem support dll)
JOYSTICK for example ...
After crapping out the drivers, the Control Panel applet itself can go
(c:\windows\system\mmsys.cpl & modem.cpl)
The following device drivers (c:\windows\system)
All MCI*.drv (multimedia drivers) & midimap
All the 'games' support crap (Dsound, Draw, ddraw16, dhelp)
C:windows\stsyem32\drivers is mainly full of multimedia crap - most of it can go
The entire Windows\COMMAND\ folder can go (but, 'bye bye DOS support').
Various other files can go - try searching for all files over say, 200kb, sort by size and see what their 'properties' suggest they might be used for (any that say 'DirectX' whatever can usually be 'deleted' (to the Recycle bin)). Don't get to carried away or you will be re-installing Windows a lot.
16) After 'deleting' above, Defrag. C:, recompress, move empty space out of compressed vol. & then re-boot to make sure the system is running - if not, you are going to need to restore some file(s) from the Recycle Bin :-)
17) When all is OK, you can Empty Recycle & now set it's 'Properties' to 'Do not move to recycle, delete immediately'. Then delete the 'Recycled' (bin icon) from the root of C:.
18) If not already done, use TWEAKUI to setup auto log-in and then reboot as a final check that all is working (ESPECIALLY check the Network shares !).
19) Defrag. & recompress using UltraPack. Move empty space out of C: (again, leaving about 4Mb space).
Make a final check on DRVSPACE.000 - if it is less than 30Mb that's about the best you are going to do (otherwise revisit (15) above).
20) Copy the entire contents of the 'host' drive (i.e. the one that contains the "Drvspace.000" file) onto the network 'share'. Add ifshlp.sys, Scandisk.exe (and scandisk.ini) to this 'share'. Adding command.com might also be a good idea. At the end of the DOS boot sequence we will change the 'PATH=' to C:. At that point having ifshlp.sys on the root of c: seems to be vital to ensuring that Windows can install the 32bit version of your Network card driver. Scandisk is needed to 'mount' the compressed Drvspace.000 (as the new C:). Adding command.com is 'just in case' (i.e. when :-) ) something goes wrong after setting 'PATH=' and Windows actually launching.
Prepare the node for 'diskless' operation by removing the Hard Disk (and CD) drives.
Note - if you need access to the CD when running 'diskless', this can be done by specifying the CD Drive letter when loading the CD driver (in DOS, in order to avoid the CD-ROM becoming 'C:', before you have a chnace to set-up the RAM Disk)
21) Now prepare a Compressed boot floppy for Diskless Workstation use .
a) Starting with the basic DOS boot floppy, first Compress it in UltraPack mode.
b) Then add XMSDISK& the NET sub folder, the DOS (LANMAN) network drivers
and SCANDISK.
c) Prepare the Autoexec.bat file (so that it creates a RAM disk, logs-on to
the Network, copies the 98image DRVSPACE.000, halts the network, uses SCANDISK
\MOUNT to mount the RAM disk as C: switchs to c:\, does any .REG tweak needed
(to make this node
unique) and then cross-boots with a final 'WIN' !).
Click here for instructions to create the floppy disk.
22) Insert Floppy and boot !