Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: wwdc2002-810
$eventId
ID of event: wwdc2002
$eventContentId
ID of session without event part: 810
$eventShortId
Shortened ID of event: wwdc02
$year
Year of session: 2002
$extension
Extension of original filename: mov
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: ...

WWDC02 • Session 810

Customizing NetBoot and NetInstall

Networking and Server • 40:47

This session presents options for using NetBoot and NetInstall in the Mac OS X Server, including how to set up and customize the product and how to allow your products to use NetBoot and NetInstall. Configuration options and licensing issues are also discussed.

Speaker: Rob Neville

Unlisted on Apple Developer site

Transcript

This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.

Good morning, everybody. I'm Rob, and today we have a good crowd. We're going to be talking about NetBoot and network installation. This is a portion of the Jaguar 10 server product. My name is Rob Neville. So this session is a little bit different from a lot of sessions that we have here at WWDC in that the NetBoot and network installation products or portions of the server products are not specifically geared around the developer community producing products on top of.

The NetBoot and NetInstall products are useful and are going to be utilized by your customers, hopefully, and also by probably, as I look around the room and see some familiar faces, probably a lot of you all in the room. Rob Neville In past years, what we've found, and this is the first year we've been talking specifically about this product, that there are quite a few of you here who are actually users of the server product specifically and the NetBoot and NetInstallation product that we're going to be delivering to you in the next couple of months.

Rob Neville And your users of the product, your people who actually install and run and have customers who live on top of this. And we're going to be gearing a lot of our talk today about that. If, however, you are developing... There are some things that you should keep in mind. There potentially are some things which, if you want to have your software installed in this environment, that you're going to have to pay attention to.

So, NetBoot, it's coming in a new flavor. NetBoot for Jaguar, we've got a variety of new types of offerings. We're going to be able to give you NetBooting for Mac OS 9, the same way as we do today, and Mac OS X. In addition, we're going to be supporting network installation. As part of that process, we're going to give you in the X environment some new tools for customizing both your NetBoot and your NetInstall images.

I want you to know that this is going to be part of the Jaguar server product, but it's not part of the developer CDs that you all received. Those of you who are interested received a Jaguar 10 server CD that was available. This is not on that disc.

NetBoot images in and of themselves, for those of you who are familiar with the product, can get to be quite large. The actual packaging of that is still being worked out in some fashion. We decided that it was just too much data to be able to give you this particular product at this particular time.

So what we're going to talk about today, what do I want you to take out of this particular session? For those of you who are not familiar with NetBoot, we're going to be talking a little bit about what the product is, where it's come from, NetBoot on 9.

We're going to tell you what's different and what's the same about NetBoot on 10. We're going to talk about network installation and what that means, how that works, things that you're going to need to watch out for. And we're going to talk a little bit about the tools we have for customizing this particular installation. and customizing your netboot images.

[Transcript missing]

Pretty powerful stuff. This is a power tool. And for those of you who are implementing and deploying this particular tool, the capabilities of it are not simple and not real easy to configure and set up. This is not something which you want to give to a trivial administrator or someone who maybe administrates adding users to your file server, those kinds of things. There are a lot of different steps to this process, and as we add the possibility of doing network installations, you're really going to want to keep some control over this particular process.

NetBoot for 9. What is NetBoot? NetBoot is the ability for a Macintosh to mount or come up or boot from a disk image that's out on a server. Currently, the current product that we have today and the product that we've shipped from the first iteration of Mac OS X, a couple of years ago now, is a version of Mac OS 9. We ship it on four flavors. The four flavors we ship are the four languages that we support.

Those languages come in images. The images reside in a CD. The CD gets installed in the system in a specific location. You can boot up to 50 clients in the current iterations against that. It's a read-only volume. We have shadow files on the hard drive, on the local server hard drive, that allow for write space. You can boot a 9 image.

We gave you tools to allow you to modify that image. They were a little bit tedious, a little bit ponderous, but allows you to put things into the... Some of you have used the tool, I can tell from the laughter.

[Transcript missing]

More productive experience when you're modifying your 10 images.

So, now we get into some of the stuff that's really new, and that is we're going to be NetBooting 10. I'm kind of excited about being able to NetBoot 10. From my particular standpoint, this makes my life a whole lot easier on the other products that I manage, in that now that I've got multiple image support, if I'm running a version of Jaguar, and we iterate those occasionally to add features and to fix bugs and things before we ship, and I need to regress, find out when a particular feature went in or stopped working, I can now NetBoot that image. And I don't have to install the whole thing to find out whether or not that functionality was there.

So you can NetBoot an installation to test whether or not you've got a particular configuration for your users if you're installing this. You can create multiple copies of 10 to install and test to see whether or not you've got the right mix of applications for your users. The other nice thing about it is, and what we've found, though I'm not going to be making any sort of performance comments, Promises at all.

But what we found is that the experience that you have with X is that you boot to the login window. And that may take some amount of time because you're loading the kernel and you're loading a bunch of the underlying pieces. But you do that once. And then when the users, they tend not to, like they did with Mac OS X, they tend not to shut down. They tend to log out. So now you're sitting there at the login prompt, which is running. And you log out and you log back in. And that experience for your users is going to be much faster.

So, we're also providing a new image, a new tool for modifying the images, and we call it the Network Image Utility. Very catchy name, it's the new tool. And the other thing to consider, and I think this is going to help those of you who work in a more enterprise kind of setting, is we're going to be booting, today we're going to be booting over NFS for Mac OS X.

What that allows you to do is to put your images, of various multiple images, allows you to put it on big iron in the back and point to it from your Mac OS X server and just mount it over NFS. It gets exported over NFS. The server is what, the image file itself is HFS+, but where you can store it and where it gets mounted from and loaded from is over NFS. So it gives you a little bit more flexibility.

So we also support classic inside the Mac OS X image. But, there's a big but here. We don't install it for you. With NetBoot for X, ostensibly what we did was we gave you four localized images. Well, we did that because you used them. If you didn't use them, you would have given us some sort of feedback and told us you didn't need them or want them. But you use these localized images. And we don't know which particular version of the OS or which localized version of the OS that you want. So basically what we have is the tool that we use will create a 10 boot image.

and then what you need to do is you need to mount that. So it's a disk copy image, so you just mount it like you mount any other disk copy image. And then what you do is you go get the version of 9.2.2 that you want to install, insert that, install that system into the image. Well, so now you've got an installed image there, and if you stop there and every time you started up the machine, your users would get the experience of running through the setup assistant for Mac OS X.

So you don't want them to have that experience. What you do is you then, with that image still mounted read-write, you point your classic startup at the image that you just installed. And then you launch it. And you configure it how you will. Save your file, and now you have something where you can launch. Basically, your users can launch classic. Okay. We are not supporting being able to NetBoot.

[Transcript missing]

Okay, now some of you are giggling and laughing, but we've had that request and there is some logic behind that request. The ability to, the same reason you'd use NetBoot in the first place is because you want to be able to only support one known image, read-only. So that's why people wanted to be able to NetBoot their classic folder, but we don't support that.

So the caveat here is you're doing the installation, so we're not going to be holding your hand. If you want to install a non-supported version of 9 that Classic won't launch with, knock yourselves out. Your users aren't going to be able to use it. And that's the other reason we recommend that you test these installations before you roll them into production.

So what's network installation? Well, the short answer for network installation is that network installation is Netbooting to the installer. So what does that give me? Well, that gives me a couple of things. First, it gives me the ability to take what in essence is the user CD that you get with Jaguar, Put an image of that on the server and now have everybody in your enterprise or in your school or wherever, you know, whatever community is seeing that particular server. It allows them to install without having to have the CD.

So, well, that's good, but I tend not to install OSs every day, so that's not, maybe not be real useful. Now, it might be extraordinarily useful for the times when, if you're in charge of the new equipment coming into your enterprise, and you want to make sure that it's got the latest version of the OS on it, or the version that you're supporting, maybe not the latest, but the version you're supporting, then you can just come in, have these things run a NetInstall as soon as they come in the door. The other thing you can do is you can put your apps on it.

You can also, since it boots to the installer, you can take out the OS and put whatever applications, utilities, scripts, customized widgets, anything you want, into the install package and have it install.

[Transcript missing]

I give out to my particular customer base, CPUs. I own them. I may not want to give them root access to those machines, and yet I want to be able to update their software or to install new bits on their disks, but I don't want to give them root access to the machine. So how can I do that? Well, in this particular way, what you can do is you can say, you know, Run site licensed app install.

The installer is running his root, and it'll install all the bits in the right place. So you don't have to give the user the root password, so you can still keep some modicum of control. The other thing, and this is where we get into a little bit of the power tool area, is you can automate these installations. You can run these things.

Currently, you run an installer and it asks you a series of questions. A lot of times, you're just clicking the arrow. Sometimes, you have to really enter data. For those of you who want to do unattended installations, we're giving you that capability. If you want to do some level of attended installation, we're giving you that capability as well. With this capability, we're giving you responsibility. We're giving you the authority. We're giving you the power to do nasty things.

So how does NetBoot work? For those of you who aren't familiar with the product, NetBoot works similarly in both environments. I won't go into the original NetBoot that shipped way back when, because that works a little bit differently. In general, the way the current NetBoot works is the clients that you see, they request, after they get a DHCP address from whatever DHCP server you happen to have on your network, they make a BSDP request over DHCP to discover a multicast for a server. and the first server that they get that responds to them will be the server that they attempt to boot from.

And that's if they don't do anything at all. So if I come in, I haven't configured my machine at all, I hold down the hardware interrupt, which is the N key, and I want to boot, it's going to do a broadcast, it's going to find the first responding NetBoot server.

Rob Neville And for 9, what it's going to do, it's going to TFTP down the boot ROM, then it's going to mount an image over AFP, and you're up and running. For 10, what's going to happen is it's going to download the kernel, then it's going to establish an NFS session to the server, and it's going to load your root partition over NFS.

We give the users another mechanism for doing that. Once you've made that connection, you are then bound. The server knows about you, you know about the server. That data is stored on the machine in parameter RAM. So next time you NetBoot, it's going to try and NetBoot to the same server.

So, the trick is, what if the server that it NetBooted from goes away? Well, then it's going to try and NetBoot again, and it's going to find another server. Well, now it's going to bind to that new server. So that if I have two servers and I'm NetBooting from server A, and then server A goes away, and next time I NetBoot from server B, I'm going to continue to NetBoot from server B even if server A comes back.

So that's the unattended installation. However, we are giving you new tools to be able to pick, since we now have multiple images. We're giving you the capability to pick those. Network Image Utility This is going to allow you to ostensibly create NetBoot images. I was talking to a gentleman earlier before the session and Quite frankly, I want to be out of the business of providing NetBoot images. Every time a CPU ships, every time there's a new widget that our wonderful people in the CoreOS ship, every time we rev the system or produce a software update or a fix, I have to rev NetBoot.

That's a lot of overhead. It also, it's also I'm making the assumption for you about what it is that you want or need. So what I'd like to do is get out of the business of creating NetBoot images. And the way I'm going to do that is I'm going to give the ability to you.

And the way that we're doing that in 10 is through the network image utility. and through disk copy, ostensibly, is you're going to be able to create images, mount them with disk copy, modify them to your heart's content in a much easier fashion than you could with NBDA. We're going to allow you to create boot images from CDs, and then you from Installation Discs. We're going to give you new system preferences and control panels to allow your users to pick which image they wish to boot from.

What you see here is a sample screenshot of the Mac OS X network image utility. Now, what I mean by sample screenshot, I can see it, so you can see it too. Enable classic on the image? That's not there. System folder path? That's not there. In other words, the UI is going to be a little bit different.

However, it's going to be a single user interface that comes up that will allow you to create either a NetBoot image or a NetInstall image. Why would I want to differentiate between NetBoot and NetInstall? Well, let me think. So my user comes up and they just see a couple of images and they say, oh, let me try booting from that one. Well, when they boot from that one, it erases their primary hard drive and installs the new operating system onto it. Oops.

That's a lot different experience from just booting to the latest version of the OS and still having the contents of their hard drive available to them. So we want to give the users at least some graphical user interface to be able to differentiate between a boot image and an install image. Now your installers are going to be really nice and they're not going to erase people's hard drives, except in the lab situations where you're controlling all of the machines.

You're going to just do things like incrementally update your favorite applications. You're going to write a NetBoot, a NetInstall image for your suite of apps if you're a third party developer out there that you can just distribute so that one of the options your users have is to NetInstall your suite of images.

One of the things which we're also including, this is just reminding me and this isn't in the slides, but that I want to talk a little bit about is licensing. For those of you who happen to be developers out there, we're now giving the users with Mac OS X the ability to site license install. And that's the way you can install the operating system.

Wait, wait, wait, wait, wait. But that comes with some caveats. You guys who are site licensing have to do some things according to the license, like take responsibility that the users who do the install are going to live up to the license. You have to do some trivial things like on an internal corporate website, put the license agreement. There's some I's to cross and T's to dot.

But what you need to remember is if you're developers out there, you can also give your users the capability of doing that. And you might need to take some time and talk to your attorneys to figure out what the licensing agreement might look like if you're going to give the users the ability to do that.

So the end users are going to love it. They're absolutely going to love it. But especially with an automated install, you could have someone, i.e., most of you, answering yes to do you accept this license agreement and not the person who is actually using the software. So you have to watch out for that.

This is an example of the startup disk in Mac OS X. I believe on your CDs that you got for Mac OS X Jaguar that this is the version that is in the OS. However, none of you have my new NetBoot server, so none of you are going to see this. These icons may change a little bit.

However, what you can see is you can see you've got NetBoot disk for 9. It should be 9.2.2 probably. A Mac OS X 10.2 network disk. You can have multiple versions of this if you wish. You can have as many as you want. Also network installation. You have a NetInstall disk if somebody wanted to install it. And you can see what the differentiation between the, that green arrow may turn red.

It may change a little bit, so don't hold me to the graphics per se, but in addition, you can have multiple servers serving multiple images. So that's a lot of bandwidth on your networks. There's a lot of you probably aren't going to do that, but you can do that. You can do that.

Okay, so automating your installation. This is, I think, this is where we're now getting into the power tool arena. Because you can automate, you can bypass portions of this with an XML script. You can have some interaction to no interaction. We're hoping to be able to provide you with a default Wait screen, like your primary hard drive is about to be erased.

You have 30 seconds to cancel something if you don't wish this to occur. However, I think in most of the cases... When you all write the XML scripts to bypass the installation and answer yes to a series of questions that create a default username and all that other stuff.

You're not going to give the user the ability to bail. However, if you're giving the users the ability to install a series of applications on a particular CD, I mean on a particular location or particular partition where they wish, so you've got a suite of site-licensed software, and you want to give your users the ability to pick

[Transcript missing]

I'm going to hit this home probably, you know, for the next 30 minutes. You can unintentionally create situations which cause your users to lose data. You will be responsible for that.

You are the ones who are going to be writing the XML scripts that tell the computer to do that. I am just providing you with the tools. This is an example of, if I want to buy, you all want to, you're asked for this, you want a table saw. If you go to a school situation, you see the table saw, you see a guard over the blade in the school shop.

You take that same table saw, you take it out to a construction site where they're building your house, or to a lumber yard, where's the guard? Who knows where the guard is? Probably the same place as somebody's fingertips, but there's no guard. And we're giving you a table saw. And we're giving you a guard.

And if you take the guard off, and some of your users cut off the tips of their thumb, There are no defaults. We are not providing you with a default automated install. We are going to show you how you can remove the guard. We are not giving you a sample table saw with the guard removed.

So there are two types of installations using our install tool. There's a minimal install, It comes up with no confirmation, though we may add one with this, what I told you about, you know, you have 30 seconds to remove this tape or the CD will self-destruct. But there is a progress bar, and you auto-restart. So there may be a small alert saying, you know, we're getting ready to install Mac OS X to the best operating system on the planet. We're not going to give you do you wish to continue, do you wish to stop, right? And then we continue.

And then there's a confirm method where the panel allows you to pick what volume you want to install on. It's got an OK button before it, so it doesn't do anything. The user selects the targeted volume. It's similar to the experience that you have today with a CD.

and where we do this, and again, this is an ever-changing

[Transcript missing]

It was called install tool when I created these CDs. It was called install tool when I gave these CDs to the people who made them pretty and were putting them up. But between then and now, they changed the name. I believe it's called Installer. Shaking your head. You back there yet? It's called Installer.

We're not going to go into a great deal of depth because my team is not responsible specifically for the installer, but ostensibly I'm going to go through what you're allowed to do. This thing, a variety of optional parameters. The optional ones are the ones in brackets. You can get a list of the packages that are allowed to be installed. You can get a list of the volumes that are available with the volume info.

You can get help. Wow. You can get a list of what metapackages are to be installed or to find which ones are supposed to be installed. You can designate the path that you wish it to go to. Be very careful on this. Your users may have changed the names of the volumes, so unless you nuke them and rename them, it's not going to be a problem. You can designate what's the default language. This could be very useful in determining a pre-configured setup for your installations. You can save these parameters out. This is really good in debugging and in testing your configuration.

Most of these are here, so you'll have a list of these. When this material is available to you, you'll be able to access this and refer back to it again. Formats. These are options to format the output to an XML file, designate the path of the XML file, have it in verbose mode, check the versioning. The name of the port to send the progress info to. You might want to send that progress information out some port other than the video port. You may be interested in viewing it remotely.

Other things to watch out for. This is new technology. Some of the technology on X is new functionality, though the technology is the same. However, network installation, I differs greatly from NetBooting. And how is that? When I Netboot my image on 10, it brings me up to the login window.

I execute the login window. The kernel's loaded. The Windows server's loaded. Everything's loaded. I log in. It launches the finder. The finder's running. And I launch individual applications as I need them. And I'm basically running 10. That data is sometimes being read off of a mounted disk image that's mounted over the network.

With the installer, what you're doing is you're mounting the OS, you're launching the installer, and it's copying files from that read-only image over the network. That's a lot of data. We do installations at Apple of the operating system. We do those sometimes over the network. We sometimes send out emails to people saying, "Please, everybody, don't install at 10:00 in the morning. If you can help it, install a little later." Because what happens is, even at a big corporate network like Apple's, if you have 5,000 users all doing that kind of installation, it's very slow.

And we have a fast network. So it's much bigger than NetBoot. And NetBoot is, for those of you who are currently, how many people currently use NetBoot? 10-15% of the audience. You know, it can take up a considerable amount of bandwidth. This is not something that you want to do over airport.

and not just because of airports, you know, the fact that if I stand in front of an airport base station, you might not get a good signal. It's because of the bandwidth, right? So... Network installation takes up more. You may want to have more, if you're going to be handling network installations, you may want to have more than one server doing them.

So the other thing to watch out for is, so we're giving you this networked image utility. And that allows you the ability to take

[Transcript missing]

We don't do any error checking for that. We don't know that the bits you put on the disk, because ostensibly all I'm doing when I'm NetInstalling is I'm booting to the installer. Well, I don't check to see whether or not the OS is going to boot to the installer or the login window. I rely upon you to turn that flag on so that when the control panel comes up, You see an install image. So that's up to you.

Pre-flight, pre-test up your setups. You're going to have a lot of cut-off thumbs if you don't. A lot of cut-off thumbs. only use unattended installs when required.

[Transcript missing]

and always, always, always give users a warning beforehand if you're going to do something that they may not know about.

So, I'm going to get you out of here a little bit early, unless you have tons of questions. So, in summary, we've got a new version of NetBoot. The new version of NetBoot supports multiple images. It supports Mac OS 9 and Mac OS X. The technology supports, you can have a Mac OS 10.2. If there is a 10.2.1 or a 10.2.2, you can have those as well. You can have different flavors of 9.

You can have your Japanese 9 image. You can have your English 9 image, your German 9 image. You can have your 9 image with applications installed on it. You can have your plain vanilla 9 image. You can have your kiosk 9 image or your kiosk 10 image. Those kinds of things.

Network installation. We're giving you the capability of installing the software over the network. You're going to be able to take the Mac OS X Server, set it up, and upgrade your users to Jaguar. You're going to be able to set up a Jaguar 10, 10.2 installation and use that to install it over at your site. But with this functionality, we need you to use it carefully.

So a couple of cleanup items here. For those of you who were here on Monday at 3:30 and at 5:00, we had an overview of the Mac OS X Server. We had -- and then that was followed by the Mac OS X Server in depth. Those talked about the other -- a lot about the other portions of Mac OS X. Some of you I recognize from being at that session and may have been asked questions.

I want to thank you all for coming. This is a really great turnout for a technology that I think is just now really starting to mature and really starting to be a really useful tool for you all. And if you're developers, what I want to stress to you is use the package format wherever possible.

This will allow you to leverage off of our technology to do network installations for your customers. For you people who are actually going to be deploying this, we're trying to give you the tools so that you have the capability and the customizability. We're also giving you the responsibility.

Who to contact? If you have questions or technical kinds of issues that you wish to raise, features that you wish to give, myself, Tom Weir, who's a network and communications evangelist, will be joining me here in a minute. If you have complaints or you have problems, use the appropriate channel for those. I'm not going to turn anybody away, but there are mechanisms that we need to facilitate the use of and need to make sure things get tracked correctly so we know we are making the right decisions at the right times.