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