Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Creating pfSense 2.0 Developers ISO on FreeBSD Beta 8.1

    Scheduled Pinned Locked Moved Development
    70 Posts 6 Posters 44.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      trijames
      last edited by

      Jimp,

      so maybe there is something wrong with the procedure I've listed.
      Can you check it through?
      Maybe I have some of the steps in the wrong order (in particular the later steps)?

      1.) install freebsd 8.1 RC1

      2.) update the kernel source with csup
      (taken from http://www.freebsd.org/doc/en/books/handbook/makeworld.html)

      2a.) copy the supfile to the /etc

      cp /usr/share/examples/cvsup/standard-supfile /etc/supfile

      2b.) edit the supfile

      vi /etc/supfile

      2c.) add the csup server
      host=CHANGE_THIS.FreeBSD.org
      Change to:
      host=cvsup4.us.FreeBSD.org
      2d.) run csup
      #> csup /etc/supfile

      3.) build the kernel

      cd /usr/src

      make buildworld

      make buildkernel

      make installkernel

      shutdown -r now

      4.) boot into single user mode

      boot -s from the boot loader prompt

      adjkerntz -i

      mount -a -t ufs

      mergemaster -p

      cd /usr/src

      make installworld

      mergemaster

      reboot

      5.) update the ports directory using csup

      rm -fr /usr/ports/*

      csup -L 2 /etc/supfile

      6.) configure make (step 1 from devwiki.pfsense/org/DevelopersBootStrapAndevIso)

      echo "WITHOUT_X11=yo" >> /etc/make.conf

      mkdir -p /home/pfsense/pfSenseGITREPO /home/pfsense/installer /usr/pfSensesrc

      7.) grab ports and build GIT

      portsnap fetch extract

      cd /usr/ports/textproc/expat2 && make depends install

      cd /usr/ports/devel/git && make depends install

      (take the standard default settings from the menu's)

      cd /usr/ports/sysutils/fastest_cvsup/ && make depends install

      (take the standard default settings from the menu's)

      rehash

      8.) continue on with the GIT repo checkouts

      cd /home/pfsense && git clone http://gitweb.pfsense.org/pfsense-tools/mainline.git tools

      cd /home/pfsense && git clone http://gitweb.pfsense.org/freesbie2/mainline.git freesbie2

      cd /home/pfsense/tools/builder_scripts && chmod a+rx *.sh

      9.) now do the pfsense stuff

      cd /home/pfsense/tools/builder_scripts

      ./set_version.sh RELENG_8_1 cvsup4.us.freebsd.org

      # ./clean_build.sh

      ./apply_kernel_patches.sh

      (here's where I get the reject errors…)

      ./update_git_repos.sh

      (the below items might need to be manually built for anything that failed - E.G.: )

      cd /home/pfsense/tools/pfPorts/php5; make all install clean

      cd /home/pfsense/tools/pfPorts/php5-pfSense-module/; make all install clean

      cd /usr/ports/devel/readline/; make all install clean

      # cd /usr/ports/curl; make all install clean

      ./build_iso.sh

      1 Reply Last reply Reply Quote 0
      • K
        kpa
        last edited by

        About point 5.), I think you need to use cvs tag "." instead of "RELENG_8_1" for fetching ports, /usr/bin/csup -h cvsup.uk.FreeBSD.org
        /usr/share/examples/cvsup/ports-supfile should do the job (replace cvsup.uk with a mirror close to you).

        1 Reply Last reply Reply Quote 0
        • jimpJ
          jimp Rebel Alliance Developer Netgate
          last edited by

          @kpa:

          About point 5.), I think you need to use cvs tag "." instead of "RELENG_8_1" for fetching ports, /usr/bin/csup -h cvsup.uk.FreeBSD.org
          /usr/share/examples/cvsup/ports-supfile should do the job (replace cvsup.uk with a mirror close to you).

          He's using portsnap to get the ports, that supfile was just for the system sources (though since it was done earlier, it doesn't need to be done again)

          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

          Need help fast? Netgate Global Support!

          Do not Chat/PM for help!

          1 Reply Last reply Reply Quote 0
          • jimpJ
            jimp Rebel Alliance Developer Netgate
            last edited by

            I also noticed that I used this:

            ./set_version.sh HEAD

            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

            Need help fast? Netgate Global Support!

            Do not Chat/PM for help!

            1 Reply Last reply Reply Quote 0
            • jimpJ
              jimp Rebel Alliance Developer Netgate
              last edited by

              and for some reason, that still uses RELENG_8-supfile, instead of RELENG_8_1-supfile.

              Whichever supfile shows in your pfsense-build.conf, make sure it has a line like this in it, if it uses RELENG_8_1

              date=2010.06.25.00.00.00
              

              I committed an update to that file, too, so it should work. Or it does for me again…

              builder# ./set_version.sh RELENG_8_1 cvsup.livebsd.org
              
              >>> Setting builder environment to use RELENG_8_1 ...
              # Comment out the following line if you would like to automatically select an update server.
              
              >>> Custom pfsense-build.conf contains:
              ---------------------------------------------------------------------------------------
              # set_version.sh generated defaults
              export PFSENSE_VERSION=2.0-BETA3
              export FREEBSD_VERSION=8
              export FREEBSD_BRANCH=RELENG_8_0
              export PFSENSETAG=HEAD
              export PFSPATCHFILE=/usr/home/pfsense/tools/builder_scripts/../builder_scripts/patches.RELENG_8_1
              export PFSPATCHDIR=/usr/home/pfsense/tools/builder_scripts/../patches/RELENG_8_1
              export SUPFILE=/usr/home/pfsense/tools/builder_scripts/../builder_scripts/RELENG_8-supfile
              export CUSTOM_COPY_LIST=/usr/home/pfsense/tools/builder_scripts/../builder_scripts/copy.list.RELENG_8_0
              export OVERRIDE_FREEBSD_CVSUP_HOST=cvsup.livebsd.org
              export BASE_DIR=/usr/home/pfsense/tools/builder_scripts/../..
              export BUILDER_TOOLS=/usr/home/pfsense/tools/builder_scripts/..
              export BUILDER_SCRIPTS=/usr/home/pfsense/tools/builder_scripts
              export PFSPORTSFILE=buildports.RELENG_2_0
              ---------------------------------------------------------------------------------------
              
              NOTE: pfsense-build.conf values updated.  These values override pfsense_local.sh !!
              
              NOTE2: pfPorts will be rebuilt!
              
              builder# ./update_git_repos.sh 
              >>> Updating GIT REPO freesbie2...Done!
              >>> Updating GIT REPO tools...Done!
              builder# ./apply_kernel_patches.sh    
              >>> Setting CVSUp host to cvsup.livebsd.org
              >>> Removing needed files listed in patches.RELENG_8_1 HEAD
              >>> Obtaining FreeBSD sources RELENG_8-supfile...Done!
              >>> Removing old patch rejects...
              >>> Applying patches, please wait...Done!
              >>> Finding patch rejects...
              builder# 
              

              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

              Need help fast? Netgate Global Support!

              Do not Chat/PM for help!

              1 Reply Last reply Reply Quote 0
              • T
                trijames
                last edited by

                HI guys,

                good news is that it now is able to get past the apply-kernel-patches.sh - thanks to the changes and info sent on how to properly setup the environment by Jimp.  thanks for that.
                So - that is great.  I'm now trying to build the iso - and hopefully will have some good news for you in about 1 hour…

                cross my fingers (or press my thumbs in german)...

                regards
                TJ

                1 Reply Last reply Reply Quote 0
                • T
                  trijames
                  last edited by

                  HI Guys,

                  the apply-kernel-patches.sh went through clean as I mentioned earlier…
                  But when I ran the build-iso.sh... I got a few errors seen below:
                  I'm not sure if openssl for php is really needed.  But, it then looks like it is failing on dfuife_curses...

                  /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:153: error: 'zif_openssl_crl_new' undeclared here (not in a function)
                  /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:154: error: 'zif_openssl_crl_revoke_cert_by_serial' undeclared here (not in a function)
                  /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:155: error: 'zif_openssl_crl_revoke_cert' undeclared here (not in a function)
                  /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:156: error: 'zif_openssl_crl_export' undeclared here (not in a function)
                  /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:157: error: 'zif_openssl_crl_export_file' undeclared here (not in a function)
                  *** Error code 1
                  1 error
                  *** Error code 1

                  ERROR Building dnsmasq
                  ERROR Building php5-curl
                  ERROR Building php5-openssl
                  ERROR Building php5-readline
                  ERROR Building syslog-ng
                  Building athstats...main.c: In function 'getfmt':
                  main.c:73: warning: implicit declaration of function 'strcasecmp'

                  and then at the very end...

                  Checking BSDInstaller health... dfuife_curses missing [ERROR!]

                  1 Reply Last reply Reply Quote 0
                  • T
                    trijames
                    last edited by

                    Hi Jimp,

                    I'm going to and give it a try again and first run clean_build.sh before hand.
                    Here's the steps that I'm going to try.
                    btw… I've been trying the cvsup.livebsd.org mirror - but it doesn't seem to work.  I assume the livebsd.org mirror is the same as the freebsd - right?

                    cd /home/pfsense/tools/builder_scripts

                    ./clean_build.sh

                    ./set_version.sh RELENG_8_1 cvsup.livebsd.org

                    ./update_git_repos.sh

                    ./apply_kernel_patches.sh

                    # ./build-iso.sh

                    regards
                    TJ

                    1 Reply Last reply Reply Quote 0
                    • jimpJ
                      jimp Rebel Alliance Developer Netgate
                      last edited by

                      A fix for curl and readline just went into the repo from another dev.

                      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                      Need help fast? Netgate Global Support!

                      Do not Chat/PM for help!

                      1 Reply Last reply Reply Quote 0
                      • T
                        trijames
                        last edited by

                        Hi Jimp,

                        I went through the steps that I outlined in my earlier post and
                          # ./clean_build.sh (ok)
                          # ./set_version.sh RELENG_8_1 cvsup4.us.freebsd.org (livebsd.org doesn't seem to connect)..
                          # ./update_git_repos.sh (ok)
                          # ./apply_kernel_patches.sh (ok)
                          # ./build-iso.sh (errors below…)

                        so far... still a few errors during build-iso.sh.
                        It still doesn't generate an iso...
                        Any tips on what I can do to try and help to track these down?

                        .
                        .
                        ...
                        the O_NONBLOCK symbol with a syntax error.  This is apparently a
                        sh error.  Rerunning Configure with ksh apparently fixes the
                        error, then please read the section "64 bit data in perl 5.6.0 and 5.6.1"
                          /usr/local/lib/perl5/5.10.1/perl/man/man3/CPANPLUS::Error.3

                        Build dependency freetype2 of rrdtool
                        .
                        .
                        ...
                        Building olsrd
                        src/NetworkInterfaces.c:54:47: error: linux/if_ether.h: No such file or directory
                        src/NetworkInterfaces.c:55:92: error: linux/if_packet.h: No such file or directory
                        src/NetworkInterfaces.c:56:46: error: linux/if_tun.h: No such file or directory
                        src/Bmf.c:52:47: error: linux/if_ether.h: No such file or directory
                        src/Bmf.c:53:75: error: linux/if_packet.h: No such file or directory
                        Building pftop
                        .
                        .
                        ...
                        Building php5-openssl
                        /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:153: error: 'zif_openssl_crl_new' undeclared here (not in a function)
                        /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:154: error: 'zif_openssl_crl_revoke_cert_by_serial' undeclared here (not in a function)
                        /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:155: error: 'zif_openssl_crl_revoke_cert' undeclared here (not in a function)
                        /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:156: error: 'zif_openssl_crl_export' undeclared here (not in a function)
                        /usr/ports/security/php5-openssl/work/php-5.2.13/ext/openssl/openssl.c:157: error: 'zif_openssl_crl_export_file' undeclared here (not in a function)
                        *** Error code 1
                        1 error
                        *** Error code 1
                        .
                        .
                        ...
                        Building php5-readline
                        configure: error: Please reinstall libedit - I cannot find readline.h
                        .
                        .
                        ...
                        ERROR Building dnsmasq
                        ERROR Building php5-openssl
                        ERROR Building php5-readline
                        ERROR Building syslog-ng
                        .
                        .
                        ...
                        cp: directory /usr/home/pfsense/tools/builder_scripts/../../installer/installer/scripts/build does not exist
                        .: Can't open ./pfsense_local.sh: No such file or directory
                        .
                        .
                        ...
                        Checking BSDInstaller health... dfuife_curses missing [ERROR!]

                        ####################################
                        Something went wrong, check errors!
                        ####################################

                        Press enter to continue.

                        Terminated…

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          Looks like someone is working on some PHP fixes in the tools repo, I'd hold off for a day or so and try again.

                          Looks like FreeBSD's switch to using php52 ports instead of php5 (which is now php 5.3) might have caused some problems.

                          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • T
                            trijames
                            last edited by

                            HI Jimp,

                            ok thanks for the heads up. What about the other errors?
                            Are they all critical?  Or can I manage to build an ISO with the other errors after php is fixed?

                            e.g.:

                            ERROR Building dnsmasq
                            ERROR Building syslog-ng
                            and
                            Building olsrd
                            src/NetworkInterfaces.c:54:47: error: linux/if_ether.h: No such file or directory
                            src/NetworkInterfaces.c:55:92: error: linux/if_packet.h: No such file or directory
                            src/NetworkInterfaces.c:56:46: error: linux/if_tun.h: No such file or directory
                            src/Bmf.c:52:47: error: linux/if_ether.h: No such file or directory
                            src/Bmf.c:53:75: error: linux/if_packet.h: No such file or directory
                            Building pftop
                            and
                            the O_NONBLOCK symbol with a syntax error.  This is apparently a
                            sh error.  Rerunning Configure with ksh apparently fixes the
                            error, then please read the section "64 bit data in perl 5.6.0 and 5.6.1"
                              /usr/local/lib/perl5/5.10.1/perl/man/man3/CPANPLUS::Error.3
                            Build dependency freetype2 of rrdtool

                            1 Reply Last reply Reply Quote 0
                            • jimpJ
                              jimp Rebel Alliance Developer Netgate
                              last edited by

                              not sure about dnsmasq and syslog-ng, but the olsr and other errors are not really errors, they are normal output that just happens to contain the string "error", or harmless.

                              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                              Need help fast? Netgate Global Support!

                              Do not Chat/PM for help!

                              1 Reply Last reply Reply Quote 0
                              • T
                                trijames
                                last edited by

                                ok thanks.
                                I will eventually need the dnsmasq - but hoping that i can still create the iso irregardless of whether those 2 compile or not.

                                which forum (or url) can i see the status of the php5 changes being made to freebsd?
                                that way I can try to keep an eye out for it (or communicate with the developer).

                                thanks
                                TJ

                                1 Reply Last reply Reply Quote 0
                                • jimpJ
                                  jimp Rebel Alliance Developer Netgate
                                  last edited by

                                  Keep an eye on the tools repo commit log:

                                  https://rcs.pfsense.org/projects/pfsense-tools

                                  dnsmasq is being worked on right now.

                                  The person making the changes for php52 might not finish up until Monday, they went home early to watch the world cup match. :-)

                                  Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                                  Need help fast? Netgate Global Support!

                                  Do not Chat/PM for help!

                                  1 Reply Last reply Reply Quote 0
                                  • jimpJ
                                    jimp Rebel Alliance Developer Netgate
                                    last edited by

                                    Everything may be OK now. Be sure to update your ports tree, then the git repos, then build_pfPorts.sh.

                                    Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                                    Need help fast? Netgate Global Support!

                                    Do not Chat/PM for help!

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      trijames
                                      last edited by

                                      Hi Jimp,
                                      looks like the errors are still there:
                                      Here's what I did:
                                              # cd /home/pfsense/tools/builder_scripts

                                      ./set_version.sh RELENG_8_1 cvsup4.us.freebsd.org (or cvsup.livebsd.org)

                                      ./clean_build.sh

                                      ./update_git_repos.sh

                                      ./apply_kernel_patches.sh

                                      ./build_pfPorts.sh

                                      cd /home/pfsense/tools/builder_scripts

                                      ./build_iso.sh

                                      Not sure if the build_pfPorts.sh was in the right spot…

                                      Here are the errors I get in the build-iso.sh script.
                                      I'm getting a lot more errors at the earlier stages of the build-iso.sh
                                      But, the build doesn't terminate until the very end when (it looks like) fails on dfuife_curses...

                                      .
                                      ..
                                      ...

                                      Building port sshlockout_pf
                                      Ports with failures:      28
                                      ERROR Building ipsec-tools-devel
                                      File not found ipsec-tools-devel - /usr/local/sbin/racoon
                                      ERROR Building ipfw-classifyd
                                      File not found ipfw-classifyd - /usr/local/sbin/ipfw-classifyd
                                      ERROR Building check_reload_status
                                      File not found check_reload_status - /usr/local/sbin/check_reload_status
                                      ERROR Building dhcplease
                                      File not found dhcplease - /usr/local/sbin/dhcpleases
                                      ERROR Building filterdns
                                      File not found filterdns - /usr/local/sbin/filterdns
                                      ERROR Building dnsmasq-no-isc-dhcp-parser
                                      ERROR Building isc-dhcp30-server
                                      File not found isc-dhcp30-server - /usr/local/sbin/dhcpd
                                      ERROR Building isc-dhcp30-relay
                                      File not found isc-dhcp30-relay - /usr/local/sbin/dhcrelay
                                      ERROR Building minicron
                                      File not found minicron - /usr/local/bin/minicron
                                      ERROR Building php52-pfSense-module
                                      File not found php52-pfSense-module - /usr/local/lib/php/20060613/pfSense.so
                                      ERROR Building 3gstat_um175
                                      File not found 3gstat_um175 - /usr/local/bin/3gstat
                                      ERROR Building wrapalixresetbutton
                                      File not found wrapalixresetbutton - /usr/local/sbin/alixresetbtn
                                      ERROR Building voucher
                                      ERROR Building dnswatch
                                      ERROR Building gzsig
                                      ERROR Building ssh_tunnel_shell
                                      ERROR Building sshlockout_pf
                                      Building athstats...main.c: In function 'getfmt':
                                      main.c:73: warning: implicit declaration of function 'strcasecmp'
                                      .
                                      ..
                                      ...
                                      Installing packages:
                                      grub-0.97_3
                                      Phase populate_extra...
                                      Making devd... Done.
                                      Using FreeBSD 7 BSDInstaller dfuibelua structure.
                                      Merging extra items...
                                      Running plugins: customroot customscripts pkginstall buildmodules rootmfs varmfs etcmfs Done!
                                      ==> Building syslogd...
                                      ==> Installing syslogd to /usr/local/pfsense-fs/usr/sbin/...
                                      ==> Building clog...
                                      ==> Installing clog to /usr/local/pfsense-fs/usr/sbin/...
                                      Using /usr/home/pfsense/tools/builder_scripts/../builder_scripts/copy.list.RELENG_8_0...
                                      Populating newer binaries found on host jail/os (usr/local)...
                                      Installing collected library information (usr/local), please wait...
                                      chroot'ing and running /etc/rc.php_ini_setup
                                      Using FreeBSD 7 BSDInstaller dfuibelua structure.
                                      Copying config.xml from conf.default/ to cf/conf/
                                      Testing PHP installation in /usr/local/pfsense-fs: FCGI-PASSED PASSED  [OK]
                                      Checking BSDInstaller health… dfuife_curses missing [ERROR!]

                                      1 Reply Last reply Reply Quote 0
                                      • jimpJ
                                        jimp Rebel Alliance Developer Netgate
                                        last edited by

                                        Another dev and I have been making quite a lot of changes to the builder code over the weekend, polishing things up.

                                        I don't see any reason why those other ports would have failed. They all work OK for me now, both on x86 and amd64.

                                        # portsnap fetch && portsnap extract  (Or update ports by csup, however you normally do it)
                                          # cd /home/pfsense/tools/builder_scripts
                                          # ./update_git_repos.sh
                                          # ./clean_build.sh (Not really necessary most of the time, but shouldn't hurt, just adds time)
                                          # ./set_version.sh RELENG_8_1 cvsup4.us.freebsd.org (or cvsup.livebsd.org)   (Not needed except for the first run, really)
                                          # ./apply_kernel_patches.sh
                                          # ./build_pfPorts.sh (Actually build_iso.sh will run this, no need to do it on its own unless you are testing)
                                          # ./build_iso.sh

                                        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                                        Need help fast? Netgate Global Support!

                                        Do not Chat/PM for help!

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          trijames
                                          last edited by

                                          Thanks Jimp,
                                          I'll give it another try… Hopefully I can get it to work!

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            kpa
                                            last edited by

                                            I'm not getting errors at the build ports phase but the build stops at the dfuife_part as well:

                                            Checking BSDInstaller health… dfuife_curses missing [ERROR!]

                                            Question, is it necessary to build and install any of the standard ports in /usr/ports before running build_iso.sh?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.