PureDarwin

Moving the Darwin community in the right direction!

PureDarwin Progress and Research

We’ve just moved to Apple’s latest code of 10.12.4

This is a living Document that is always being updated!

Currently the project is still moving forward

Current Projects being actively worked on

Working on ACHI Family and Kext work for Darwin use only it will have private headers that will be built into the Kext. Working on CoreFoundation code pulled from latest https://github.com/apple/swift-corelibs-foundation/tree/master/CoreFoundation

Completed Lib’s

Thanks to Ethan we have dyld, libdispatch and libsystem patches along with libplatform project code and built Roots.

Projects Still to be worked on

Port/Upgrade Mac OSX 10.8.4 UsbFamily to macOS 10.12.4 as UsbFamily no longer open sourced (Unless we know some apple people to talk too)

Example of command to compile libfirehose_kernel.a needed for XNU building on OSX

Using Darwinbuild

sudo darwinbuild -nochroot -target=libfirehose_kernel libdispatch

** INSTALL SUCCEEDED **

 BUILD TIME: 0h 0m 1s
EXIT STATUS: 0
libdispatch - 4 files registered.
                                         40755 0 0 0 ./usr
                                         40755 0 0 0 ./usr/local
                                         40755 0 0 0 ./usr/local/include
                                         40755 0 0 0 ./usr/local/include/kernel
                                         40755 0 0 0 ./usr/local/include/kernel/os
ee27353e97833d9a61d67724b5330e74634f7fce 100644 0 0 3273 ./usr/local/include/kernel/os/firehose_buffer_private.h
                                         40755 0 0 0 ./usr/local/lib
                                         40755 0 0 0 ./usr/local/lib/kernel
a99bc86fe2a3a0b967c9da72102ea6dc2ad7b2a1 100644 0 0 36184 ./usr/local/lib/kernel/libfirehose_kernel.a
5829603c6ba1eecb57e05272440364ab63712aad 100644 0 0 37464 ./usr/local/lib/kernel/libfirehose_kernel_debug.a
a99bc86fe2a3a0b967c9da72102ea6dc2ad7b2a1 100644 0 0 36184 ./usr/local/lib/kernel/libfirehose_kernel_profile.a

Using Xcodebuild

xcodebuild -sdk macosx10.12 install -target=libfirehose_kernel -project=libdispatch.xcodeproj
The following build commands
	build/Release/libfirehose_server.a 
	build/Release/libfirehose_server_profile.a 
	build/Release/libfirehose_server_debug.a 


Built Roots with OpenSource Headers added into the macosx10.12.sdk under Xcode This plist https://github.com/PureDarwin/PureDarwin-System-Plist/blob/master/16D32pd1.plist This Modified Darwinbuild for macOS(Database code sqlite changes) https://github.com/PureDarwin/darwinbuild

libplatform has been built Ethan rocks!

** INSTALL SUCCEEDED **

 BUILD TIME: 0h 0m 2s
EXIT STATUS: 0
libplatform - 27 files registered.
                                         40755 0 0 0 ./usr
                                         40755 0 0 0 ./usr/include
3de726adedb1c184243d04eee2528368742fb51f 100644 0 0 5682 ./usr/include/_simple.h
                                         40755 0 0 0 ./usr/include/libkern
d699b626d16c8271fdef328f1da84f95946bb2f2 100644 0 0 1651 ./usr/include/libkern/OSAtomic.h
58481d3f98392795650329fc456e51f087edfb91 100644 0 0 43094 ./usr/include/libkern/OSAtomicDeprecated.h
c260f5ba655dc7c1b6ee5e11f7bf7a9cc29923ed 100644 0 0 6662 ./usr/include/libkern/OSAtomicQueue.h
cfe2e5f61f05eced206eaab55aa1e6dcd8b9a4f0 100644 0 0 2344 ./usr/include/libkern/OSCacheControl.h
3a1e10e4fcb8781e68dc30001a1ed51017c37437 100644 0 0 6632 ./usr/include/libkern/OSSpinLockDeprecated.h
                                         40755 0 0 0 ./usr/include/os
29ae8f4a130f58f1eba6ab291c738fcb6133d67e 100644 0 0 2614 ./usr/include/os/alloc_once_impl.h
8d0493ad759089903983797cd90b2b41172491be 100644 0 0 7167 ./usr/include/os/base.h
254ca8737698de8ffcb9b64a9497d9eee2b41d07 100644 0 0 1138 ./usr/include/os/base_private.h
                                         40755 0 0 0 ./usr/include/os/internal
da4bc957cdea68419e06953574bc25d65641d4b7 100644 0 0 9987 ./usr/include/os/internal/atomic.h
6f069e852ff3d00bfaf31628e2bc2d5e89303096 100644 0 0 1678 ./usr/include/os/internal/crashlog.h
3cc65922de5049d8345bb504553bf3661f0db1fb 100644 0 0 1785 ./usr/include/os/internal/internal_shared.h
17e697b9c6e75dd650cdaa2965e82939ad0b94e1 100644 0 0 4382 ./usr/include/os/lock.h
6dd615291abe72e916ff06bce4de199a9b52f100 100644 0 0 20651 ./usr/include/os/lock_private.h
77b1c40e6004be6fdef3bd29eae6e0e4af888944 100644 0 0 1851 ./usr/include/os/once_private.h
3dde0d4b8cef814c45bcdf34bd1a6ff548abb679 100644 0 0 2401 ./usr/include/os/semaphore_private.h
                                         40755 0 0 0 ./usr/include/platform
5e3181377f01dc0b30b366d4ba3019703e1e2566 100644 0 0 2368 ./usr/include/platform/compat.h
69e27b55c2d1de6aeb5a852cddb230f849701b3a 100644 0 0 12484 ./usr/include/platform/introspection_private.h
b108c703fa83cf3145743844646ea977dd2dd732 100644 0 0 3127 ./usr/include/platform/string.h
79d7c60b7fe04d405d6b053e357dad4e8915e59d 100644 0 0 3139 ./usr/include/setjmp.h
2b808d6255928e200b4e7a15a105ee63b09bf658 100644 0 0 2054 ./usr/include/ucontext.h
                                         40755 0 0 0 ./usr/lib
                                         40755 0 0 0 ./usr/lib/system
da39a3ee5e6b4b0d3255bfef95601890afd80709 100755 0 0 38548 ./usr/lib/system/libsystem_platform.dylib
                                         40755 0 0 0 ./usr/local
                                         40755 0 0 0 ./usr/local/include
                                         40755 0 0 0 ./usr/local/include/libkern
d00e308ffee156e164dd5c76f63f2f8fa77647a3 100644 0 0 1410 ./usr/local/include/libkern/OSAtomic.h
e7ad001908cbd437e48a9fd347a4399bd12e1f84 100644 0 0 123 ./usr/local/include/libkern/module.modulemap
                                         40755 0 0 0 ./usr/local/include/os
cec7efca5a198fc2f1cb06ca7201c678be33d1e5 100644 0 0 3892 ./usr/local/include/os/internal.h
fdb5862c640f6d779e8bb91c2546378714bebbdf 100644 0 0 2712 ./usr/local/include/os/internal_asm.h
f86466e8cb0ee71de4173b8ef15b3786024d9eb9 100644 0 0 2486 ./usr/local/include/os/yield.h

#Roots built so far being updated daily*

InSanes-iMac:InSaneDarwin insane$ ls -alh Packages/ | grep .root.tar.gz
-rw-r--r--    1 root    admin   9.2K Apr 18 11:46 AppleAPIC.root.tar.gz
-rw-r--r--    1 root    admin   8.4K Apr 11 16:38 AppleFileSystemDriver.root.tar.gz
-rw-r--r--    1 root    admin    27K Apr 18 11:46 AppleIntelPIIXATA.root.tar.gz
-rw-r--r--    1 root    admin   814B Apr 11 16:38 AvailabilityVersions.root.tar.gz
-rw-r--r--    1 root    admin    24M Apr 11 16:38 BerkeleyDB.root.tar.gz
-rw-r--r--    1 root    admin   605K Apr 11 16:38 CrackLib.root.tar.gz
-rw-r--r--    1 root    admin   3.9K Apr 11 16:38 Csu.root.tar.gz
-rw-r--r--    1 root    admin    12M Apr 11 16:38 ICU.root.tar.gz
-rw-r--r--    1 root    admin    17K Apr 18 11:46 IOACPIFamily.root.tar.gz
-rw-r--r--    1 root    admin    58K Apr 11 16:38 IOATAFamily.root.tar.gz
-rw-r--r--    1 root    admin   141K Apr 11 16:38 IOAudioFamily.root.tar.gz
-rw-r--r--    1 root    admin    26K Apr 11 16:38 IOBDStorageFamily.root.tar.gz
-rw-r--r--    1 root    admin    38K Apr 11 16:38 IOCDStorageFamily.root.tar.gz
-rw-r--r--    1 root    admin    28K Apr 11 16:38 IODVDStorageFamily.root.tar.gz
-rw-r--r--    1 root    admin    74K Apr 11 16:38 IOFireWireAVC.root.tar.gz
-rw-r--r--    1 root    admin   324K Apr 11 16:38 IOFireWireFamily.root.tar.gz
-rw-r--r--    1 root    admin    58K Apr 11 16:38 IOFireWireIP.root.tar.gz
-rw-r--r--    1 root    admin    87K Apr 11 16:38 IOFireWireSBP2.root.tar.gz
-rw-r--r--    1 root    admin   163K Apr 11 16:38 IONetworkingFamily.root.tar.gz
-rw-r--r--    1 root    admin   122K Apr 11 16:38 IOPCIFamily.root.tar.gz
-rw-r--r--    1 root    admin    33K Apr 11 16:38 IOSerialFamily.root.tar.gz
-rw-r--r--    1 root    admin   109K Apr 11 16:38 IOStorageFamily.root.tar.gz
-rw-r--r--    1 root    admin    61K Apr 20 01:31 Libc.root.tar.gz
-rw-r--r--    1 root    admin   378K Apr 21 13:03 Libinfo.root.tar.gz
-rw-r--r--    1 root    admin    34K Apr 11 16:38 Librpcsvc.root.tar.gz
-rw-r--r--    1 root    admin   1.4K Apr 11 16:38 Liby.root.tar.gz
-rw-r--r--    1 root    admin    40K Apr 11 16:38 OpenPAM.root.tar.gz
-rw-r--r--    1 root    admin    91K Apr 11 16:38 SmartcardCCID.root.tar.gz
-rw-r--r--    1 root    admin   1.2M Apr 11 16:38 TimeZoneData.root.tar.gz
-rw-r--r--    1 root    admin   2.0K Apr 11 16:38 UserNotification.root.tar.gz
-rw-r--r--    1 root    admin   905K Apr 11 16:38 WebInspectorUI.root.tar.gz
-rw-r--r--    1 root    admin   160K Apr 11 16:38 adv_cmds.root.tar.gz
-rw-r--r--    1 root    admin   389K Apr 11 16:38 apr.root.tar.gz
-rw-r--r--    1 root    admin    18K Apr 11 16:38 architecture.root.tar.gz
-rw-r--r--    1 root    admin    51K Apr 11 16:38 awk.root.tar.gz
-rw-r--r--    1 root    admin   2.2M Apr 19 22:27 bash.root.tar.gz
-rw-r--r--    1 root    admin    17K Apr 11 16:38 basic_cmds.root.tar.gz
-rw-r--r--    1 root    admin   5.7M Apr 11 16:39 bind9.root.tar.gz
-rw-r--r--    1 root    admin   271K Apr 11 16:39 bmalloc.root.tar.gz
-rw-r--r--    1 root    admin    74K Apr 11 16:39 bootstrap_cmds.root.tar.gz
-rw-r--r--    1 root    admin    60K Apr 11 16:39 bzip2.root.tar.gz
-rw-r--r--    1 root    admin    53K Apr 11 16:39 copyfile.root.tar.gz
-rw-r--r--    1 root    admin   4.6K Apr 11 16:39 coreTLS.root.tar.gz
-rw-r--r--    1 root    admin   6.8M Apr 11 16:39 cups.root.tar.gz
-rw-r--r--    1 root    admin   568K Apr 11 16:39 curl.root.tar.gz
-rw-r--r--    1 root    admin   213K Apr 11 16:39 cxxfilt.root.tar.gz
-rw-r--r--    1 root    admin    84K Apr 11 16:39 diskdev_cmds.root.tar.gz
-rw-r--r--    1 root    admin    11K Apr 11 16:39 disklabel.root.tar.gz
-rw-r--r--    1 root    admin    23K Apr 11 16:39 doc_cmds.root.tar.gz
-rw-r--r--    1 root    admin   193K Apr 19 22:27 dyld.root.tar.gz
-rw-r--r--    1 root    admin    32M Apr 11 16:39 emacs.root.tar.gz
-rw-r--r--    1 root    admin    66K Apr 11 16:39 expat.root.tar.gz
-rw-r--r--    1 root    admin   606K Apr 11 16:39 file.root.tar.gz
-rw-r--r--    1 root    admin   254K Apr 11 16:39 file_cmds.root.tar.gz
-rw-r--r--    1 root    admin   1.4M Apr 11 16:39 files.root.tar.gz
-rw-r--r--    1 root    admin   148K Apr 11 16:39 gnudiff.root.tar.gz
-rw-r--r--    1 root    admin    49K Apr 11 16:39 gnuserv.root.tar.gz
-rw-r--r--    1 root    admin   155K Apr 11 16:39 gnutar.root.tar.gz
-rw-r--r--    1 root    admin    60K Apr 11 16:39 gpatch.root.tar.gz
-rw-r--r--    1 root    admin    18K Apr 11 16:39 gpt.root.tar.gz
-rw-r--r--    1 root    admin   2.5M Apr 11 16:39 groff.root.tar.gz
-rw-r--r--    1 root    admin   544K Apr 11 16:39 hfs.root.tar.gz
-rw-r--r--    1 root    admin   148K Apr 11 16:39 hunspell.root.tar.gz
-rw-r--r--    1 root    admin   2.8K Apr 11 16:39 keymgr.root.tar.gz
-rw-r--r--    1 root    admin   696K Apr 11 16:39 ksh.root.tar.gz
-rw-r--r--    1 root    admin    85K Apr 11 16:39 less.root.tar.gz
-rw-r--r--    1 root    admin   7.2K Apr 11 16:39 libauto.root.tar.gz
-rw-r--r--    1 root    admin   5.7K Apr 20 20:25 libcoreservices.root.tar.gz
-rw-r--r--    1 root    admin   1.3M Apr 21 13:03 libdispatch.root.tar.gz
-rw-r--r--    1 root    admin    92K Apr 11 16:39 libedit.root.tar.gz
-rw-r--r--    1 root    admin   369K Apr 11 16:39 libevent.root.tar.gz
-rw-r--r--    1 root    admin    15K Apr 11 16:39 libffi.root.tar.gz
-rw-r--r--    1 root    admin    40K Apr 12 06:17 libfirehose_kernel.root.tar.gz
-rw-r--r--    1 root    admin   147K Apr 12 06:17 libfirehose_server.root.tar.gz
-rw-r--r--    1 root    admin   4.4K Apr 11 16:39 libgcc.root.tar.gz
-rw-r--r--    1 root    admin   747K Apr 11 16:39 libiconv.root.tar.gz
-rw-r--r--    1 root    admin    33K Apr 19 22:27 libkxld.root.tar.gz
-rw-r--r--    1 root    admin   405K Apr 21 00:58 libmalloc.root.tar.gz
-rw-r--r--    1 root    admin    44K Apr 18 13:11 libplatform.root.tar.gz
-rw-r--r--    1 root    admin   104K Apr 12 01:49 libplatform_dyld.root.tar.gz
-rw-r--r--    1 root    admin   104K Apr 12 01:49 libplatform_static.root.tar.gz
-rw-r--r--    1 root    admin    27K Apr 12 08:35 libpthread.root.tar.gz
-rw-r--r--    1 root    admin    33K Apr 12 08:45 libpthread_dyld_static.root.tar.gz
-rw-r--r--    1 root    admin    83K Apr 12 08:45 libpthread_eOS_static.root.tar.gz
-rw-r--r--    1 root    admin    83K Apr 12 08:45 libpthread_generic_static.root.tar.gz
-rw-r--r--    1 root    admin    98K Apr 11 16:39 libresolv.root.tar.gz
-rw-r--r--    1 root    admin   871K Apr 11 16:39 libstdcxx.root.tar.gz
-rw-r--r--    1 root    admin    20K Apr 11 16:39 libtelnet.root.tar.gz
-rw-r--r--    1 root    admin    31K Apr 11 16:39 libutil.root.tar.gz
-rw-r--r--    1 root    admin   648K Apr 11 16:39 libxml2.root.tar.gz
-rw-r--r--    1 root    admin   165K Apr 11 16:39 libxslt.root.tar.gz
-rw-r--r--    1 root    admin    89K Apr 11 16:39 lukemftp.root.tar.gz
-rw-r--r--    1 root    admin    83K Apr 11 16:39 lukemftpd.root.tar.gz
-rw-r--r--    1 root    admin    69K Apr 11 16:39 mail_cmds.root.tar.gz
-rw-r--r--    1 root    admin   122K Apr 11 16:39 misc_cmds.root.tar.gz
-rw-r--r--    1 root    admin    30K Apr 11 16:39 modemccl.root.tar.gz
-rw-r--r--    1 root    admin    78K Apr 11 16:39 msdosfs.root.tar.gz
-rw-r--r--    1 root    admin    82K Apr 11 16:39 nano.root.tar.gz
-rw-r--r--    1 root    admin   822K Apr 11 16:39 ncurses.root.tar.gz
-rw-r--r--    1 root    admin   237K Apr 11 16:39 ntfs.root.tar.gz
-rw-r--r--    1 root    admin    20K Apr 11 16:39 patch_cmds.root.tar.gz
-rw-r--r--    1 root    admin   507K Apr 11 16:39 pcre.root.tar.gz
-rw-r--r--    1 root    admin    27K Apr 11 16:39 pdisk.root.tar.gz
-rw-r--r--    1 root    admin    27K Apr 12 08:35 pthread_kext.root.tar.gz
-rw-r--r--    1 root    admin    16K Apr 11 16:39 removefile.root.tar.gz
-rw-r--r--    1 root    admin   208K Apr 11 16:39 rsync.root.tar.gz
-rw-r--r--    1 root    admin   307K Apr 11 16:39 sudo.root.tar.gz
-rw-r--r--    1 root    admin   899K Apr 11 16:39 swig.root.tar.gz
-rw-r--r--    1 root    admin   135K Apr 19 22:27 syslog.root.tar.gz
-rw-r--r--    1 root    admin   2.8K Apr 11 16:39 system_config.root.tar.gz
-rw-r--r--    1 root    admin   245K Apr 11 16:39 tcsh.root.tar.gz
-rw-r--r--    1 root    admin   912K Apr 11 16:39 texinfo.root.tar.gz
-rw-r--r--    1 root    admin   251K Apr 11 16:39 text_cmds.root.tar.gz
-rw-r--r--    1 root    admin    56K Apr 11 16:39 top.root.tar.gz
-rw-r--r--    1 root    admin   7.1K Apr 11 16:39 usertemplate.root.tar.gz
-rw-r--r--    1 root    admin   581K Apr 11 16:39 uucp.root.tar.gz
-rw-r--r--    1 root    admin   7.3M Apr 11 16:39 vim.root.tar.gz
-rw-r--r--    1 root    admin   115K Apr 18 11:46 xar.root.tar.gz
-rw-r--r--    1 root    admin   8.1M Apr 19 22:27 xnu.root.tar.gz
-rw-r--r--    1 root    admin    75K Apr 12 06:28 zlib.root.tar.gz
-rw-r--r--    1 root    admin   2.1M Apr 11 16:39 zsh.root.tar.gz

Todos:

port libktrace and few others to Darwin.

Projects to look forward to on PureDarwin:

SwiftFoundation for Darwin

Darwin’s Own AHCI Family OpenSource

Darwin’s eMMC Family for both arm and x86_64 (great for those smaller embedded internal SSD’s)

Darwin’s XNU Arm port