]> git.proxmox.com Git - swtpm.git/commitdiff
docu: Cut down the README to its minimum
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Tue, 18 Sep 2018 18:13:07 +0000 (14:13 -0400)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Mon, 24 Sep 2018 21:48:41 +0000 (17:48 -0400)
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
README

diff --git a/README b/README
index e397adf7bb9035ffd5c97e6bd98ea0ecf4b0cc7d..7962d98c5f505abdbd86af54fbf2f228bd6d4582 100644 (file)
--- a/README
+++ b/README
@@ -3,102 +3,14 @@ SWTPM - Software TPM Emulator
       Stefan Berger stefanb@us.ibm.com
 
 The SWTPM package provides TPM emulators with different front-end interfaces
-to libtpms. TPM emulators provide socket interfaces (TCP/IP) and the Linux
-CUSE interface for the creation of multiple native /dev/vtpm* devices.
-Those can be the targets of multiple QEMU cuse-tpm instances.
+to libtpms. TPM emulators provide socket interfaces (TCP/IP and Unix) and
+the Linux CUSE interface for the creation of multiple native /dev/vtpm* devices.
 
-The SWTPM package also provides several tools for using the CUSE TPM,
+The SWTPM package also provides several tools for using the TPM emulator,
 creating certificates for a TPM, and simulating the manufacturing of
 a TPM by creating a TPM's EK and platform certificates etc. Please read 
 the READMEs in the individual tool's directory under src/.
 
+Please consult the Wiki for information about swtpm:
 
-TPM emulators:
---------------
-
-The primary goal of the CUSE TPM is to support running multiple QEMU guests,
-each having its own TPM emulator, without modifying QEMU, the kernel, or
-libtpms. The approach is to use the QEMU cuse-tpm driver, pointing it to
-/dev/vtpm? which is established as a CUSE frontend to libtpms.
-
-The CUSE frontend supports ioctls on the /dev/vtpm? device file, for
-handling hardware specific features, such as hardware reset, hardware
-shutdown, setting locality, and getting the tpmEstablished bit and 
-others. There is a getcapability ioctl to query which of these features
-are available on a given vtpm. 
-
-This has been tested on Fedora 20, as it has everything needed
-(cuse, QEMU with TPM passthrough driver, libtpms...) enabled by default.
-It is also known to work on RHEL-6.
-
-Building:
-       Please read INSTALL for how to build and install the package
-
-Notes:         If you are running selinux in enforcing mode (the Fedora 20 default),
-       then you will get many (6?) rounds of errors, and everytime you have to
-       use the selinux troubleshooter to add policies to allow the vtpm
-       server to run. You only have to do this for the first VM.
-
-       (If you are running ima-appraisal, you will need to sign the
-        installed executables and libraries (/usr/bin/swtpm and
-       /usr/bin/swtpm_cuse and /usr/lib/libswtpm_libtpms.so)
-
-In the Guest:
-       If you are running a fedora20 guest, then you can start out with:
-               yum install tpm-tools
-               systemctl start tcsd.service
-               tpm_createek
-               tpm_takeown -u -y -z
-               tpm_getpubek -u -z
-
------------------------------------------------------------------------------
-Low level details on the executables:
-
-       On Fedora 20, CUSE is a module, so you may need to:
-               modprobe cuse
-       For each desired vtpm, as root you simply:
-               export TPM_PATH=<directory to keep vtpm state files>
-               ./swtpm_cuse -M <major> -m <minor> -n <device name>
-       The process runs as a background daemon.
-
-Initialize two vTPMs' initial state with an EK each:
-
-       # mkdir /tmp/myvtpm0
-       # chown -R tss:root  /tmp/myvtpm0
-       # swtpm_setup --tpm-state /tmp/myvtpm0  --createek
-
-       # mkdir /tmp/myvtpm1
-       # chown -R tss:root  /tmp/myvtpm1
-       # swtpm_setup --tpm-state /tmp/myvtpm1  --createek
-
-Start the vTPM to use it with QEMU:
-
-       # export TPM_PATH=/tmp/myvtpm0
-       # swtpm_cuse -n vtpm0
-
-       # export TPM_PATH=/tmp/myvtpm1
-       # swtpm_cuse -n vtpm1
-
-Running QEMU with the cuse-tpm:
-
-There are two needed options for the passthrough -tpmdev and -device
-as shown in these examples. Note that the "path" parameter points to the
-native (/dev/vtpm0...) path, while the id and tpmdev are the guest's view.
-
-    $ qemu-system-x86_64 -display sdl -enable-kvm -cdrom cdrom.iso \
-    -m 1024 -boot d -bios bios.bin -boot menu=on -tpmdev \
-    cuse-tpm,id=tpm0,path=/dev/vtpm0 \
-    -device tpm-tis,tpmdev=tpm0 test.img
-
-    $ qemu-system-x86_64 -display sdl -enable-kvm -cdrom cdrom.iso \
-    -m 1024 -boot d -bios bios.bin -boot menu=on -tpmdev \
-    cuse-tpm,id=tpm1,path=/dev/vtpm1 \
-    -device tpm-tis,tpmdev=tpm1 test2.img
-
-For this to work, qemu patches that are not included in upstream qemu
-are needed.  Currently those are maintained in
-https://github.com/stefanberger/qemu-tpm
-
-Including them upstream has been discussed, most recently at
-https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg00252.html
-
+   https://github.com/stefanberger/swtpm/wiki