If you need to provide crash data to the pfSense developers, please follow this document.
First, download a developers debugging kernel:
# Full installation
fetch -o /root/kernel.debug http://www.pfsense.com/~sullrich/debugging_kernels/1.0-RC1/kernel
# Embedded installation
/etc/rc.conf_mount_rw
fetch -o /root/kernel.debug http://www.pfsense.com/~sullrich/debugging_kernels/1.0-RC1/kernel.embedded
/etc/rc.conf_mount_ro
Backup the old kernel:
/etc/rc.conf_mount_rw
mv /boot/kernel/kernel /root/kernel.orig
mv /boot/kernel/kernel.gz /root/kernel.orig
/etc/rc.conf_mount_ro
Install the new kernel:
/etc/rc.conf_mount_rw
mv /root/kernel.debug /boot/kernel/kernel
/etc/rc.conf_mount_ro
# reboot system
shutdown -r now
You most likely want to enable a serial port unless you wish to hand scribe about 10+ pages of text...
Crash it!
Type each of these commands at the db> prompt:
bt
bt all
show allpcpu
show alllocks
show lock
ps
set $lines 0
allt
show lockedvnods
reset
If you wish to build your own developers kernel with debugging:
You need the following in your kernel file (or use
this∞ kernel configuration file):
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options KDB # Enable kernel debugger support.
options DDB # Support DDB.
options GDB # Support remote GDB.
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
There are no comments on this page. [Add comment]