source code for Truecrypt? or for 32 bit ARM?
#1
I was quite surprised to find Truecrypt available on the Pinebook Pro Manjaro build, and pleased because I still use it on Windows and Intel Linux.

I would also like to use it on the mrFixIt debian build with 32 bit ARM userland.

Anyone know if it's available?  or where I can get the source code from?  I suppose as it's in the Manjaro build the source code must be available.
  Reply
#2
It's probably build from the upstream Arch sources. The PKGBUILD is at https://github.com/archlinux/svntogit-pa...k/PKGBUILD – you can take a look at it to see where the source is at.

I'd caution against using it, though – you should instead opt to using VeraCrypt instead, which is compatible with Truecrypt volumes.

It seems like it's not in the Manjaro ARM repos yet, so you might have to look into building it yourself – the upstream Arch sources might be a good starting point again: https://github.com/archlinux/svntogit-co...rypt/trunk

/edit

Quickly gave it a spin: Builds cleanly without further modification from the Arch PKGBUILD.
  Reply
#3
(08-01-2020, 06:48 AM)llsf Wrote: It's probably build from the upstream Arch sources. The PKGBUILD is at https://github.com/archlinux/svntogit-pa...k/PKGBUILD – you can take a look at it to see where the source is at.

I'd caution against using it, though – you should instead opt to using VeraCrypt instead, which is compatible with Truecrypt volumes.

It seems like it's not in the Manjaro ARM repos yet, so you might have to look into building it yourself – the upstream Arch sources might be a good starting point again: https://github.com/archlinux/svntogit-co...rypt/trunk

/edit

Quickly gave it a spin: Builds cleanly without further modification from the Arch PKGBUILD.

If I am going to convert to Veracrypt then it will be all in, so it will be on every PC and OS that I own.
To that end would you mind checking if it builds on aarch64 as well please?
  Reply
#4
As I meant to explain, VeraCrypt is backwards compatible with TrueCrypt volumes, as in: You can keep TrueCrypt volumes as such, at least in the transition phase, and still open and use them with VeraCrypt.
Also, you can install both at the same time, so if you want another fallback option, you can easily keep TrueCrypt around until you're certain everything works as it should.

Only once you've started using VeraCrypt-volumes, you're bound to VeraCrypt – because those cannot be read by TrueCrypt.

On building: as I tried to explain: I could successfully build (and run) it using the aforementioned PKGBUILD from Arch on the PBP.

You can try it yourself: install asp (pacman -S asp), run asp checkout veracrypt, cd into the folder with the PKGBUILD (./veracrypt/trunk), run makepkg --ignorearch (you might have to import the PGP key from VeraCrypt before doing that, unless you trust the Arch PKGBUILD an checksums – in that case, you can skip the verification via running makepkg --ignorearch --skippgpcheck instead).

I have no 32bit ARM device lying around, but I'd assume you could also build it on one as well. 32bit userland ARM on the other hand should(?) not make a difference for the aarch64 build, I think.
  Reply
#5
(08-05-2020, 05:56 AM)llsf Wrote: You can try it yourself: install asp (pacman -S asp), run asp checkout veracrypt, cd into the folder with the PKGBUILD (./veracrypt/trunk), run makepkg --ignorearch (you might have to import the PGP key from VeraCrypt before doing that, unless you trust the Arch PKGBUILD an checksums – in that case, you can skip the verification via running makepkg --ignorearch --skippgpcheck instead).

I needed a couple of other packages installed as well, namely:-
fakeroot
yasm
wxgtk3
patch

it works

just for the sake of any other Manjaro newbies that arrive here

after running llsf's instructions you will find this file appearing in the trunk folder

veracrypt-1.24.update4-1-aarch64.pkg.tar.xz

you can install it with this command

Code:
sudo pamac install veracrypt-1.24.update4-1-aarch64.pkg.tar.xz

When I installed Truecrypt I found that it wouldn't work due to lack of a loop interface

as a result I wrote these instructions to fix it

https://wiki.pine64.org/index.php?title=...on_Manjaro

is the same thing necessary with Veracrypt ?
  Reply
#6
is there some reason to not use luks/cryptsetup?
  Reply
#7
(08-09-2020, 09:32 PM)xmixahlx Wrote: is there some reason to not use luks/cryptsetup?

I am looking for a solution that works on Windows, MacOS and Linux. I like to encrypt things like memory sticks with something and then use across all three.

Back to my original question

On this page https://sourceforge.net/projects/veracry...4-Update7/

I found a precompiled Debian 9 ARMHF version and tried it on mrfixit 32 bit userspace Debian for Pinebook Pro. It seems to work.

I can't get it to work inside a 32 bit chroot running inside 64 bit Manjaro, but probably it doesn't matter. I'm guessing that I can use the 64 bit Veracrypt and just mount the drive inside the chroot, and then the 32 bit user space will be able use the mount without being aware that Veracrypt is actually encrypting it.
  Reply
#8
(08-05-2020, 05:56 AM)llsf Wrote: As I meant to explain, VeraCrypt is backwards compatible with TrueCrypt volumes, as in: You can keep TrueCrypt volumes as such, at least in the transition phase, and still open and use them with VeraCrypt.
Also, you can install both at the same time, so if you want another fallback option, you can easily keep TrueCrypt around until you're certain everything works as it should.

Only once you've started using VeraCrypt-volumes, you're bound to VeraCrypt – because those cannot be read by TrueCrypt.

On building: as I tried to explain: I could successfully build (and run) it using the aforementioned PKGBUILD from Arch on the PBP.

You can try it yourself: install asp (pacman -S asp), run asp checkout veracrypt, cd into the folder with the PKGBUILD (./veracrypt/trunk), run makepkg --ignorearch (you might have to import the PGP key from VeraCrypt before doing that, unless you trust the Arch PKGBUILD an checksums – in that case, you can skip the verification via running makepkg --ignorearch --skippgpcheck instead).

I have no 32bit ARM device lying around, but I'd assume you could also build it on one as well. 32bit userland ARM on the other hand should(?) not make a difference for the aarch64 build, I think.

I had to reinstall Manjaro and now I can not compile Veracrypt on aarch64.  I get this error

Code:
makepkg --ignorearch --skippgpcheck
==> Making package: veracrypt 1.24.update7-1 (Tue 12 Jan 2021 20:27:10 GMT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading VeraCrypt_1.24-Update7_Source.tar.bz2...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 22.4M  100 22.4M    0     0  2626k      0  0:00:08  0:00:08 --:--:-- 2270k
  -> Downloading VeraCrypt_1.24-Update7_Source.tar.bz2.sig...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   566  100   566    0     0    979      0 --:--:-- --:--:-- --:--:--   979
  -> Found no-makeself.patch
  -> Found veracrypt.desktop
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha512sums...
    VeraCrypt_1.24-Update7_Source.tar.bz2 ... Passed
    VeraCrypt_1.24-Update7_Source.tar.bz2.sig ... Skipped
    no-makeself.patch ... Passed
    veracrypt.desktop ... Passed
==> Extracting sources...
  -> Extracting VeraCrypt_1.24-Update7_Source.tar.bz2 with bsdtar
==> Starting prepare()...
patching file Main/Main.make
Hunk #1 succeeded at 286 (offset 80 lines).
==> Starting build()...
Compiling Buffer.cpp
Compiling Exception.cpp
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Exception.o] Error 127
make[1]: *** Waiting for unfinished jobs....
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Buffer.o] Error 127
Compiling Event.cpp
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Event.o] Error 127
make: *** [Makefile:424: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

one difference might be that last time I had already installed freepascal, compiled a newer version from source, and compiled lazarus from source too.
I probably had other packages installed which now I do not.
For example I already found that I needed strip and binutils
  Reply
#9
(01-12-2021, 02:36 PM)dieselnutjob Wrote:
(08-05-2020, 05:56 AM)llsf Wrote: As I meant to explain, VeraCrypt is backwards compatible with TrueCrypt volumes, as in: You can keep TrueCrypt volumes as such, at least in the transition phase, and still open and use them with VeraCrypt.
Also, you can install both at the same time, so if you want another fallback option, you can easily keep TrueCrypt around until you're certain everything works as it should.

Only once you've started using VeraCrypt-volumes, you're bound to VeraCrypt – because those cannot be read by TrueCrypt.

On building: as I tried to explain: I could successfully build (and run) it using the aforementioned PKGBUILD from Arch on the PBP.

You can try it yourself: install asp (pacman -S asp), run asp checkout veracrypt, cd into the folder with the PKGBUILD (./veracrypt/trunk), run makepkg --ignorearch (you might have to import the PGP key from VeraCrypt before doing that, unless you trust the Arch PKGBUILD an checksums – in that case, you can skip the verification via running makepkg --ignorearch --skippgpcheck instead).

I have no 32bit ARM device lying around, but I'd assume you could also build it on one as well. 32bit userland ARM on the other hand should(?) not make a difference for the aarch64 build, I think.

I had to reinstall Manjaro and now I can not compile Veracrypt on aarch64.  I get this error

Code:
makepkg --ignorearch --skippgpcheck
==> Making package: veracrypt 1.24.update7-1 (Tue 12 Jan 2021 20:27:10 GMT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading VeraCrypt_1.24-Update7_Source.tar.bz2...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 22.4M  100 22.4M    0     0  2626k      0  0:00:08  0:00:08 --:--:-- 2270k
  -> Downloading VeraCrypt_1.24-Update7_Source.tar.bz2.sig...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   566  100   566    0     0    979      0 --:--:-- --:--:-- --:--:--   979
  -> Found no-makeself.patch
  -> Found veracrypt.desktop
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha512sums...
    VeraCrypt_1.24-Update7_Source.tar.bz2 ... Passed
    VeraCrypt_1.24-Update7_Source.tar.bz2.sig ... Skipped
    no-makeself.patch ... Passed
    veracrypt.desktop ... Passed
==> Extracting sources...
  -> Extracting VeraCrypt_1.24-Update7_Source.tar.bz2 with bsdtar
==> Starting prepare()...
patching file Main/Main.make
Hunk #1 succeeded at 286 (offset 80 lines).
==> Starting build()...
Compiling Buffer.cpp
Compiling Exception.cpp
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Exception.o] Error 127
make[1]: *** Waiting for unfinished jobs....
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Buffer.o] Error 127
Compiling Event.cpp
make[1]: g++: No such file or directory
make[1]: *** [/home/philip/src/veracrypt/trunk/src/src/Build/Include/Makefile.inc:29: Event.o] Error 127
make: *** [Makefile:424: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

one difference might be that last time I had already installed freepascal, compiled a newer version from source, and compiled lazarus from source too.
I probably had other packages installed which now I do not.
For example I already found that I needed strip and binutils
update:-

after installing subversion and gcc it got a lot further
this is where I am now

Code:
[font=monospace][color=#000000]Compiling VolumePropertiesDialog.cpp [/color]
Compiling VolumeCreationProgressWizardPage.cpp
Compiling VolumeCreationWizard.cpp
Compiling VolumeFormatOptionsWizardPage.cpp
Compiling VolumeLocationWizardPage.cpp
Compiling VolumePasswordWizardPage.cpp
Compiling VolumePimWizardPage.cpp
Compiling VolumeSizeWizardPage.cpp
Compiling WaitDialog.cpp
Compiling WizardFrame.cpp
make[1]: pkg-config: No such file or directory
Linking veracrypt
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_readdir(char const*, void*, int (*)(void*
, char const*, stat const*, long), long, fuse_file_info*)':
FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_readdirEPKcPvPFiS2_S1_PK4statlElP14fuse_file_info+0x1c): undefined reference to `fuse_get_context'
/bin/ld: FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_readdirEPKcPvPFiS2_S1_PK4statlElP14fuse_file_info+0xbc): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_opendir(char const*, fuse_file_info*)':
FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_opendirEPKcP14fuse_file_info+0x14): undefined reference to `fuse_get_context'
/bin/ld: FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_opendirEPKcP14fuse_file_info+0x48): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_open(char const*, fuse_file_info*)':
FuseService.cpp:(.text._ZN9VeraCryptL17fuse_service_openEPKcP14fuse_file_info+0x14): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o):FuseService.cpp:(.text._ZN9VeraCryptL17fuse_service_openEPKcP14fuse_file_info+0
x78): more undefined references to `fuse_get_context' follow
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::FuseService::ExecFunctor::operator()(int, char**)':
FuseService.cpp:(.text._ZN9VeraCrypt11FuseService11ExecFunctorclEiPPc+0x31c): undefined reference to `fuse_main_real_compat25'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_write(char const*, char const*, unsigned
long, long, fuse_file_info*)':
FuseService.cpp:(.text._ZN9VeraCryptL18fuse_service_writeEPKcS1_mlP14fuse_file_info+0x38): undefined reference to `fuse_get_context'
/bin/ld: FuseService.cpp:(.text._ZN9VeraCryptL18fuse_service_writeEPKcS1_mlP14fuse_file_info+0xc8): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_getattr(char const*, stat*)':
FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_getattrEPKcP4stat+0x8c): undefined reference to `fuse_get_context'
/bin/ld: FuseService.cpp:(.text._ZN9VeraCryptL20fuse_service_getattrEPKcP4stat+0x1b4): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o): in function `VeraCrypt::fuse_service_read(char const*, char*, unsigned long, l
ong, fuse_file_info*)':
FuseService.cpp:(.text._ZN9VeraCryptL17fuse_service_readEPKcPcmlP14fuse_file_info+0x3c): undefined reference to `fuse_get_context'
/bin/ld: /home/philip/src/veracrypt/trunk/src/src/Driver/Fuse/Driver.a(FuseService.o):FuseService.cpp:(.text._ZN9VeraCryptL17fuse_service_readEPKcPcmlP14fuse_file_in
fo+0x1a0): more undefined references to `fuse_get_context' follow
collect2: error: ld returned 1 exit status
make[1]: *** [Main.make:166: veracrypt] Error 1
make: *** [Makefile:424: all] Error 2
[color=#b21818][b]==> ERROR:[/b][/color][color=#000000][b] A failure occurred in build().[/b][/color]
[color=#000000][b]    Aborting...[/b][/color][/font]
  Reply
#10
it needed package dracut
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)