xref: /xnu-12377.41.6/config/README.DEBUG-kernel.txt (revision bbb1b6f9e71b8cdde6e5cd6f4841f207dee3d828)
1*bbb1b6f9SApple OSS DistributionsThis directory contains a universal DEBUG kernel, built for 32-bit and
2*bbb1b6f9SApple OSS Distributions64-bit Intel. It includes a dSYM bundle for remote kernel debugging
3*bbb1b6f9SApple OSS Distributionsand live kernel debugging.
4*bbb1b6f9SApple OSS Distributions
5*bbb1b6f9SApple OSS DistributionsINSTALLATION
6*bbb1b6f9SApple OSS Distributions
7*bbb1b6f9SApple OSS Distributions!!!WARNING!!! These steps will overwrite the default kernel and
8*bbb1b6f9SApple OSS DistributionsSystem.kext. Backup all files before attempting these steps.
9*bbb1b6f9SApple OSS Distributions
10*bbb1b6f9SApple OSS DistributionsTo install the DEBUG kernel, do:
11*bbb1b6f9SApple OSS Distributionsbash-3.2$ sudo -s
12*bbb1b6f9SApple OSS Distributionsbash-3.2# cd /
13*bbb1b6f9SApple OSS Distributionsbash-3.2# ditto /AppleInternal/Developer/Extras/Kernel\ Debugging/System.kext /System/Library/Extensions/System.kext
14*bbb1b6f9SApple OSS Distributionsbash-3.2# cp -r /AppleInternal/Developer/Extras/Kernel\ Debugging/mach_kernel* /
15*bbb1b6f9SApple OSS Distributionsbash-3.2# chown -R root:wheel /System/Library/Extensions/System.kext /mach_kernel*
16*bbb1b6f9SApple OSS Distributionsbash-3.2# chmod -R g-w /System/Library/Extensions/System.kext /mach_kernel*
17*bbb1b6f9SApple OSS Distributionsbash-3.2# touch /System/Library/Extensions
18*bbb1b6f9SApple OSS Distributionsbash-3.2# shutdown -r now
19*bbb1b6f9SApple OSS Distributions
20*bbb1b6f9SApple OSS DistributionsREMOTE KERNEL DEBUGGING
21*bbb1b6f9SApple OSS Distributions
22*bbb1b6f9SApple OSS DistributionsSee the documentation that accompanies the Kernel Debug Kit
23*bbb1b6f9SApple OSS Distributions
24*bbb1b6f9SApple OSS DistributionsLIVE KERNEL DEBUGGING
25*bbb1b6f9SApple OSS Distributions
26*bbb1b6f9SApple OSS DistributionsWith the DEBUG kernel installed, set "kmem=1" in your "boot-args"
27*bbb1b6f9SApple OSS DistributionsNVRAM variable, reboot, and do:
28*bbb1b6f9SApple OSS Distributions
29*bbb1b6f9SApple OSS Distributionsbash-3.2$ sudo gdb -a <arch> --quiet /mach_kernel
30*bbb1b6f9SApple OSS Distributions(gdb) target darwin-kernel
31*bbb1b6f9SApple OSS Distributions(gdb) source /AppleInternal/Developer/Extras/Kernel\ Debugging/kgmacros
32*bbb1b6f9SApple OSS DistributionsLoading Kernel GDB Macros package.  Type "help kgm" for more info.
33*bbb1b6f9SApple OSS Distributions(gdb) attach
34*bbb1b6f9SApple OSS DistributionsConnected.
35*bbb1b6f9SApple OSS Distributions
36*bbb1b6f9SApple OSS Distributions<arch> should reflect the currently booted kernel architecture, either
37*bbb1b6f9SApple OSS Distributions"i386" or "x86_64"
38*bbb1b6f9SApple OSS Distributions
39*bbb1b6f9SApple OSS Distributions
40