Welcome to the NeoDarwin project! This is, as the name suggests, yet another Darwin derived OS project.
NeoDarwin is different from alternative Darwin approaches, the toolchain is setup to reflect the toolchain setup used under macOS.
The goal is to be based on a variety of different repositories to reduce the maintenance complexity, and to ensure that builds are sparse and components are easily separated at build time.
The current target for NeoDarwin is to build using the released source code for macOS Catalina 10.15.6, otherwise known as Darwin 19.6
Currently, the project has two key major targets:
- Build a minimal system image
- Get it booting on live hardware
This is then further dividied into numerous projects and targets:
- Build a working toolchain
- Build a fresh bootloader that supports newer kernel features, such as the Kext Collection format and KASLR.
- Upgrade the kernel to support more hardware
- Build a fresh userspace, with a new libxpc implementation and new utilities and libraries built from the ground up for Darwin
Apple's own source releases are complicated to build, and require intense research to properly build.
A full system build is complicated, time costly and overall an annoyance, even with advancements in earlier years such as darwinbuild.
A newer build system is on the way! It remains closed for now, but will be released when it's ready.
AI generated code is not accepted.
Do not submit pull requests with AI generated code.