87 lines
2.2 KiB
Markdown
87 lines
2.2 KiB
Markdown
# Remote Provisioning Client (RPC)
|
|
|
|
RPC is an application which enables remote capabilities for AMT, such as as device activation. To accomplish this, RPC communicates with the RPS (Remote Provisioning Server).
|
|
|
|
The steps below assume the following directory structure where **rpc** is the clone of this repository, **vcpkg** is a clone of the VCPKG tool source and **build** is the RPC build directory. Both vcpkg and build directories will be created in later steps.
|
|
|
|
```
|
|
\rpc
|
|
|__vcpkg
|
|
|__build
|
|
```
|
|
|
|
# Linux
|
|
|
|
Steps below are for CentOS7.
|
|
|
|
**The "export PATH=..." (for CMake and Git), and "scl enable devtoolset-7 bash" (for GCC) must be executed in in the Terminal you are building from; i.e. these are temporary changes which only affect the current Terminal session.**
|
|
|
|
## Dependencies
|
|
|
|
### CMake
|
|
Download cmake-3.10.2-Linux-x86_64.sh from https://github.com/Kitware/CMake/releases/tag/v3.10.2.
|
|
|
|
```
|
|
./cmake-3.10.2-Linux-x86_64.sh
|
|
export PATH=/home/user/Downloads/cmake-3.10.2-Linux-x86_64/bin:$PATH
|
|
```
|
|
|
|
### GCC
|
|
Update GCC toolchain.
|
|
|
|
```
|
|
sudo yum install centos-release-scl
|
|
sudo yum install devtoolset-7
|
|
scl enable devtoolset-7 bash
|
|
```
|
|
|
|
### Git
|
|
Build Git source control system.
|
|
```
|
|
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-CPAN perl-devel
|
|
git clone https://github.com/git/git.git
|
|
make configure
|
|
make
|
|
export PATH=/home/user/Downloads/git:$PATH
|
|
```
|
|
|
|
## Build C++ REST SDK
|
|
|
|
Using a Terminal window with the PATH and devtoolset enabled per the Dependencies.
|
|
|
|
```
|
|
git clone https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg
|
|
git checkout 772d435ba18bf2f342458e0187ab7b48b84fe3f0
|
|
./bootstrap-vcpkg.sh
|
|
./vcpkg install cpprestsdk[websockets]
|
|
```
|
|
|
|
## Build RPC
|
|
|
|
Using a Terminal window with the PATH and devtoolset enabled per the Dependencies.
|
|
|
|
```
|
|
mkdir build
|
|
cd build
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DNO_SELECT=ON ..
|
|
cmake --build .
|
|
```
|
|
|
|
To build debug:
|
|
```
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug -DNO_SELECT=ON ..
|
|
cmake --build .
|
|
```
|
|
|
|
## Run RPC
|
|
|
|
Open a Terminal window.
|
|
|
|
```
|
|
cd build
|
|
sudo ./rpc --url wss://localhost:8080 --cmd "-t activate --profile profile1"
|
|
```
|
|
|
|
Use --help for more options.
|