1. Download TPM emulator - ibmtpm974.tar.gz (Note: Optional. No need to execute this step if the system has real TPM device on it) a. cd src/ b. make c. Run tpm_server binary - ./tpm_server –rm 2. Download TSS version 1.2.0 a. Run following commands i. ./bootstrap ii. ./configure iii. If you face any error for pkg-config, 1. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig iv. make && make install 3. Download tpm2-abrmd version 1.1.1 a. Run following commands i. sudo useradd --system --user-group tss ii. cd tpm2-abrmd iii. ./bootstrap iv. ./configure v. If you face any error for pkg-config, 1. export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig vi. make && make install vii. sudo udevadm control --reload-rules && sudo udevadm trigger viii. sudo pkill -HUP dbus-daemon ix. systemctl daemon-reload b. Run tpm2-abrmd as follows - ./tpm2-abrmd -t socket c. Check in tpm_server whether following debug prints are resulted in console, after resource manager startup Client accepted Client accepted 4. Download tpm2-tools version 2.1.0 a. Run the following commands i. ./bootstrap ii. ./configure iii. make && make install 5. Now configure Initialize TPM, configure with Primary key and then save it in TPM’s NV ram (Equivalent of script - initandverify/Init_and_create_tpm_primary.sh, you can run that script) a. Initialize TPM i. tpm2_startup -clear -T tabrmd –V b. Take ownership i. tpm2_takeownership -o new -e new -l new -T tabrmd –V c. Create Primary Key i. tpm2_createprimary -P new -A o -g 0x000B -G 0x0001 -T tabrmd -V -C PrimaryKeyBlob d. Save primary Key in NV ram i. tpm2_evictcontrol -A o -c ./PrimaryKeyBlob -S 0x81000011 -T tabrmd -V -P new e. Check Primary Keys public portion i. tpm2_readpublic -H 0x81000011 --opu out_primary_public -T tabrmd –V f. If all the above commands are successful then TPM emulator, TPM resource manager and TPM tools are working fine 6. Now compile the TPM duplication and import tools with "make" command (after creation of Makefile) and run it as per instructions. use "./ossl_tpm_duplicate --help" for usage. use "./ossl_tpm_import --help" for usage. 7. Note: If you restart tpm_server, then you have to restart TPM resource manager too. And the repeat from step 5.