Thanks much Brian.
I will try some of these alternatives, and I need to understand a bit more about the vmware bundle and file system layout for the VMS.
I want to make sure that I conveyed my problem precisely. So here it is again -
I build the XNU kernel ( w/o any ancillary open source or whatever), following Shantonu’s great blog. Now I just take the kernel (either from the Release or Debug build) and replace the Off-the-shelf kernel and boot. In either case I don’t get the boot to finish and get to a command prompt. ( This is what I thought I would get, and probably it would boot to single user, run level 0 or 1 ).
So I get back to the Off-The_shelf based snapshot, and make changes to make sure I have Host/Target over ip debugging works. Then when the debugging set up is done. I replace the kernel as before,and boot up. The configuration takes effect,so instead of panic, it gets to the Waiting for debugger connection …
Now since the ip and mac are bogus, I can not connect the debugger to the target.
one more question (though different ) is that - Is there any kernel variable that we can toggle on the target using sysctl to trigger a break into the debugger. Or if there is any key-combination that would do that. This is when kernel debugger connection is fine, and I let the target to boot completely, then I want to break in. Assume I don’t have any component running where I can set BP before letting the target go on running.
Thanks, Prokash
On Apr 7, 2015, at 9:22 AM, Brian Bechtel < email@hidden> wrote: VMware maintains the nvram variables in the virtual machine bundle, in the *nvram file inside the bundle. Running in the vm, you can set the boot-args in a working partition and then boot to your test partition, or boot single user and set the nvram values there. The typical value would be sudo nvram boot-args="debug=0x146"
Also, I found this little shell script somewhere on the Intarweb which sends an NMI to your VM. Keep a copy inside the vmwarevm bundle.
#!/bin/bash
DIR=$(dirname $0)
/Applications/VMware\ Fusion.app/Contents/Library/vmrun suspend $DIR/*.vmx perl -i -pe 's/(?<=pendingNMI\x00{4})\x00/\x01/' *.vmss /Applications/VMware\ Fusion.app/Contents/Library/vmrun start $DIR/*.vmx
|