Creating pfSense 2.0 Developers ISO on FreeBSD Beta 8.1
-
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
-
The maker of the howto (who I contacted) suggested modifying /home/pfsense/tools/builder_scripts/conf/pfSense*.8* too (which I did), but that did not do anything. Driver is still in there.
Gonna try the MODULES_OVERRIDE next, see if that does what you said.
edit: I do not see MODULES_OVERRIDE in that file ??? -
It's not in there by default, you'll have to add that whole line I quoted.
Also FYI- I forgot to mention that sometimes the first build_pfPorts.sh run and the first build_iso.sh run will have a failure, but the second and later runs are fine. There are some dependencies that apparently get built on the first run that don't quite end up in all the right places until the second and later runs.
-
Ah okay.
It's added, but I changed ath to if_ath, that what the driver is named ;)
Now cleaning up previous build and then I'm gonna try this.Hopefully this time something actually goes as planned.
edit: crap, it checks the name of the folder, not name of the module. So yet another attempt…
edit2: It now shows up as separate module, however, it is also still in the kernel...
(Deleted the driver, Atheros card still recognized and shown in list of interfaces.)