yeah i was able to make it permanent by adding the swap commands to /etc/init.sh before the last "return 0" line
if you omit the "busybox" command system will use mkswap and swapon commands from /system/bin (not /system/xbin) and mentioned commands from this directory are working with swapping to a file and not to a block device.
you can of course also use a file as a swap place but i would not recommend it because this file needs to be contiguous on disk (maybe not an issue after all ) and also the commands require you to first create an empty file with desired size (using dd or similar tool) and only after that you may use the mkswap and swapon commands.
also you may use /etc/fstab to specify swap device. (if there is no such file simply create it) and add an entry
/dev/block/sda2 swap swap defaults
This way you only need to issue command
busybox swapon -a
and it will look into your fstab and mount the swap device.
but for me it was simpler to use the method without involving fstab.
also what i found interesting is if you hibernate your device and somehow you perform a cold boot (not with resume=... kernel parameter) the system won't allow you to use swap device anymore unless you format it again using mkswap command.
Thats why i put both command mkswap and swapon to the init.sh. Just to make sure it will always mount.