First thing you have to do is to take a fresh FreeBSD 4.8-STABLE
( RELENG_4 ) source tree with CVSup or AnonCVS:
# setenv CVSROOT anoncvs@anoncvs2.de.freebsd.org:/home/ncvs
# cvs -q get -r RELENG_4 -P src
CVSup will look like this :
# touch stable-file
# ee stable-file
*default host=cvsup.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
*default compress
src-all
After that you need to get the patch file from: http://www.trl.ibm.com/projects/security/ssp/buildfreebsd.html
or from our download section protector-fbsd-4.8-20.patch.
Follow this steps to have a working FreeBSD 4.8-STABLE ProPolice
box:
# cd /usr/src
# patch -p0 < /path/to/protector-fbsd-4.8-20.patch
# cd /usr/src/gnu/lib/libgcc
# make clean && make depend && make all install
# cd /usr/src/gnu/usr.bin/cc
# make clean && make depend && make all install
# cd /usr/src/lib/libc
# make clean && make depend && make all install
# touch /etc/make.conf
# ee /etc/make.conf
CFLAGS= -O -pipe -fstack-protector
COPTFLAGS= -O -pipe -fstack-protector
# cd /usr/src
# make clean
# make buildworld
# make buildkernel KERNCONF=#YOURKERNEL#
# make installkernel KERNCONF=#YOURKERNEL#
# shutdown now
# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
# adjkerntz -i
# cd /usr/src
# make installworld
# mergemaster
# reboot
Congratulations now you have a complete precompiled version
of FreeBSD 4.8-STABLE with ProPolice :-).
NOTE: In order to upgrade as the following steps, you
will have to use cvs instead of cvsup to avoid clobbering the
patch.
# cvs update -r RELENG_4 -d -P src
# make buildworld
# make installworld