OpenVPN is an open source software application used for creating SSL/TLS VPN that provides secure point-to-point connections in routed or bridged configurations and remote access facilities.
Cross-compiling the latest version 2.3.2 is an easy procedure, no makefiles of other files have to be modified:
As normal, set the environment variables that make our life easier. Change them according to your needs. These settings are for an ARM based processor:
$ export HOST=arm-linux
$ export BUILD=i386-linux
$ export PREFIX=/home/projects/rootfs/usr/local
I already have OpenSSL and LZO installed in my embedded system (buildroot installed them for me), however I had to specify where the LZO header files and library were located:
Compilation and installation
The last step will install some documentation that you can get rid of, a header file openvpn-plugin.h that you will need only if you compiile an OpenVPn plugin and the binary openvpn that is what you need.
Here are some tutorials for configuring an OpenVPN client/server and learning the basic ideas behind it:
That’s it. Have fun!