[darwinbuild] Building darwin 8C46

Kevin Van Vechten kevin at opendarwin.org
Tue Dec 20 11:07:33 PST 2005

On Dec 20, 2005, at 10:51 AM, Markus Hitter wrote:

> Am 20.12.2005 um 10:56 schrieb Dave:
>> I have been at this for a while and I just can;t seem to find the  
>> info anywhere on the web. Namely, how do you build a complete  
>> darwin that is capable of at least getting into single user mode.
> Hmmm. Nobody did this already, I'm afraid.You can get quite close,  
> however. See <http://release.opendarwin.org/> to see what others get.

This has been done.  Darwin 8.0.1 was produced in this way, and  
others (kito) have successfully booted an 8.2.1 build on ppc.

>> I have successfully built xnu for 8C46 but when I try to put it on  
>> a target running 8C46 as an alternate kernel it wedges really  
>> quick (Gery screen, square corners, grey apple).
> Works here. I've successfully built kernels for Darwin 8, 8.2 and  
> 8.3 and all three worked well: <http://www.jump-ing.de/index.php? 
> Lang=de&Menu=3&SubMenu=2> I did a small tweak only, as well.
>> ... the new 8C46 kernel is almost twice as big. Debugging stuff?
> The Darwin kernel should be slightly smaller than the Mac OS X one.  
> A debug kernel would be about 10 times (or something in this area)  
> as big.

If it's twice as big, it's likely to be a universal binary instead of  
a single-architecture binary.  DarwinBuild's plists produce universal  
binaries by default.

>> Do I have to specify each and every package individually to get an  
>> entire build?

In your build directory, you can use the following commands to list  
all the projects in the build (without version numbers), arrange them  
in a suitable build order, and then build all of the projects:

# darwinxref version '*' | sed -e 's/-.*//' > projects.txt
# /usr/local/share/darwinbuild/buildorder projects.txt ordered.txt
# /usr/local/share/darwinbuild/buildlist ordered.txt

Also, if you haven't already, you'll want to initialize your build  
directory with one of the plists from release.opendarwin.org, since  
those plists have patches that are required to make some projects build.

- Kevin

More information about the darwinbuild-dev mailing list