launchd - heldersrvio/PureDarwin GitHub Wiki
launchd is a central component of the Darwin and Mac OS X boot process.
Starting with Darwin 8, launchd replaces different mechanisms for starting and stopping processes, thus replacing more traditional mechanisms found in other UNIX-like systems such as init, rc, the init.d and rc.d scripts, SystemStarter (Mac OS X), inetd and xinetd, atd, crond and watchdogd. As such, it plays a central role in the Darwin and Mac OS X boot process. It is also a key element of Mach IPC on Darwin and Mac OS X systems.
Whenever you need to debug boot problems that occur after the root device has been found, you should make launchd verbose. Put the following in your /etc/launchd.conf: log level debug and append the following to your /etc/syslog.conf: *.debug /dev/console
The 9F33 binary root of the launchd project has runtime dependencies on the following libraries and frameworks: find /Users/user/Downloads/launchd.root -exec otool -L {} 2>&1 ; | grep "compatibility version" | sort | uniq
- /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
- /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
- /System/Library/Frameworks/Security.framework/Versions/A/Security
- /usr/lib/libSystem.B.dylib
- /usr/lib/libbsm.dylib
- /usr/lib/libedit.2.dylib
- /usr/lib/libgcc_s.1.dylib Unlike in earlier builds, libauto is no longer a runtime dependency of launchd.
The launchd project is developed in a publicly accessible subversion repository. To check out the latest development version of launchd, use
svn co http://svn.macosforge.org/repository/launchd/trunk launchd
Note that this might be developed against a later version of the Core OS than what is publicly available. So something like
svn co http://svn.macosforge.org/repository/launchd/branches/SULeopard launchd
might be more appropriate for Darwin 9.