[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: network booting
On Jan 11, 10:03 am, Eric Rucker <bhtoo...@gmail.com> wrote:
> On Jan 10, 9:08 am, Jonno Downes <jonno...@gmail.com> 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