Easy VMware images
-
Apart from installing from the ISO onto a hard disk image there is an alternative with VMware, simply use the embedded image directly! Create a VMware machine and simply replace the vmdk file with something like this:
# Disk DescriptorFile version=1 CID=5330bc69 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 124086 FLAT "pfSense.img" 0 # The Disk Data Base #DDB ddb.adapterType = "ide" ddb.geometry.sectors = "63" ddb.geometry.heads = "16" ddb.geometry.cylinders = "208" ddb.virtualHWVersion = "4"
With pfSense.img being the embedded image from downloads. The number preceeding is the image size in 512 blocks, so simply divide the image size by 512.
Note a serial port will need to be enabled in the virtual machine as the embedded image has no video support.
Named Pipe: /tmp/.pfsense This end is the server. The other end is an application.
Connect to the serial console via the named pipe on the host machine.
$ socat /tmp/.pfsense stdio,raw,echo=0
This should make it easier to test HDD/CF image builds of pfSense.
-
And for the rest of the people on windows, use the named pipes tcp proxy to access the serial port from running vmware hosts:
http://www.vmware.com/community/thread.jspa?threadID=28508&tstart=0
I use this all the time and it works great.
-
I've been trying to work up a developer's image for Qemu for those interested. For some reason pfsense can't locate /conf on this one though. Help is appreciated in getting this working, Qemu being free and all. ;) Not mention much more multi-platform. (I'm on a mac here.)
http://www.numbski.net.nyud.net:8080/downloads/pfSense%20Developer%20Qemu%209-12-2006.qcow.gz
(Nevermind, figured it out. You need to boot to single user mode, do /sbin/mount -a, then rm /conf, mkdir /conf. Seems that /conf is a symlink leading to nowhere. Doing this fixes it. Then just type "exit" and the boot process will complete just fine. :)
-
If anyone is reading this or following at all, you might want to hold up. The developer bootstrap doesn't happen automagically on the image I have posted right now. You have to get into the OS, go to a shell, and then manually run dhclient (myinterface) to get an ip address from qemu's dhcp server (which proxies to your interface), then manually run the bootstrap, which, on top of qemu being slow due to emulation, takes ages. If you're patient I'll post an updated developer image that already has the bootstrap done. :)
I'll also document setup for Macs in the wiki. I'm using a compressed disk image to keep the size as small as possible.
-
If anyone is reading this or following at all, you might want to hold up. The developer bootstrap doesn't happen automagically on the image I have posted right now. You have to get into the OS, go to a shell, and then manually run dhclient (myinterface) to get an ip address from qemu's dhcp server (which proxies to your interface), then manually run the bootstrap, which, on top of qemu being slow due to emulation, takes ages. If you're patient I'll post an updated developer image that already has the bootstrap done. :)
You are not necessarily required to use Qemu's user mode network stack (see: http://www.qemu.com/qemu-doc.html#SEC23). It is also possible to use a OS X tun/tap driver (see: http://www-user.rhrk.uni-kl.de/~nissler/tuntap/), which enables you to use Qemu's TAP network interface (see: http://www.qemu.com/qemu-doc.html#SEC22).
Regards
Daniel S. Haischt -
To update this for the 128MB embedded images the vmware virtual disk file should be
# Disk DescriptorFile version=1 CID=95a2f971 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 239144 FLAT "pfSense.img" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "1024" ddb.geometry.heads = "64" ddb.geometry.sectors = "32" ddb.adapterType = "ide"