Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > BootX + Apple Network Server + Darwin

BootX + Apple Network Server + Darwin
Thread Tools
Sevenfeet
Guest
Status:
Reply With Quote
May 2, 2001, 04:22 PM
 
Hello,

Please forgive me as I am a relative idiot in the world of Darwin.

I'm trying to see if it's possible to get Darwin and maybe OS X to boot on an Apple Network Server 500 (ANS). I expect lots of problems with this but we'll get to that in a bit. I've been looking through the source for BootX and it seems fairly straightforward in what it's trying to do. Here's what I've found so far. Please feel free to correct me if I say something stupid.

BootX seems to be fairly independant of its surroundings. It checks to see the version of Open Firmware and makes modifications to OF, especially rewriting Control, if necessary. (The ANS is version 1.1.22, which should be captured correctly in the OF version checking routines I've seen). It does a bunch of housekeeping and brings with it critical routines for dealing with simple memory allocation, HFS+ and UFS, simple video, and other stuff.

It also seems to me now that the boot-file paramater in OF to begin with should be pointed here. BootX will change this to '0 bootr' at some point but I think this is my first mistake in why I haven't been able to get the installer to work. (Yes, I have created a Ryan Rempel OS X w/old work KEXTs CD). Can anyone tell me just what the boot process is in the early moments of OS X? BootX seems to do everything it needs and turns over control to the kernel. I'd like to know if OS X's boot process from the CD is significantly different than booting from a real Darwin/OS X version already installed to HD. I suspect it is.

I've also heard that the OF 1.05 machines get specific patches for them. I'd like to know where that happens (I'm thinking it's probably in the OldWorld KEXTs but I haven't gotten that far).

Thanks in advance.

Rick Ewing
Washington, DC
     
Mac Enthusiast
Join Date: Sep 2000
Location: Cupertino, CA
Status: Offline
Reply With Quote
May 2, 2001, 06:37 PM
 
Originally posted by Sevenfeet:
Hello,

Please forgive me as I am a relative idiot in the world of Darwin.

I'm trying to see if it's possible to get Darwin and maybe OS X to boot on an Apple Network Server 500 (ANS). I expect lots of problems with this but we'll get to that in a bit. I've been looking through the source for BootX and it seems fairly straightforward in what it's trying to do. Here's what I've found so far. Please feel free to correct me if I say something stupid.

BootX seems to be fairly independant of its surroundings. It checks to see the version of Open Firmware and makes modifications to OF, especially rewriting Control, if necessary. (The ANS is version 1.1.22, which should be captured correctly in the OF version checking routines I've seen). It does a bunch of housekeeping and brings with it critical routines for dealing with simple memory allocation, HFS+ and UFS, simple video, and other stuff.

It also seems to me now that the boot-file paramater in OF to begin with should be pointed here. BootX will change this to '0 bootr' at some point but I think this is my first mistake in why I haven't been able to get the installer to work. (Yes, I have created a Ryan Rempel OS X w/old work KEXTs CD). Can anyone tell me just what the boot process is in the early moments of OS X? BootX seems to do everything it needs and turns over control to the kernel. I'd like to know if OS X's boot process from the CD is significantly different than booting from a real Darwin/OS X version already installed to HD. I suspect it is.

I've also heard that the OF 1.05 machines get specific patches for them. I'd like to know where that happens (I'm thinking it's probably in the OldWorld KEXTs but I haven't gotten that far).

Thanks in advance.

Rick Ewing
Washington, DC
Someone is giving me one of these things to play with at WWDC ;-)

About dumping the device tree, use a serial terminal (9600 8N1 I think) to connect to one of the serial ports (which one eludes me at the moment), and then capture in your terminal window.

You are going to need to apply a variant of the patches used on the 9500, but the offsets are all different. There was some discussion about how to deal with this on the darwin development lists (relating to the 6500 specifically).

I actually spent a bunch of time cleaning up BootX recently (primarily to make this easier). My patches are in the CVS, and among other things replace all those damn Interpret_m_n and CallMethod_m_n calls with something a little more regular. They don;t do much functionally for this, but they make some of it more understandable.

The nvram patches are done by the system disk control panel when you select partitions. The patches are part of the nvram package, which is part of system_cmds, and it install the patches in /usr/sbin/nvram (I am unsure if they are installed by the developer tools). You can install them manually using the nvram command.

Good luck

Louis

------------------
Louis Gerbarg
Darwin Developer
Louis Gerbarg
Darwin Developer
These are my views, and not the views of my employer.
     
Sevenfeet
Guest
Status:
Reply With Quote
May 3, 2001, 10:27 PM
 
OK, I'll try to see if I can get OF to dump to a terminal. First, I have to find an appropiate serial cable. If worse comes to worse, I can always steal a similar working cable from my ANS 700 running AIX which connects to the APC UPS.

As for my ANS 500 (the Darwin and Linux project machine), I'm going to try to get intimate with all the details of it's device tree. Please be gentle with me since it's been a decade since I've done any serious Mac or C programming. These days I make my living in systems integration for a major CRM vendor. BTW, I used to work for Apple about 12 years ago.

If you have any operational questions about the ANS when you get yours, feel free to drop me a line. I've been running these guys since '96 and have owned them personally since '97.

Also, since YDL Linux already runs on this box and the ANS patches are floating around, I'm going to look at them too. The whole bit regarding offset locations has had to have been long solved. Also the issue of how the Bootloader and Kernel tell a ANS from other machines has been dealt with too. I've been reading the bits regarding the 6500 series on the Darwin bpard. It sounds very similar.

I never understood just what the hell those Interpret_m_n and CallMethod_m_n functions were doing anyway. Nice to see that you're cleaning them up. I'll have to download your approach from the CVS.

One question: Do the System Disk OF patches for the 9500 series just look for OF 1.X or does it care specifically about this version of OF (v1.05)? Just what are the patches cleaning up anyway? I'm wondering if the patches are even necessary for OF 1.1.22. They probably are, but I'd rather not reinvent the wheel, if necessary.

I suppose there aren't any sources for System Disk :-(. Well, at least you'll be working for Apple soon and will have access to a few more resources than the rest of us. :-)

Rick Ewing
Washington, DC
     
Mac Enthusiast
Join Date: Sep 2000
Location: Cupertino, CA
Status: Offline
Reply With Quote
May 4, 2001, 02:28 AM
 
Originally posted by Sevenfeet:
OK, I'll try to see if I can get OF to dump to a terminal. First, I have to find an appropiate serial cable. If worse comes to worse, I can always steal a similar working cable from my ANS 700 running AIX which connects to the APC UPS.

As for my ANS 500 (the Darwin and Linux project machine), I'm going to try to get intimate with all the details of it's device tree. Please be gentle with me since it's been a decade since I've done any serious Mac or C programming. These days I make my living in systems integration for a major CRM vendor. BTW, I used to work for Apple about 12 years ago.

If you have any operational questions about the ANS when you get yours, feel free to drop me a line. I've been running these guys since '96 and have owned them personally since '97.

Also, since YDL Linux already runs on this box and the ANS patches are floating around, I'm going to look at them too. The whole bit regarding offset locations has had to have been long solved. Also the issue of how the Bootloader and Kernel tell a ANS from other machines has been dealt with too. I've been reading the bits regarding the 6500 series on the Darwin bpard. It sounds very similar.

I never understood just what the hell those Interpret_m_n and CallMethod_m_n functions were doing anyway. Nice to see that you're cleaning them up. I'll have to download your approach from the CVS.

One question: Do the System Disk OF patches for the 9500 series just look for OF 1.X or does it care specifically about this version of OF (v1.05)? Just what are the patches cleaning up anyway? I'm wondering if the patches are even necessary for OF 1.1.22. They probably are, but I'd rather not reinvent the wheel, if necessary.

I suppose there aren't any sources for System Disk :-(. Well, at least you'll be working for Apple soon and will have access to a few more resources than the rest of us. :-)

Rick Ewing
Washington, DC
Thanks.

The offset locations I was talking about have not been solved. The deal is that the ANS uses a modified 9500 rom. Because of that we would want to use the 9500 patch, accept that it patches at fixed locations, and we need to deal witht he offset changes. Also, the rom has to be in better shape then the 9500s, so not all of it may be necessary.

Linux and NetBSD do not strictly require the OF patches on many machines. It is an issue of reliability. They just don't use any on the ANS (I think). That may be part of the reason why they are so finicky about booting ;-) BootX will probably be a lot less forgiving about this.

OS X's kernel and driver subsystem match things up dynamicly. It may be that the kernel for old world machines will just work with it (minus the builtin video and the internal SCSI), though it probably requires some tweaking.

I think once we get BootX up the rest will fall into place.

Oh, do you follow the Linux-ANS list? Trag is designing an adapter to use newer CPU cards in the ANS 8-)

Louis

------------------
Louis Gerbarg
Darwin Developer
Louis Gerbarg
Darwin Developer
These are my views, and not the views of my employer.
     
Sevenfeet
Guest
Status:
Reply With Quote
May 6, 2001, 04:43 PM
 
Louis,

Just to let you know that I'm still working on getting the device tree dumped. I lost another hard drive on my AIX Network Server, the second in two weeks. Its protected by a RAID array but I've had to back the thing up to tape and try to quickly order some replacement parts. Meanwhile, the serial cable I got for the other Network Server to do a dump isn't working properly so I'm trying to figure out what to do here. Hopefully, I should know more either today or tomorrow.

Rick
     
Mac Enthusiast
Join Date: Sep 2000
Location: Cupertino, CA
Status: Offline
Reply With Quote
May 7, 2001, 03:03 AM
 
Originally posted by Sevenfeet:
Louis,

Just to let you know that I'm still working on getting the device tree dumped. I lost another hard drive on my AIX Network Server, the second in two weeks. Its protected by a RAID array but I've had to back the thing up to tape and try to quickly order some replacement parts. Meanwhile, the serial cable I got for the other Network Server to do a dump isn't working properly so I'm trying to figure out what to do here. Hopefully, I should know more either today or tomorrow.

Rick
No rush. I hope your machine is working better soon, I know what its like to have parts fail on you right when you are about to start a new project ;-)

Louis

------------------
Louis Gerbarg
Darwin Developer
Louis Gerbarg
Darwin Developer
These are my views, and not the views of my employer.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 09:55 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2