On 06.06.2007, at 21:12, John Criswell wrote: Michael Smith wrote:
Thanks for your answers. I still have a few more questions below:
On Jun 6, 2007, at 7:31 AM, John Criswell wrote:
Our research group is looking to buy a Macbook Pro (2.16 GHz Intel Core 2 Duo) for some research that we are doing. Our work involves modifications to the Darwin kernel.
I'd like to gain some confidence that if we buy this machine, we can expect to compile our own kernels and have them work on the machine.
Modulo the complexity of building the open-source kernel releases, yes, this generally works.
Has anyone compiled a Darwin kernel and successfully run it on an Intel Mac laptop
Yes.
I should have been more explicit in my question. I assume this includes the Macbook Pro with Intel Core 2 Duo processor, correct?
Compiling the kernel for any intel is the same. MacBook Pro with Intel Core 2 Duo is not any different in this... Its the same kernel for all Mac's with intel processors. Some of the hardware might not use some of the kernel extensions. Are there any drivers required for the machine that are not part of the open source Darwin project?
Yes.
I assume that this is also true for the desktop machines. Correct?
This is true for MacOS X in general Some drivers are closed source and supplied by Apple only in binary form. Having looked over the Darwin download page, I'm guessing that the network and hard disk drivers are kernel level modules, and the video driver for Darwin is a user-space component of the X11 distribution, correct?
As Darwin can be run totally out of open source, the kernel itself is open source and the "most important" drivers are open source. Closed source is the stuff which you dont find on the download page. For example the 802.11n WLAN driver on the MacBook Pro's (*sight*) or things relating to Aqua, the Apple specific user interface and probably Rosetta to run PPC code (where's that hidden by the way? No Rosetta.kext is ever seen) But as long as you (in the first example) don't want to add a specific WLAN feature to it, it will just plug in to the rest of the kernel. Not sure about the video driver but I think at least unaccelerated video should be possible from open source (but as you have a MacBook Pro, using its binary video driver should not be a problem). X11 by Apple is an Application living in userspace. I think thats the case in all unixes. X11 just needs access to the screenbuffer in some way.
Our project requires being able to do compiler analysis of the entire kernel source.
Drivers are not part of the kernel, per se. They, and their supporting libraries ("Families") are handled as loadable modules.
I see. That may be a problem, but I imagine we can work around it. The Darwin kernel we build from the open source sources should be able to load and use these drivers, correct?
Of course. And as they are just like some sort of shared libraries, you can link to them dynamically at runtime with kextload/kextunload.
Andreas Fink
Fink Consulting GmbH Global Networks Schweiz AG BebbiCell AG
--------------------------------------------------------------- Tel: +41-61-6666330 Fax: +41-61-6666331 Mobile: +41-79-2457333 Address: Clarastrasse 3, 4058 Basel, Switzerland --------------------------------------------------------------- ICQ: 8239353 MSN: email@hidden AIM: smsrelay Skype: andreasfink Yahoo: finkconsulting SMS: +41792457333
|