The macosxhints Forums

The macosxhints Forums (http://hintsforums.macworld.com/index.php)
-   Networking (http://hintsforums.macworld.com/forumdisplay.php?f=14)
-   -   Netboot with 10.3 Client as Server (http://hintsforums.macworld.com/showthread.php?t=23382)

elmimmo 05-03-2004 08:22 AM

Netboot with 10.3 Client as Server
 
Hi!

Is it possible to use a computer with 10.3 as a server for Netbooting other computers in the same LAN?

The purpose of this is that I have one iMac Bony Blue with an unoperative optical drive and that will not boot from an external USB one. I was wondering if I could use Netboot to reinstall the OS in that computer, but none of the other computers are running Mac OS X Server.

saint.duo 05-03-2004 01:27 PM

Mac OS 10.3 client cannot act as a netboot server. If you did have a netboot server, setup properly, you could use it to install a system on your iMac.

Your best course of action would probably be to transfer the iMac's hard drive to another machine, install the system you want, then move the drive back to the iMac. (anyone know of any problems with this method?)

aogail 05-03-2004 01:43 PM

Quote:

Originally Posted by saint.duo
Mac OS 10.3 client cannot act as a netboot server.

Why do you say that?

OS 10.3.3 Client on my iBook: `man -k bootpd':
Code:

bootpd(8)                - DHCP/BOOTP/NetBoot server
Read `man bootpd' to get more information on the server daemon. In the three minutes I spent, I couldn't find any non-OS X-Server Netboot information using Google, but the man page should get you going, at the very least.

elmimmo 05-03-2004 02:04 PM

Quote:

Originally Posted by aogail
OS 10.3.3 Client on my iBook: `man -k bootpd':
Code:

bootpd(8)                - DHCP/BOOTP/NetBoot server
Read `man bootpd' to get more information on the server daemon. In the three minutes I spent, I couldn't find any non-OS X-Server Netboot information using Google, but the man page should get you going, at the very least.

I came to this forum after finding about bootpd, and failing to understand pretty much anything from 'man bootpd'.

saint.duo 05-03-2004 02:23 PM

Interesting. I say it because I find it very hard to believe that Apple would include everything needed to get NetBoot working on 10.3 client when it and NetInstall are two very highly touted features of 10.3 server.

It may be possible, but it may also be more trouble than it's worth to get working, as well as some solid knowledge on how NetBoot works.

I know it at least uses boopd, nfs, and netinfo binding. You also have to have a netboot or netinstall image along with its relevant kernel files, which I'm not sure if you can create with command line tools in 10.3 client. There may be other pieces that I am forgetting or not aware of.

Quote:

Originally Posted by aogail
Why do you say that?

OS 10.3.3 Client on my iBook: `man -k bootpd':
Code:

bootpd(8)                - DHCP/BOOTP/NetBoot server
Read `man bootpd' to get more information on the server daemon. In the three minutes I spent, I couldn't find any non-OS X-Server Netboot information using Google, but the man page should get you going, at the very least.


elmimmo 05-04-2004 02:31 AM

Quote:

Originally Posted by saint.duo
Interesting. I say it because I find it very hard to believe that Apple would include everything needed to get NetBoot working on 10.3 client when it and NetInstall are two very highly touted features of 10.3 server.

Apple usually states that it is their GUIs that are so much worthy.

Quote:

You also have to have a netboot or netinstall image along with its relevant kernel files, which I'm not sure if you can create with command line tools in 10.3 client.
I am not sure, but this (NetBoot for Mac OS 9: Information and Download) seems to be it. Official and downloable from Apple. It is an installer containing, among other things, two disk images: "Applications HD.img" and NetBoot HD.img".

If so then, we already have the images. Now what is the next step?

aogail 05-05-2004 12:13 PM

I'm slowly poking around with this. I don't expect to have enough time to get it working quickly, unfortunately. If I get it done I'll be sure to post about it.

saint.duo 05-05-2004 01:04 PM

If you get it working, I'd love to know how. Now I'm curious...

darndog 05-06-2004 04:12 PM

type this in a terminal: man asr

dD :)

elmimmo 05-11-2004 09:22 AM

Quote:

Originally Posted by darndog
type this in a terminal: man asr

Either I am missing something or Apple Software Restore has nothing to do with netbooting or restoring a computer without CD Drive. Please, expand if I am wrong.

darndog 05-11-2004 03:48 PM

Quote:

Originally Posted by elmimmo
Either I am missing something or Apple Software Restore has nothing to do with netbooting or restoring a computer without CD Drive. Please, expand if I am wrong.

from the man page...
Code:

EXAMPLES
    Volume cloning:
          sudo asr -source /Volumes/Classic -target /Volumes/install

    Restoring:
          sudo asr -source <compressedimage> -target <targetvol> -erase
    will erase the target and potentially do a block copy restore.

this kind of (no cd drive) scenario is pretty much what it's designed for. You can also use it to prepare the source image from another volume.

Granted this is not NetBoot, but it's a better solution in the long run (always quicker to startup from a local drive).

dD

elmimmo 05-12-2004 05:53 PM

But I still do not see how I can use it in an iMac with one single partition and no CD drive.
Quote:

Originally Posted by darndog
Restoring:
Code:

sudo asr -source <compressedimage> -target <targetvol> -erase
will erase the target and potentially do a block copy restore.

If you are erasing the destination volume, where the heck are you executing asr from, where is the boot system that asr is using and where does the source image reside?

darndog 05-12-2004 06:38 PM

create the source image on another Mac, then hook a firewire cable between them and start up the iMac in Target mode, then just run asr to restore the image to the iMac volume.

I suppose it's possible that you may be able to just install from the CD's direct to a iMac in target mode but I've never tried, I'd be interested to know if anyone has. dD

elmimmo 05-13-2004 05:16 AM

Aha... Got ya.

Bondy Blue iMacs (see first post) do not have FireWire connectors. I already have installed several computers with asr for 9 and 10.3's Disk Utility (which is a GUI to asr I guess) and disk images, but this is not a viable solution since you cannot plug the FW disk in this models of iMac. Hence, besides USB, the only connector left is ethernet. That is why I was asking about netbooting.

darndog 05-13-2004 08:08 AM

oh, no firewire, sorry about that.

Decided to read through the Bootpd man and it does appear that this would work given the correct set of NetBoot images, which you can create from Carbon Copy Cloner, then you will only need to create the directory structure, symlinks, xml configuration file and a bunch of other stuff.
I think this will require a lot of troubleshooting before it works correctly or at all.

Your quickest solution is still to pull out the HD, drop it in another mac for the install and then move it back to the iMac as Saint.duo recommended. dD

aogail 05-21-2004 09:59 PM

[Seemingly] So Close...
 
Okay, I've gotten very close to NetBooting my iBook using my G4 running 10.3.3 Client as the NetBoot server. At least, it seems like I'm getting really close. (Note that the G4 is named tinadrien and the iBook is named fahn.)

One thing I have not gotten working is bsdpd (Boot Services Discovery Protocol Daemon). I think it's a part of bootpd in OS X. Anyway, it's the server that tells NetBoot clients where to get their bootloader, kernel, and root image file. It's not actually necessary because you can tell the client all this information directly in Open Firmware.

So far I have gotten fahn to load the bootloader and kernel via tftp. The grey Apple logo appears with the twirling globe at the bottom -- this is the normal display while the bootloader loads the kernel and whatnot, AFAIK. Once the kernel has finished loading, the twirling globe is replaced by the standard circle-of-greyness-that-chases-itself.

Here is where things go wrong.

Once fahn has the kernel, its ethernet interface goes down completely. I may as well have unplugged the ethernet cable. At first, I had been connecting fahn and tinadrien directly. At this point, the following showed up in tinadrien's system.log:
Code:

May 21 17:53:45 tinadrien kernel: UniEnet::monitorLinkStatus - Link is down.
I supposed that this problem may be caused due to the direct link between the two computers, so I added a spare hub to the mix. Fahn's network link still went down. The hub shows no connection as soon as fahn finishes the kernel download.

Then I used verbose mode (Cmd-V) to get some actual information about what was going on. Once fahn has the kernel, it outputs the following:
Code:

standard timeslicing quantum is 10000 us
vm_page_bootstrap: 93573 free pages
mig_table_max_displ = 68
Fri Mar 5 14:18:29 PST 2004; root(rcbuilder):RELEASE_PPC/iokit/RELEASE
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All Rights Reserved.

using 983 buffer headers and 983 cluster IO buffer headers
Local FireWire GUID = 0x393ff:0xfe9206be
ADB present:8c
Security auditing service present
From path: "enet:192.168.1.1,Panther.nbi\mach.macosx", Waiting on <dict ID="0">
<key>IOProviderClass</key><string ID="1">IONetworkInterface</string>
<key>IOLocationMatch</key><dict ID="2"><key>IOPathMatch</key>
<string ID="3">IODeviceTree:enet</string></dict></dict>
Still waiting for root device
Still waiting for root device
Still waiting for root device
Still waiting for root device
[...]

At this point fahn just hangs. If I don't boot using verbose mode, eventually the grey Apple logo turns into the circle-with-line-through-it-signifying-no (Example ... I can't remember if they are called anything).

Does anyone know why fahn's network interface would go completely down? I've gotten this far and it's rather annoying to see it fail without even trying to load the OS image.

Here are the pertintent Open Firmware variables:
(Note that boot-args seemingly does not even come into play, since by the time the kernel is executed the network interface goes down.)
Code:

boot-device      enet:192.168.1.1,Panther.nbi\booter
boot-file        enet:192.168.1.1,Panther.nbi\mach.macosx
boot-args        rp=nfs:192.168.1.1:/Library/NetBoot/NetBootSPx:Panther.nbi/Panther.dmg
(Boot-args has also been:)
boot-args        rp=http://192.168.1.1/NetBootSPx/Panther.nbi/Panther.dmg


intrntmn 05-21-2004 10:53 PM

I'm very interested in seeing this through as I have a clamshell with a defunct cd drive :c(

So please, if ya'll have mercy, help get this working :c)

Jack

elmimmo 05-22-2004 09:41 AM

Well, oagail, you are far beyond anything I could help you on. Surely there must be some sort of Apple developers' forum, where even Apple techs wander by, that could provide you with some info from the inside.

stetner 05-22-2004 06:42 PM

It would seem to me that once the firmware hands over to the kernel, the kernel will need to know what the network settings are for the interface.

Are there any args that can be added to tell the kernel what its new interface/ip address is?

BTW I assume 192.168.1.1 is the server, so how does the client know what it's IP is supposed to be? I used to do this stuff with HPs, and we always had the IP information transfered to the client in the bootp info, the server would have a 'table' of MAC hardware addresses that it would serve and a map of how those related to IP addresses of the client.

Hope this points you in the right direction...

intrntmn 05-23-2004 02:25 AM

On a related note ... is it possible to install netboot server from OS X Server 10.2 on a 10.3 client, and using ASR / CCC to create a 10.3 boot image and have netboot serve it ? I have 10.2 Server, but am unable to purchase the Panther Server Upgrade at this time

Thanks

Jack

aogail 05-24-2004 01:57 AM

1 Attachment(s)
Quote:

Originally Posted by stetner
It would seem to me that once the firmware hands over to the kernel, the kernel will need to know what the network settings are for the interface.

Are there any args that can be added to tell the kernel what its new interface/ip address is?

If only I knew. ;-) Although that does give me a direction for further research.

Quote:

Originally Posted by stetner
BTW I assume 192.168.1.1 is the server, so how does the client know what it's IP is supposed to be? I used to do this stuff with HPs, and we always had the IP information transfered to the client in the bootp info, the server would have a 'table' of MAC hardware addresses that it would serve and a map of how those related to IP addresses of the client.

OF gets its addy from my DHCP server. Incidentally, it takes two `boot' commands at the OF prompt to get it to get going. OF generates quite a bit of DHCP traffic during the first `boot' attempt, then seems to realize it's been given an IP addy once I enter `boot' again. (I've attached the related system log messages as a file to this post.)

Thanks for the pointer, regarding passing net info to the kernel. I had guessed that it would just use DHCP but I realize I should do more research into that area.

sixty4k 06-23-2004 08:47 PM

Code:

May 21 17:54:09 tinadrien bootpd[20763]: bsdpd: re-reading configuration
May 21 17:54:09 tinadrien bootpd[20763]: ni_pathsearch '/config/NetBootServer' failed: No such directory
May 21 17:54:09 tinadrien bootpd[20763]: bsdpd: shadow file size will be set to48 megabytes
May 21 17:54:09 tinadrien bootpd[20763]: bsdpd: age time 24:00:00
May 21 17:54:09 tinadrien bootpd[20763]: bsdpd: no client sharepoints defined
May 21 17:54:09 tinadrien bootpd[20763]: bootpd: NetBoot service turned off

I think you may need a /config/NetBootServer directory and associated files, Netboot service turning off seems to leave you netboot client hanging without a disk image.

Which is about the same point I'm at trying to netboot an imac from a linux server... (only I'm just trying to tell the client where to find it's image, rather than telling the server where to serve it from)

elmimmo 06-24-2004 03:34 PM

Since I am more convinced as I read this thread I do not have the technical abilities to even try this, I really cannot understand what you are struggling with at present. And so I do not know if this will help at all, but I just wanted to mention that this apple doc at http://docs.info.apple.com/article.html?artnum=106439 mentions what ports Netboot uses.

elmimmo 07-04-2004 07:42 AM

I still cannot handle any of this technicicities, so I do not know if this will help either, but anyhow here I found a page supposedly describing how to use a Linux/Unix machine as a Netboot server for Mac clients. Check the links at the bottom.

http://staff.harrisonburg.k12.va.us/...eweaver/macnb/

bzappia 09-30-2004 05:15 PM

It Works!
 
I have successfully configured a 10.3.5 client to act as a net boot server. Apple left out a couple things.

1) I launched bootpd from the command line with options -m -N -D -v rather than enableing it via xinetd.d.

2) you can enable tftp in xinetd.d (see man xinetd for details). Do not change the default directory, but instead, create a symbolic link named "Netboot" to /Library/Netboot INSIDE a directory named /private/tftpboot.

3 To create an image, follow the instructions at http://docs.info.apple.com/article.html?artnum=107353

I just figured this out, and wanted to let you know. If I need to go into more detail, let me know.

P.S. I just remembered that I also had to add the property "dhcp_vendor_specific" with no value to NetInfo's "config/dhcp" directory, though I'm not actually sure if this did anything.

P.P.S. the instruction in 3 tell you to use kextcache to create the file mach.macosx.mkext. Make sure that Ignore Permissions on this Volume is NOT checked in the get info window of you image volume before you do this.

Las_Vegas 10-01-2004 12:14 AM

TYSVM! I've been trying to research how to do this for months! I'll definitely be experimenting this weekend! :)

bzappia 10-06-2004 02:26 PM

I should have mentioned that the instructions I followed were in man (8) bootpd. Also available here
http://developer.apple.com/documenta.../bootpd.8.html

elmimmo 05-02-2006 04:37 PM

Just for the record, another step-by-step, and seemingly easy guide, at http://www.macgeekery.com/hacks/hard...netboot_server


All times are GMT -5. The time now is 08:51 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Site design © IDG Consumer & SMB; individuals retain copyright of their postings
but consent to the possible use of their material in other areas of IDG Consumer & SMB.