Re: network booting
- From: Jonno Downes <jonnosan@xxxxxxxxx>
- Date: Sat, 10 Jan 2009 16:26:59 -0800 (PST)
On Jan 11, 10:03 am, Eric Rucker <bhtoo...@xxxxxxxxx> wrote:
On Jan 10, 9:08 am, Jonno Downes <jonno...@xxxxxxxxx> wrote:
I've just had a few "family free" days while my better half was
visiting her mother, so I've been playing around with some code to do
a 'network boot'.
Here is a dsk image [http://www.jamtronix.com/dsks/utherboot.dsk]
that does the following
- boots up dos 3.3
- obtains an IP address via DHCP
- looks for a TFTP server on the local LAN
- downloads a file called BOOTA2.BIN via tftp
- executes that file.
It's an alpha release (i.e. for the patient and adventurous only) with
the following limitations:
- only tested in AppleWin to date (I don't have acces to my real A2's
just at the moment)
- requires an uthernet card in slot 3
- requires a language card (or a iie)
- requires a DHCP server somewhere on your LAN
- requires a TFTP server somewhere on your LAN, that serves a file
canned BOOTA2.BIN
- BOOTA2.BIN must have a standard DOS 3.3 Binary fil 4 byte header (2
byte load address, 2 byte file length)
Eventually I want to get this to something that hides in a rom
somewhere, and does a proper 'diskless boot'. Some other obvious
enhancements are:
- a menu driven directory so you can select from all the files on the
server
- a patched RWTS so you can boot whole images not just individual
files
If anyone wants to poke around with the code, it's athttps://sourceforge.net/svn/?group_id=250168
This code is based on IP65 (http://www.paradroid.net/ip65)
Cheers
Jonno
ps - if you want to run a tftp server (e.g.http://tftpd32.jounin.net/
) on the same machine you are running Applewin on, it seems that you
need to have two nics, and have uthernet bound to one, and the tftp
server listen to the other. Otherwise the packets that the uthernet
card sends out are never seen by anything else running on the same
machine (VICE has the same behaviour, so it must be a feature of the
way they both use winpcap). Luckily my laptop has a wifi and a wired
connections.
You know, if you're using DHCP and TFTP... I think you're already most
of the way to PXE.
I did actually research PXE a bit while getting the DHCP/TFTP code
working. As far as I can work out, the only thing PXE adds over what
I've got is a standard API on the client side that can be used by the
downloaded code to talk to the network card. so one bootstrap image
can be sent by the server to machines of all different hardware types
irrespective of the type of NIC in the PC's being bootsrapped.
I don't expect to have to support multiple NICs but it would be nice
to have an IP stack with some published stable entry points in
firmware.
How cool would it be if you could bring up an Apple II on a PXE
server, just by adding a system architecture for it for the PXE server
and a boot image of some sort? And, just put a PXE boot ROM card in
slot 7 or something.
Well I don't imagine actually integrating into another PXE server
(since it's unlikely people would have that sort of stuff set up on
their home network) but I do plan to make a standalone server
(probably in ruby so it's OS neutral) that combines serving boot
images via TFTP (and also handles DHCP if people don't already have a
DHCP server on their network, although most people do have something
like a broadband router) along with the network disk server (for
which there doesn't seem to be any existing standard for working at
the track/sector level - NFS is at the file level only plus seems way
to much overhead to run on an 8bit machine).
As for the PXE boot ROM card - yes indeed :-) see my rant just above
on wanting an easy way to develop/test just such a card in an
emulator
Regards
Jonno
.
- Follow-Ups:
- Re: network booting
- From: Oliver Schmidt
- Re: network booting
- References:
- network booting
- From: Jonno Downes
- Re: network booting
- From: Eric Rucker
- network booting
- Prev by Date: Re: network booting
- Next by Date: Re: Publish It! 4
- Previous by thread: Re: network booting
- Next by thread: Re: network booting
- Index(es):
Relevant Pages
|