Creating pfSense 2.0 Developers ISO on FreeBSD Beta 8.1
-
@kpa:
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?
Ideally, no, but in the past it has been necessary to build at least PHP on the builder box (and more recently the pfSense PHP module).
Have you updated the git repos and done a full build today? I thought someone committed a fix for curses over the weekend.
-
HI Jimp,
well the good news is that it went through your listed steps as you outlined earlier cleanly this time!
(except this…
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
)So, it is the cleanest build so far...
But, I still got the dfuife_curses error at the very end:
Checking BSDInstaller health... dfuife_curses missing [ERROR!]
Everything else is clean!
How are you getting dfuife_curses to build?
Are you building manually?
I also set environment variable force-pkg-register
#> setenv FORCE_PKG_REGISTERNot sure if that helped with the cleaner build…
But looks like the ISO still isn't going to be generated until I solve the dfuife_curses issue.regards
TJ -
(except this…
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
)That's harmless
But, I still got the dfuife_curses error at the very end:
Checking BSDInstaller health… dfuife_curses missing [ERROR!]
Everything else is clean!
How are you getting dfuife_curses to build?
Are you building manually?
I also set environment variable force-pkg-register
#> setenv FORCE_PKG_REGISTERNot sure if that helped with the cleaner build…
But looks like the ISO still isn't going to be generated until I solve the dfuife_curses issue.I'm not sure why that is still failing. You might try to rm -rf /usr/local/pfsense-clone/ and then run the build again.
That, or:
cd /usr/home/pfsense/tools/builder_scripts/installer/ports/sysutils/dfuife_curses
make install clean
And then redo the build.
-
Hi Jimp,
ok thanks - I'll try it.
-
Hi Jimp,
i think there was a typo in the directory - but will ask just in case.
I cd /usr/home/pfsense/installer/ports/sysutils/dfuife_curses.here's what I get when I try to make install clean…
freebsd81rc1386# make install clean
===> Vulnerability check disabled, database not found
===> License check disabled, port has not defined LICENSEDistfile dfuife_curses-1.5.1.tar.gz not found!
This is an 'INTERNAL' port, meaning that the distfile is not retrieved
from the Internet, but rather created from a local checkout of the
BSD Installer CVS repository. Please see the shell scripts in the
scripts/build directory of the repository for more information on how
to create these distfiles.
*** Error code 1Stop in /usr/home/pfsense/installer/ports/sysutils/dfuife_curses.
-
Hi Jimp,
1 more…
I tried to remove the dir pfsense-clone - but didn't find it.
I assume that is now called pfsense-fs? -
-
thanks Jimp,
Now that I've isolated it down to 1 issue (dfuife_curses)…
I was wondering - how can I test whether it will fail on dfuife_curses first before trying to run build-iso.sh?that way I can save a good 1+ hours on building beforehand...
Any tricks?
regards
TJ -
The test is:
if [ ! -f "$PFSENSEBASEDIR/usr/local/sbin/dfuife_curses" ]; then
And $PFSENSEBASEDIR is usually /usr/local/pfsense-fs, so look for:
/usr/local/pfsense-fs/usr/local/sbin/dfuife_curses
-
Hi Jimp,
that did it!
here's what I did:#> rm -fr /usr/local/pfsense-fs
#> ./rebuild_bsdinstaller.sh
#> ./build-iso.shthanks for all your outstanding support! You were very responsive!
Hopefully now I can make the customizations I need to make… :-)regards
James -
Gonna bump this thread.. Trying to build a pfsense ISO and getting a ton of patch rejections.
My pfsense-build.conf was generated using set_version HEAD. I added the date line in the 8.1 supfile (even though the date is before the 8.1 release?)
Attached are my pfsense-build.conf and build log. I looked at some of the rejections and some of the patches seem like they are for a completely different source tree
-
It should be building against RELENG_8_1 with no date= line.
-
Actually tried that first, outputs the same rejection errors.
-
make sure the supfile being used actually references RELENG_8_1 and has no date line, don't trust the name of the file.
-
Gah, I trusted the file but it referenced RELENG_8_0. Also had a date line. Seems to be working fine now.
-
Just trying to compile and build ISO but got a lots of patch error. Actually I trying to the new kernel compile. Any shortcut just to get just a kernel compile? I needs to test a cdce driver for my wimax usb device. It's used usb-ethernet interface.
-
Right now I am trying to create a pfSense 2.0 ISO following this howto: http://devwiki.pfsense.org/DevelopersBootStrapAndDevIso
The only thing I modified was the /etc/make.conf to exclude the ath(4) driver from compiling.Also got some errors along the way:
>>> Building olsrd >>> Building port 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 perl5.10 >>> Building port wol 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 >>> Ports with failures: 0 >>> Building athstats...main.c: In function 'getfmt': main.c:73: warning: implicit declaration of function 'strcasecmp' Done! After cleaning of the build directories: >>> Fetching BSDInstaller using CVSUP... >>> Updating BSDInstaller collection...Done! 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 >>> Setting CVSUp host to cvsup7.freebsd.org
….
Aaaah f*ck, no space left, so I can start all over.
Waisted hours.... -
And AGAIN it failed. No clue about the cause this time.
Request to developers: Please remove the ath(4) driver from the kernel and add it as separate module to /boot/kernel/ so that it is possible to update it by users without having to recompile everything that does not even will go without errors.
edit: the log from Putty, saved everything from running ./menu.sh to end: http://www.ravenslair.nl/files/Putty-pfSense.log
edit2: saw a familiar error, from the previous page: dfuife_curses missing [ERROR!]
Hi Jimp,
that did it!
here's what I did:#> rm -fr /usr/local/pfsense-fs
#> ./rebuild_bsdinstaller.sh
#> ./build-iso.shthanks for all your outstanding support! You were very responsive!
Hopefully now I can make the customizations I need to make… :-)regards
JamesThe 1st command says "Operation not permitted" at most lines, "Directory not empty" on the rest. And yes, logged on as root.
2nd:freebsd# ./rebuild_bsdinstaller.sh cd: can't cd to /usr/home/pfsense/tools/builder_scripts/../../installer/installer/scripts/build >>> Creating installer tarballs...Done! >>> Copying ports to the ports directory...Done! >>> Rebuilding BSDInstaller...Done! freebsd#
3rd command:
not found., underscore instead of - ….(Another) edit:
I now actually have an ISO, but not where it was supposed to be according the howto. Found it at /tmp/builder ??? ??? -
Just tried the ISO.
Apparently it is not possible to prevent a driver from being compiled into the kernel, or I am doing something wrong.
According to Google adding WITHOUT_MODULES = ath to /etc/make.conf should be enough, guess it's not. -
Building an iso works for me on a builder I setup today…
./set_version.sh HEAD cvsup.example.com me@example.com ./update_git_repos.sh ./apply_kernel_patches.sh ./build_pfPorts.sh ./build_iso.sh
I don't use the menu myself. (I've been using the builder code since before the menu existed… :-)
Though after you update the repos you probably want to edit the kernel configs in /home/pfsense/tools/builder_scripts/conf/pfSense*.8* to make your changes. Don't update the git repos again unless you want to lose your changes (or you could check them in locally I suppose...)
Also look at MODULES_OVERRIDE in the pfsense-build.conf file, you could set it like so:
export MODULES_OVERRIDE="i2c ipmi acpi ndis ipfw ipdivert dummynet fdescfs cpufreq opensolaris zfs glxsb runfw if_stf ath"
and that should cause ath to be built at a module instead, if I'm remembering correctly. The other values there are the default contents of MODULES_OVERRIDE from pfsense_local.sh