Port-mac68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBooting a Quadra from MacOS X




Am 02. Jun .2008 um 20:23 Uhr schrieb Hauke Fath:

At 12:08 Uhr +0200 27.4.2008, Andreas Wolf wrote:
Now, netbooting from the OS X Macs ("Big brother
is booting you") sort of bridges the gap, if you know what I mean.

As a late follow-up, there seems to be a communication problem between
MacOS X dhcpd and NetBSD kernels, see PR 38830
<http://www.NetBSD.org/cgi-bin/query-pr-single.pl?number=38830>. I don't
know if that's relevant here.
That sounds promising. Unfortunately, the MacOS X version is not explicitely cited. Personally, I'm satisfied with the ISC DHCP-server that does the job on 10.3 and 10.5 equally well.



Btw, there might be a little bug in the Booter code, that prevents the initial BootP/DHCP requests from working. If I have an additional NuBus
Ethernet-card in my Quadra 700, the Booter will show (and use) the
hardware address of that NIC, although the built-in Ethernet is in use
and configured.

Since I've been bitten by this issue recently, I have looked into the
Booter sources some, and experimented... I had a code snippet at the time that was supposed to tell MacTCP to ask its current LAP driver for the MAC address. Since you select one when setting up MacTCP, that should be the natural thing to do. What I didn't take into account was that the machines I have here were all equipped with OpenTransport (v1.3, usually). And while that generally implements the old MacTCP interfaces, there's limits to that compatibility. And what OT has in place of a LAP driver does bot bother to fill in the 'struct LAPStats' provided with sensible data. Unfortunately,
it still returns noErr.
Meanwhile I have been testing a couple of different NuBus Ethernet- cards, mostly Asante. It seems that my problem with the Farallon cards is confined to these cards only. All other cards do not disturb the process of resolving the correct Mac-address. Btw, this was done on MacOS 8 with OpenTransport 1.3. The Farallon cards came with no driver software and doesn't need any (like Apple's NuBus Ethernet thing); everything is in the ROMs. That might be part of the problem...

But, it turned out that the code actually works with MacTCP installed.
So... if you can build yourself a Booter from source, you can change the #if 0 in udp.c#GetMyEnetAddress() to an #if 1 and run "real" MacTCP. The
code will then properly report the MAC address of the active network
interface.
Ok, I could try that. Unfortunately, my only Codewarrior versions are CWPro 2 and CWPro 5. Lots of changes before it will compile :-( Anyway, I can net-boot with a floppy containing MacOS 7.0.1, MacTCP, the unmodified Booter, and no Farallon NIC ;-)

Supporting that for OpenTransport needs more work, either to ask OT for a list of interfaces plus information, or to add GUI elements for skipping
the BOOTP phase, and just set tftp server and kernel strings.
Well, the question is probably, if programming that for OT is worth the effort. I say this because I realized that there is definitely no way to strip down a MacOS with OT onto a floppy. You will have to start with an internal/external HD which sort of misses the point of a diskless client, at least for me. On the other side there might still be working Iomega ZIP and JAZ drives out there... Skipping the BOOTP part would be a shame, really. You did nice work on that. Instead I would suggest to add a GUI element that allows to edit the Mac-address determined by GetMyEnetAddress. Just for the rare cases where the Booter picks up the wrong one.

Andreas



Home | Main Index | Thread Index | Old Index