At this time I have been unable to successfully compile the kernel with Full system encryption support. Right now I am trying to compile xobs' kernel from his github page. If I try to compile it with the default novena_defconfig, I still get the "Cannot initialize device-mapper" issue where it complains that dm_mod cannot be found.
I fixed it via the guide I referenced, and the error I know get is:
"dm_crypt: Unkown symbol _GLOBAL_OFFSET_TABLE_ (err 0)"
At this point I am not really sure how to proceed, any help would be appreciated, as I would like to be able to get 4.4.90 to work so we have a recent kernel here (and possibly get 4.12.4 or the current kernel working).
EDIT: I got xobs' kernel to successfully boot with encryption support! I have added the config file here:
The other nice thing I found out is that there is no special hook needed in the initramfs-tools with this config. I think the default kernel did not have the correct configuration needed in order to get it to work right, hence the hacks for it in "Novena-debian-support". The strange thing is if I made some of the options above modules instead of compiling directly in, they did not work. I am now wokring on the 4.7.2 kernel and getting encryption support to work. Now that I figured it out on xobs', I am a lot more confident I can get 4.7.2 to work.
EDIT 2: I now have the 4.7.2 kernel working with full system encryption support! In addition to the edtis above, I had to compile in the XTS support. I still got a couple fo errors with ipv6 and x-tables with the "Unkown symbol _GLOBAL_OFFSET_TABLE_ (err 0)" error, and that is a matter of hunting them down in the config file and changing the module to compile in. If anyone knows where they are I would appreciate it. I have added that config file here along with instructions to recreate what I did: