If you haven't configured linux kernel before, please consult linux/README before doing that. We have some example configurations files in hipl/test/configs for "typical" systems. You can use one of those as a template, and modify it to suite the needs of your system. Read hipl/test/configs/README before doing so.
The 2.6 kernel series should be compilable with both gcc 2.9x and 3.x series. We recommend the latter.
Download linux kernel 2.6.x.y. Compile the kernel with at least the following options:
Legend: [*] built-in [ ] excluded <M > module < > module capable
Code maturity level options
[*] Prompt for development and/or incomplete code/drivers
Processor type and features
Device Drivers ---> Networking support ---> Networking options
[*] TCP/IP networking
[*] The IPv6 protocol (EXPERIMENTAL) [*] IPv4: IPsec BEET mode (2.6.19 and above) [*] IPv6: IPsec BEET mode (2.6.19 and above)
IPsec, IPv6 security support, SHA1 and 3DES should be auto enabled as dependencies after you have selected HIP. We recommend that you compile HIP as a kernel module, and the IPv6 support as built-in.
The hipd tries to probe the necessary kernel modules automatically, However, should this fail, you should make sure that you have configured your /etc/modules accordingly. Insert "xfrm6_tunnel", "xfrm4_tunnel", "xfrm_user", "dummy", "esp6", "esp4", "ipv6", "aes", "crypto_null", and "des" to your /etc/modules.