Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Add instructions to install dependencies on Ubuntu 12.04 #16

wants to merge 1 commit into from

3 participants


Please pull this commit into the master branch.

Please also consider adding a how-to style doc, because although I have successfully compiled the binary, I have no clue how to create encrypted partitions and/or files.


Are you sure about gnutls-dev? I don't see why that would be a requirement.


Yup, I tried the both the make PBKDF_BACKEND=openssl an make PBKDF_BACKEND=gcrypt, but until I installed gnutls-dev, I couldn't get the sources to compile.




No need to "bump" things around here (or anywhere). I'm doing some other changes, including documentation, so I'll include yours in that batch.



Talking of documentation, I have been desperately looking for a detailed example of how to use it to mount file-based (loopback) and/or raw partitions. The man pages included leave much to be desired.

I was able to setup a cryptmount device just by looking at the example in their manpage; it was quite simple. Can you (or someone who knows tc-play well enough) please have such a write-up somewhere.

Thanks in advance.


That part in particular is covered by the man page:

     Map and mount the volume in the file secvol on Linux:

           losetup /dev/loop1 secvol

           tcplay --map=secv --device=/dev/loop1

           mount /dev/mapper/secv /mnt

What part isn't clear about that? Maybe I should have used some kind of path with slashes instead of just 'secvol' ?


Similarly for disk devices:

     Map the hidden volume on the TrueCrypt volume on /dev/vn0 as truecrypt2, using the keyfile hidden.key:

           tcplay --map=truecrypt2 --device=/dev/vn0 --keyfile=hidden.key

The part that has left me confused (or at least half-initiated) is the hidden volume and key generation part.

.) I don't know how to generate the keys, or how many to generate if I wanted to use a hidden volume (I see references to truecrypt1/2 names, and not sure if I should be generating one key for each of those)

.) How to create a hidden volume. I saw that Truecrypt provides plausible deniability, an I'd like to achieve the same setup with tc-play.

As an advanced use-case, I'd also like to know how can I use these devices as physical-devices under an LVM Logical Volume, so that I can auto-grow the filesystem on top of it. I guess I can help with the LVM part after I know how to do the basic stuff.

I had used TrueCrypt just once, and that was via its GUI, so no experience with its command-line. I tried to read its command-line docs on the TC website, but the options are so Windows centric and don't seem to be mappable to tc-play.

I guess what I am looking for, as a noob, is step-by-step instruction on how to use this software for the first time, starting with the assumption that I don't know a thing about TruCrypt or similar tech.


I don't see any reason, to implement this extraordinary installation guide, notice or whateva it represents for "Ubuntu" (or any other distribution). There are many tutorials in the net on how to use tcplay. We should focus on development.


A software without a user-documentation cannot be used by many. Especially if it is related to security. Unless the software developers describe the common usages, corner-cases, gotchas in an authoritative manner, one cannot expect the user to use the software and feel comfortable with the security it provides.

Please share a link to the write-up that you think does a justice to tcplay, and I'll close this case and submit a new one with those docs.


You are looking for a step-by-step tutorial. Take a look at the man tcplay (or use tcplay --help).

JFYI: All commands are similar to truecrypt cli.


I'd have to agree with gurjeet here - the documentation really should be better than it is. I'll go over the documentation in the next couple of days as I'll be releasing a new version as well.


I've addressed this in 6076c09 and 45337c2 on the 'wip' branch. It'll make it into the next release, which should happen in the next couple of days.

Please let me know if this is what you were looking for or there's something else you'd like to see in the documentation.


I'm closing this - the updated documentation is in 1.0.

@bwalex bwalex closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Feb 17, 2013
  1. @gurjeet
This page is out of date. Refresh to see the latest.
Showing with 6 additions and 0 deletions.
  1. +6 −0
@@ -48,7 +48,13 @@ The interface to device mapper is libdevmapper on Linux and libdm on DragonFly.
libdm is a BSD-licensed version of libdevmapper that I hacked together in a few
+Installation Notes
+Ubuntu 12.04
+Install dependencies before the `make` step:
+`sudo apt-get install uuid-dev libdevmapper-dev libgnutls-dev`
OS Support
Something went wrong with that request. Please try again.