I succeeded in getting truecrypt to work.
There are several problems I found:
1) lvm2 is not listed as a dependency. Truecrypt requires dmsetup.
2) util-linux-ng is not listed as a dependency. The busybox mount is insufficient.
3) crypto-xts-2.6.33.3-tinycore is not listed as a dependency, which is understandable.
4) Truecrypt uses the busybox mount even if util-linux-ng is loaded.
5) The loop.max_loop parameter must be set to a value.
To solve this:
1) Load lvm2.
2) Load util-linux-ng.
3) Load crypto-xts-2.6.33.3-tinycore.
4) softlink the util-linux-ng mount binary into /usr/sbin.
5) Boot with the "loop.max_loop=256" boot parameter.
I hope that someone can provide an explanation and/or independent confirmation. I don't know how to fix 5, but 1-4 can be fixed in the extension by adding extensions to the .dep list then creating the mount softlink in the /usr/local/tce.installed/truecrypt script.
I confirmed the following will work:
# ln -s /tmp/tcloop/util-linux-ng/usr/local/bin/mount /usr/sbin/mount
# dd if=/dev/urandom of=/tmp/random bs=1024 count=1
# truecrypt --create --volume-type=normal --size=$((8*1024*1024)) \
--encryption=aes --random-source=/tmp/random --hash=whirlpool \
--filesystem=fat --password=test --keyfiles= /tmp/stuff.tc
# mkdir -p /tmp/stuff
# truecrypt --password=test --keyfiles= --non-interactive /tmp/stuff.tc /tmp/stuff
An 8MB FAT filesystem is now present at /tmp/stuff. I hope this helps. Use "truecrypt -d" to unmount.
NOTES:
- If loop.max_loop is not set, the message is "Error: failed to set up a loop device: /tmp/stuff.tc"
- truecrypt uses the busybox losetup, but that is sufficient. I did not get different results with the util-linux-ng losetup.
- truecrypt looks for mount in the following directories in order: /usr/sbin, /sbin, /usr/bin, /bin. Thus, it finds and uses the busybox mount binary. This results in the message: "Error: mount: mounting /dev/mapper/truecrypt1 on /tmp/stuff failed: Invalid argument"
- The truecrypt.tcz.list file has "truecrypt.tcz" in it. This is an error.