Recompiling Darwin

Discussion in 'Mac Apps and Mac App Store' started by BeoVir, Oct 21, 2004.

  1. BeoVir macrumors member

    Joined:
    Jun 3, 2004
    Location:
    Detroit, MI
    #1
    I am curious if there is any reason to download an updated version of Darwin and then 'recompile' OS X?
    I hear linux users always talking about how recompiling an OS makes it better/faster/leaner, can we get benefits from doing this with OS X?
    Also can jaguar be recompiled with panther's version of Darwin, and if so would it just be majorly buggy or would we see any differences for the good?

    I understand that aqua/quartz/cocoa/iLife etc. are not free or available to be recompiled so I am not expecting any differences at the gui level, just in the speed and possible stability level. So any one who is braver than me try this out already, and how'd u do it??

    Thanks for the help guys, and I looked in a couple other threads but they basicly went like this.
     
  2. rand() macrumors regular

    Joined:
    Jul 15, 2004
    Location:
    Michigan
    #2
    Quite a few of the linux users in question are ones who are actually comparing "stock" distributed kernels with ones they then compile *specifically for their machine.* As an example, the typical Red Hat user does not necessarily need to know their machine's chipsets, etc. to install Red Hat - RH's ditribution comes with a kernel that is "general" enough to cover a wide variety of proc/chipset combos without significant problem.

    However, you can - and it's probably a good idea - to then take that Red Hat distro and compile your own kernel for it, which results in both a leaner kernel (i.e. gets rid of extra drivers you aren't using) and can result in more optimized bytecode (i.e. compiled for a i686 and taking advantages of its architecture as opposed to compiled for a i386 and being quite "generic").

    On OS X, however the "nature of the beast" is very, very different. Firstly, the Mach kernel represents an entirely different philosophy towards what the kernel should and shouldn't do in the system - and is as a result much smaller, though just as important. Secondly, Apple compiles kernels for a much more limited number of architectures - specifically, the G3, G4, and G5 (and yes, there are the varients of those individual chips as well).

    There's plenty of room on that upcoming Tiger DVD to have a custom-compiled kernel for each of those architectures and "autodetecting" during installation which would be correct for this machine. This could be a reason why it is reccommended (by many MacRumorites) that when you simply transfer a HD from one machine to another that you reinstall the OS on that HD if you want to use it as a boot disk. It's also a reason Software Restore disks are buggy when used on machines other that that which they were intended for.

    Basically, what I'm longwindedly saying is that the reasons to recompile a kernel in Linux evaporate when moving to OS X. Now, if you're running a BSD variant atop Darwin, that may be different - you probably don't have the expertise of Apple's engineers compiling your kernel for you. But as far as OS X is concerned I think I've got it covered here.

    -rand()
     
  3. BeoVir thread starter macrumors member

    Joined:
    Jun 3, 2004
    Location:
    Detroit, MI
    #3
    Thanks for your answer Rand(). That was very informative.
     

Share This Page