From cc5212fdb1a9165b1b4f63ad21198172a068ee43 Mon Sep 17 00:00:00 2001 From: Felix Reichmann <54814163+Van-Fouran@users.noreply.github.com> Date: Tue, 16 Aug 2022 08:21:55 +0200 Subject: [PATCH] Documentation overwork (#953) Github PR: https://github.com/veracrypt/VeraCrypt/pull/953 * Create CompilingGuidelinerh * Initial Upload Windows Compiling Guide * Removed RIPEMD-160 from Product64.wxs. See commit from 21.03.2022 * Completed Win compiling guideline * Added link to detailed compiling guide * Added link to detailed compiling guide * Restructured docu main page * Added sourceforge link * Added compiling guide for Linux * References to detailed instructions * Revert "Removed RIPEMD-160 from Product64.wxs. See commit from 21.03.2022" This reverts commit 024ae2a4659a6d9e65673531338e10bd10b8a3a0. * Correction of a div box --- README.md | 53 +- doc/html/CompilingGuidelineLinux.html | 329 +++++ doc/html/CompilingGuidelineWin.html | 1231 +++++++++++++++++ .../CompilingGuidelineWin/AddNewSystemVar.jpg | Bin 0 -> 71100 bytes .../CompilingGuidelineWin/CertVerifyFails.jpg | Bin 0 -> 15443 bytes .../CertificateCannotBeVerified.jpg | Bin 0 -> 87022 bytes .../DistributionPackageDamaged.jpg | Bin 0 -> 10581 bytes .../CompilingGuidelineWin/DownloadVS2010.jpg | Bin 0 -> 167558 bytes .../CompilingGuidelineWin/DownloadVS2019.jpg | Bin 0 -> 231800 bytes .../DownloadVSBuildTools.jpg | Bin 0 -> 187788 bytes .../CompilingGuidelineWin/NasmCommandLine.jpg | Bin 0 -> 27541 bytes .../RegeditPermissions-1.jpg | Bin 0 -> 42281 bytes .../RegeditPermissions-2.jpg | Bin 0 -> 82730 bytes .../RegeditPermissions-3.jpg | Bin 0 -> 48073 bytes .../RegeditPermissions-4.jpg | Bin 0 -> 20213 bytes .../SelectAdvancedSystemSettings.jpg | Bin 0 -> 142348 bytes .../SelectEnvironmentVariables.jpg | Bin 0 -> 41283 bytes .../SelectPathVariable.jpg | Bin 0 -> 71894 bytes .../CompilingGuidelineWin/SelectThisPC.jpg | Bin 0 -> 50245 bytes .../VS2010BuildSolution.jpg | Bin 0 -> 59737 bytes .../VS2010Win32Config.jpg | Bin 0 -> 167454 bytes .../CompilingGuidelineWin/VS2010X64Config.jpg | Bin 0 -> 149165 bytes .../VS2019ARM64Config.jpg | Bin 0 -> 58551 bytes .../VS2019BuildSolution.jpg | Bin 0 -> 49572 bytes .../CompilingGuidelineWin/YasmCommandLine.jpg | Bin 0 -> 33328 bytes .../CompilingGuidelineWin/gzipCommandLine.jpg | Bin 0 -> 28217 bytes .../CompilingGuidelineWin/upxCommandLine.jpg | Bin 0 -> 52807 bytes doc/html/Documentation.html | 489 +++++-- doc/html/LinuxPrepAndBuild.sh | 20 + doc/html/Miscellaneous.html | 48 - src/Readme.txt | 50 +- 31 files changed, 1962 insertions(+), 258 deletions(-) create mode 100644 doc/html/CompilingGuidelineLinux.html create mode 100644 doc/html/CompilingGuidelineWin.html create mode 100644 doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg create mode 100644 doc/html/CompilingGuidelineWin/CertVerifyFails.jpg create mode 100644 doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg create mode 100644 doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg create mode 100644 doc/html/CompilingGuidelineWin/DownloadVS2010.jpg create mode 100644 doc/html/CompilingGuidelineWin/DownloadVS2019.jpg create mode 100644 doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg create mode 100644 doc/html/CompilingGuidelineWin/NasmCommandLine.jpg create mode 100644 doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg create mode 100644 doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg create mode 100644 doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg create mode 100644 doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg create mode 100644 doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg create mode 100644 doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg create mode 100644 doc/html/CompilingGuidelineWin/SelectPathVariable.jpg create mode 100644 doc/html/CompilingGuidelineWin/SelectThisPC.jpg create mode 100644 doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg create mode 100644 doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg create mode 100644 doc/html/CompilingGuidelineWin/VS2010X64Config.jpg create mode 100644 doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg create mode 100644 doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg create mode 100644 doc/html/CompilingGuidelineWin/YasmCommandLine.jpg create mode 100644 doc/html/CompilingGuidelineWin/gzipCommandLine.jpg create mode 100644 doc/html/CompilingGuidelineWin/upxCommandLine.jpg create mode 100644 doc/html/LinuxPrepAndBuild.sh delete mode 100644 doc/html/Miscellaneous.html diff --git a/README.md b/README.md index 807d7b4b..e6af90d1 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,6 @@ Contents ======== I. Windows - Requirements for Building VeraCrypt for Windows. - Instructions for Building VeraCrypt for Windows. Instructions for Signing and Packaging VeraCrypt for Windows. II. Linux and Mac OS X @@ -40,19 +38,7 @@ VI. Further Information I. Windows ========== -Requirements for Building VeraCrypt for Windows: ------------------------------------------------- - -- Microsoft Visual C++ 2010 SP1 (Professional Edition or compatible) -- Microsoft Visual C++ 2019 -- Microsoft Visual C++ 1.52 (available from MSDN Subscriber Downloads) -- Microsoft Windows SDK for Windows 7.1 (configured for Visual C++ 2010) -- Microsoft Windows SDK for Windows 8.1 (needed for SHA-256 code signing) -- Microsoft Windows Driver Kit 7.1.0 (build 7600.16385.1) -- NASM assembler 2.08 or compatible -- YASM 1.3.0 or newer. -- gzip compressor -- upx packer (available at https://upx.github.io/) +A detailed guide on how to compile VeraCrypt on Windows can be found at: https://www.veracrypt.fr/en/CompilingGuidelineWin.html IMPORTANT: @@ -74,41 +60,6 @@ the compiler, or if you install a different or no service pack for Visual Studio, or different hotfixes for it, or if you use different versions of the required SDKs). - -Instructions for Building VeraCrypt for Windows: ------------------------------------------------- - -1) Create an environment variable 'MSVC16_ROOT' pointing to the folder 'MSVC15' - extracted from the Visual C++ 1.52 self-extracting package. - - Note: The 16-bit installer MSVC15\SETUP.EXE cannot be run on 64-bit Windows, - but it is actually not necessary to run it. You only need to extract the - folder 'MSVC15', which contains the 32-bit binaries required to build the - VeraCrypt Boot Loader. - -2) If you have installed the Windows Driver Development Kit in another - directory than '%SYSTEMDRIVE%\WinDDK', create an environment variable - 'WINDDK_ROOT' pointing to the DDK installation directory. - -3) Open the solution file 'VeraCrypt.sln' in Microsoft Visual Studio 2010. - -4) Select 'All' as the active solution configuration and WIN32 as the active - platform. - -5) Build the solution. - -6) Select x64 as the active platform and build the solution again. - -7) Open the solution file 'VeraCrypt_vs2019.sln' in Microsoft Visual Studio 2019. - -8) Select 'All' as the active solution configuration and ARM64 as the active - platform. - -9) Build the solution. - -6) If successful, there should be newly built VeraCrypt binaries in the - 'Release\Setup Files' folder. - Instructions for Signing and Packaging VeraCrypt for Windows: ------------------------------------------------------------- @@ -136,6 +87,8 @@ For build instructions, please refer to the file src\Boot\EFI\Readme.txt. II. Linux and Mac OS X ====================== +A detailed guide on how to build a dev environment and on how to compile VeraCrypt on Linux can be found at: https://www.veracrypt.fr/en/CompilingGuidelineLinux.html + Requirements for Building VeraCrypt for Linux and Mac OS X: ----------------------------------------------------------- diff --git a/doc/html/CompilingGuidelineLinux.html b/doc/html/CompilingGuidelineLinux.html new file mode 100644 index 00000000..a8460518 --- /dev/null +++ b/doc/html/CompilingGuidelineLinux.html @@ -0,0 +1,329 @@ + + + + + +
+ +
+sudo apt update
+sudo apt install -y build-essential yasm pkg-config libgtk-3-dev
+wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2
+tar -xf wxWidgets-3.2.0.tar.bz2
+cd wxWidgets-3.2.0
+mkdir gtk-build
+cd gtk-build
+../configure
+make
+sudo make install
+sudo ldconfig
+cd ../..
+rm -r wxWidgets-3.2.0
+rm wxWidgets-3.2.0.tar.bz2
+sudo apt install -y libfuse-dev git
+git clone https://github.com/veracrypt/VeraCrypt.git
+cd ~/VeraCrypt/src
+make
+
++
+ sudo apt update
+ sudo apt install build-essential
+
+ If the build-essential were already installed in the step before, this step can be skipped. +
+ sudo apt update
+ sudo apt install build-essential
+
+ +
+ sudo apt update
+ sudo apt install yasm
+
+ +
+ sudo apt update
+ sudo apt install pkg-config
+
+ +
+ sudo apt install libgtk-3-dev
+ wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.0/wxWidgets-3.2.0.tar.bz2
+ tar -xf wxWidgets-3.2.0.tar.bz2
+ cd wxWidgets-3.2.0
+ mkdir gtk-build
+ cd gtk-build
+ ../configure
+ make
+ sudo make install
+ sudo ldconfig
+ cd ../..
+ rm -r wxWidgets-3.2.0
+
+ +
+ sudo apt update
+ sudo apt install libfuse-dev
+
+ +
+ sudo apt update
+ sudo apt install git
+ git clone https://github.com/veracrypt/VeraCrypt.git
+
+ Remarks:
+
make WXSTATIC=1
+
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
+ make NOGUI=1 WXSTATIC=1
+
+
+ cd ~/VeraCrypt/src
+ make
+
+ +
+ Note: The content the official installer from Microsoft tries to download is no longer available. Therefore, it is necessary to use an offline installer. +
+
C:\Program Files (x86)\nasm
+nasm
+
C:\Program Files\YASM
+Variable name: YASMPATH
Variable value: C:\Program Files\YASM
yasm
vsyasm
+
Variable name: MSVC16_ROOT
Variable value: C:\MSVC15
+ The installer requires .Net Framework 4 (Not a newer one like .Net Framework 4.8!). Since a newer version is already preinstalled with Windows 10, the installer has to be tricked: +
+
+
Variable name: WSDK81
Variable value: C:\Program Files (x86)\Windows Kits\8.1\
+
C:\Program Files (x86)\gzip\bin
+gzip
+
C:\Program Files (x86)\upx
+upx
+
+
+
+
+
+
+
+
+
With the sign_test.bat script you just signed the VeraCrypt executables. This is necessary, since Windows only accepts drivers, which are trusted by a signed Certificate Authority.
+ Since you did not use the official VeraCrypt signing certificate to sign your code, but a public development version, you have to import and therefore trust the certifcates used.
+
+
+ if (!IsOSAtLeast (WIN_10))
+ return TRUE;
+
+ return TRUE; +
+!OlFK&%fvSp-27ml&dnKMkj?hh9Kn#aUMf+zl4@WUwmnX$&|#LDkfEU
z`?`mY)n(h$(Vpex@ljywHUkB~EPEA^Wo)0YI5rX_{1JJ{%4A@-FN#2Jx-{)BgL
zDd_H(N6r3Ed%p-k@J+zpSEQgs=Q+sJhTS;9wPEc rK;j@;rAK4>-+u0%XhKZPQ74%ksmE%Q_+r%J1&PfI7z7_y^HN|l=~17NjAXixg|*lLFj14b)QcB-P>^Z^
zm*sxX;C5&zrl6Ldh9gqE83gPkgm$EZ=FkE@2=~(LTa&YLg(@zZnWW!Bl#V-S_P2%K
z!|e}tgQfn^v;S@`=~hbid77KPmtVc8a&{>iPI*etow3h1
za3>A;r^
f1WH6Eh`-LZvo|F
z5P&`Kxwq+MqBzR-D~GUQWU{H9h<@9~3GEZMWaNbC8KJML{LE`2jXUqkz$&0st$MuL
z<;<-5b*WVy5X{dL?Ms&{6K}1JR~g