Known-good build for embedded / wrap

  • Hi all,

    I'm new to pfsense but long-time m0n0 developer.

    Having tried the development ISO (and being able to build a real ISO for RELENG_6_2), I tried compiling both RELENG_6_2 and RELENG_6_1 for embedded (…. and they both fail early in the process.

    cvs update: Updating updates
    #### Building world for i386 architecture ####
    >>> Rebuilding the temporary build tree
    >>> stage 1.1: legacy release compatibility shims
    >>> stage 1.2: bootstrap tools
    >>> stage 2.1: cleaning up the object tree
    >>> stage 2.2: rebuilding the object tree
    >>> stage 2.3: build tools
    >>> stage 3: cross tools
    >>> stage 4.1: building includes
    >>> stage 4.2: building libraries
    >>> stage 4.3: make dependencies
    >>> stage 4.4: building everything
    #### Building kernel for i386 architecture ####
    >>> Kernel build for pfSense_wrap.6 started on Mon Feb 26 16:50:34 UTC 2007
    >>> stage 1: configuring the kernel
    Something went wrong, check errors!
    Log saved on /usr/obj.pfSense/home/pfsense/freesbie2/.tmp_buildkernel
    *** Signal 15
    Stop in /home/pfsense/freesbie2.

    .tmp_buildkernel states:```
    config: Error: device "enc" is unknown
    config: 1 errors
    *** Error code 1

    Stop in /usr/src.
    *** Error code 1

    Stop in /usr/src.

    Is there a known-good configuration/tag that I can use to build an embedded image on which to experiment some patches?
    Any help will be greatly appreciated (as I've been reading scripts for the last 5 days… and still have no grasp on the freesbie compile process).
    Shall I start with a clean BSD install (instead of the developer image I'm using now)?
    Thank you!

  • Check the developers related section of . You'll find build instructions there as well.

  • @hoba:

    Check the developers related section of . You'll find build instructions there as well.

    I'm currently following and building world on a clean 6.1 install with RELENG_6. I will know tomorrow if it works :)

    Does this mean that the developer iso shall not be used for builds?
    It seems that some of the patches for pfsense are not up-to-date with the RELENG version or perhaps they're not being applied.
    Do I need to set freebsd_branch to RELENG_6, 6_1 or 6_2 with the current CVS of pfsense ?

    Sorry for being too noisy… I hope I'll have enough info to start doing something usefull.


  • The developers iso should just work. pfSense uses FreeBSD 6.2 now.

  • @hoba:

    The developers iso should just work. pfSense uses FreeBSD 6.2 now.

    Ok, I tried with RELENG_6_2, updated my build still no go… I think I'll post my configuration files here for reference....

    pfbuild# cat /etc/current-supfile
    *default base=/root/pfSense
    *default release=cvs
    *default delete use-rel-suffix
    *default compress

    pfbuild# egrep -v '^#|^$' /home/pfsense/tools/builder_scripts/ | grep -v '^$'
    export BASE_DIR=${BASE_DIR:-/home/pfsense}
    export CVS_CO_DIR=${CVS_CO_DIR:-${BASE_DIR}/pfSense}
    export CVS_USER=${CVS_USER:-sullrich}
    export CVS_IP=${}
    export UPDATESDIR=${UPDATESDIR:-$BASE_DIR/updates}
    export PFSENSEBASEDIR=${PFSENSEBASEDIR:-/usr/local/pfsense-fs}
    export PFSENSEISODIR=${PFSENSEISODIR:-/usr/local/pfsense-clone}
    export FREESBIE_PATH=${FREESBIE_PATH:-/home/pfsense/freesbie2}
    export FREESBIE_CONF=${FREESBIE_CONF:-/dev/null} # No configuration file should be override our variables
    export SRCDIR=${SRCDIR:-/usr/src}
    export BASEDIR=${PFSENSEBASEDIR:-/usr/local/pfsense-fs}
    export CLONEDIR=${PFSENSEISODIR:-/usr/local/pfsense-clone}
    export ISOPATH=${ISOPATH:-${MAKEOBJDIRPREFIX}/pfSense.iso}
    export IMGPATH=${IMGPATH:-${MAKEOBJDIRPREFIX}/pfSense.img}
    export PKGFILE=${PKGFILE:-$PWD/conf/packages}
    export FREESBIE_LABEL=pfSense
    export EXTRA="${EXTRA:-"customroot buildmodules"}"
    export BUILDMODULES="netgraph acpi ndis if_ndis padlock ipfw dummynet fdescfs"
    MAKEJ=" "
    export pfSense_version="6"
    export freebsd_branch="RELENG_6_2"
    export SKIP_RSYNC=yes
    export SKIP_CHECKOUT=yes

    BSD and ports were updated with this files:

    pfbuild# egrep -v '^#|^$' /root/standard-supfile
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=RELENG_6_2
    *default delete use-rel-suffix
    *default compress

    pfbuild# egrep -v '^#|^$' /root/ports-supfile
    *default base=/var/db
    *default prefix=/usr
    *default release=cvs tag=.
    *default delete use-rel-suffix
    *default compress

  • Ok… success (compiling) at last. Reading some more build scripts I found that some of the information from the wiki si somehow outdated...

    That is, cvsup_current uses the files in the buildlder_scripts directory and not /etc/current-supfile as stated:

    cvsup -h cat /var/db/fastest_cvsup ./${freebsd_branch}-supfile
    cvsup -h cat /var/db/fastest_cvsup ./ports-supfile

    Also the CVS version of pfSense to checkout during build is in /home/pfsense/tools/builder_scripts/pfSense-supfile  (used with cvsup pfSense-supfile).

    One last thing... SKIP_CHECKOUT is somewhat not operational... I can see the comments in but it is never utilized... so I just commented out update_cvs_depot from


  • You might create a wiki account and update the docs when you have a chance.  Thanks