Simplest possible setup (FreeBSD)

On FreeBSD you need a little more magic in your /etc/rc.conf, specifically according to the FreeBSD Handbook[1]

pf_enable="YES"                 # Enable PF (load module if required)
pf_rules="/etc/pf.conf"         # rules definition file for PF
pf_flags=""                     # additional flags for pfctl startup
pflog_enable="YES"              # start pflogd(8)
pflog_logfile="/var/log/pflog"  # where pflogd should store the logfile
pflog_flags=""                  # additional flags for pflogd startup

On FreeBSD, PF by default is compiled as a kernel loadable module. This means that you should be able to get started with $ sudo kldload pf, followed by $ sudo pfctl -e to enable PF. Assuming you have put these lines in your /etc/rc.conf, you can use the PF rc script to start PF:

$ sudo /etc/rc.d/pf start

Notes

[1]

There are some differences between the FreeBSD 4.n and 5.n and newer releases with respect to PF. Refer to the FreeBSD Handbook, specifically the PF chapter to see which information applies in your case.