|TuxScreen on SourceForge||TuxScreen CVS||search the Wiki|
|Browsing -> Wiki -> Main -> [FreeSWAN]|
|edit, info, topics, orphans, hubs and nodes, or recent changes in the Wiki||create a new user or login|
Freeswan employs a custom-built build system intended to wrap around the usual Linux kernel build; it's a somewhat involved process working around the assumptions made therein to fit the target.
Haven't succeeded yet, but here are my notes so far:
gmp : freeswan's userspace utilities depend on libgmp3, I presume to handle the keying operations. GMP is surprisingly friendly to cross-compilation; the GMP documentation actually explains the procedure.
This build works on my Debian machine using the uClibc toolchain:
./configure CC=/usr/local/src/buildroot-tux/build/stage/usr/bin/arm-uclibc-gcc --prefix=/usr LD=/usr/local/src/buildroot-tux/build/stage/usr/bin/arm-uclibc-ld --host=arm-linux --build=i386-pc-linux-gnu make prefix=../stage install
kernel : this was a fairly easy part. I first generated a kernel patch by unpacking a stock 2.4.18 kernel tree, then running the freeswan build system against it, then doing a 'make mrproper' and generating a patch from the result. The patch applied cleanly against 2.4.18-rmk6-tux1. Ran menuconfig to enable ipsec, built the kernel.
freeswan : the freeswan utilities are (so far) the hard part. The freeswan build system makes quite a few assumptions about the target based on the build host, most of which are invalid when cross-compiling. The Familiar project has made some headway on this front that might be useful. Freeswan also assumes the runtime availability of egrep and gawk atleast, so it may take some tinkering yet.
|Content of these pages are owned and copyrighted by the poster.|