steps to build arm64 version of xnu-4570.1.46
Following are my steps to build the ARM64 version of xnu-4570.1.46, hope this is helpfull for saving time. | |
1. Use Xcode 9.0 | |
2. Preparation is same as macOS, and there is a guide: https://0xcc.re/building-xnu-kernel-macosx-sierrra-10-12-x/ | |
3. There is an ARM64 version libfirehose: https://github.com/Proteas/install_firehose_lib | |
4. Copy and edit the ARM64 config(CFLAGS, LDFLAGS) from darwin-on-arm/xnu to your target project | |
5. Example CFLAGS: -Darm64 -DARM64 -D__arm64__ -D__ARM64__ -DLP64 -DCONFIG_EMBEDDED -mkernel -DARM64_BOARD_CONFIG_T8011=1 | |
6. Fix compiling stage errors by directly importing the missing headers or editing the code | |
7. Fix linking stage errors by implementing place holder funcitons for: chudxnu_cpu_alloc, etc | |
8. If missing symbol __divti3 in linking stage, get the runtime from llvm. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment