Software Installation
This section describes how to get your host development environment set up with the necessary software including the system requirements
before you begin installing the software. To make sure your system meets all the pre-requisites,
the Palette installation script, install.py
, automatically runs through the dependencies checklist.
The pre-requisites for installing the Palette software are listed in the Installation Requirements table below.
Installation Requirements
For more information on requirements, see System Requirements.
Requirement Type |
Requirement Details |
---|---|
Operating Systems |
|
Docker Engine |
|
Python |
|
Open Ports |
|
Firewall access |
|
System |
An x86_64 machine with:
|
Palette and MLSOC Firmware |
|
Downloading Palette Software
Installing on Linux
Steps
Unzip the downloaded software to a local directory and change your directory to
1.6.0_Palette_SDK_master_B202/sima-cli/
:sima-user@sima-user-machine:~$ cd Downloads sima-user@sima-user-machine:~/Downloads$ unzip 1.6.0_Palette_SDK_master_B202.zip Archive: 1.6.0_Palette_SDK_master_B202.zip creating: 1.6.0_Palette_SDK_master_B202/ creating: 1.6.0_Palette_SDK_master_B202/sima-cli/ inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/uninstall.py inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/release-notes.txt inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/stop.py inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/start.py inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/install.py inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/1.6.0_Palette_SDK_master_B202.tar inflating: 1.6.0_Palette_SDK_master_B202/sima-cli/preinstall.py sima-user@sima-user-machine:~/Downloads$ cd 1.6.0_Palette_SDK_master_B202/sima-cli/ sima-user@sima-user-machine:~/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ ls install.py release-notes.txt start.py uninstall.py preinstall.py 1.6.0_Palette_SDK_master_B202.tar stop.py
The output of the command will be as shown above. It will take approximately a couple of minutes to complete the Docker image extraction.
Note
The Palette software package is delivered using the Docker container application; you must add your user to the Docker group if you have not done it already. Additionally, update your Docker application to the latest version. Follow the Docker post-installation steps at official documentation. For the Docker Desktop, follow the steps at official installation docs. To add a user to the Docker Engine see the code below.
sima-user@sima-user-machine:~$ sudo apt-get update sima-user@sima-user-machine:~$ sudo apt-get install docker-engine
If you have previously installed the Palette software, stop the Docker container before proceeding to install this latest version of the Palette software. This ensures graceful termination of any ongoing processes using the Palette software.
Install all the necessary packages. See code below.
sima-user@docker-image-id:~$ sudo apt-get install python3 sima-user@docker-image-id:~$ sudo apt-get install python3-pip sima-user@docker-image-id:~$ sudo apt-get install net-tools
Dependencies Checklist
The installation script install.py
checks for the system requirements needed to ensure all dependencies are met for a successful installation of the Palette software.
Additionally, the install.py
script launches the Docker daemon if not already running on the host machine. Note that the user is prompted for consent before launching the Docker daemon.
See the System Requirements Report below.
sima-user@sima-user-machine:~/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ python3 install.py 1.6.0_Palette_SDK_master_B202 Palette Dependency Checklist ********************************** This script checks the necessary dependencies a system needs to meet to ensure compatibility and readiness for Palette installation and use. Please review and verify each of the following dependencies.
Once all the dependencies are verified, a final report will be displayed. And the installation script automatically proceeds with installing the software.
___________________________________________________________________________ SYSTEM REQUIREMENTS REPORT +-----------------+-------------------+-----------------------+----------+ | Component | Requirement | Found | Result | +=================+===================+=======================+==========+ | OS Version | 20.04/22.04 | 22.4 | [PASS] | +-----------------+-------------------+-----------------------+----------+ | Docker | v20.10.21 | 27.0.2 | [PASS] | +-----------------+-------------------+-----------------------+----------+ | Python | 3.8.10 | 3.12.3 | [PASS] | +-----------------+-------------------+-----------------------+----------+ | CPU/RAM | 4 Cores/16 GB RAM | 24 Cores/67.15 GB RAM | [PASS] | +-----------------+-------------------+-----------------------+----------+ | Free space | 30 GB free | 1406.9 GB | [PASS] | +-----------------+-------------------+-----------------------+----------+ | Firewall status | disabled | disabled | [PASS] | +-----------------+-------------------+-----------------------+----------+ -------------------------------------------------------------------------- Result: [PASS] All system requirements are successfully met. You may proceed to Palette installation. Using port 4912 for the installation. Docker daemon is not running. Do you want to start it? [y/n]: y
However, if you wish to only check for system readiness, pass the --check-dependencies
flag when running the install.py
script as shown below.
The install.py
script verifies all the dependencies and then stops; it does not proceed with installation of the software.
sima-user@sima-user-machine:~/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ python3 install.py --check-dependencies
Installing the Software
Follow the steps below to install the Palette software.
Steps
Run
python3 install.py
and set up the Docker shared directory.The
install.py
script prompts the user for consent and launches the Docker daemon if not already running on the host machine. Once the Docker container is running, you will create a working directory and mount it inside the Docker container as shown in the prompt below. This work directory will be shared between the Docker SDK image and the host machine; and in this folder you can place most of your development files so that they persist even after the container is shut down. In this case, the default directory is shown, but you may choose any other directory on the host machine.sima-user@sima-user-machine:~/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ python3 install.py ...
Note
The default work directory suggested by the install script will not be the same for all users.
Running/Launching Software
Steps
Start the Docker container and log in. Note that the
start.py
script verifies whether the Docker container is running before proceeding to launch the CLI SDK.sima-user@sima-user-machine:~/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ python3 start.py Set no_proxy to localhost,127.0.0.1 Checking if the container is already running... ==> Container is already running. Proceeding to start an interactive shell. sima-user@docker-image-id:/home$: ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND sima-user 1 4.6 0.1 30928 22596 pts/0 Ss+ 05:52 0:00 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/conf.d/ sima-user 7 0.0 0.0 7244 3712 pts/1 Ss 05:52 0:00 bash sima-user 21 199 1.2 7570224 205076 pts/0 Sl 05:52 0:03 java -jar rpm-service.jar sima-user 22 205 1.2 7570224 210388 pts/0 Sl 05:52 0:04 java -jar plugin-compilation.jar sima-user 23 33.0 0.0 2908 1792 pts/0 S 05:52 0:00 /usr/local/bin/device_status_shadow -v sima-user 24 221 1.2 7570224 209960 pts/0 Sl 05:52 0:04 java -jar gst-generator-service.jar sima-user 25 35.5 0.0 2908 1792 pts/0 S 05:52 0:00 /usr/local/bin/local_port_forwarding -v sima-user 26 210 1.3 5495088 215624 pts/0 Sl 05:52 0:04 java -Xmx2048m -jar packaging-service.jar sima-user 27 38.5 0.0 2908 1792 pts/0 S 05:52 0:00 /usr/local/bin/pcie_forwarding -v sima-user 28 140 0.8 7570224 145372 pts/0 Sl 05:52 0:02 java -jar performance-estimator.jar sima-user 29 19.0 0.0 2908 1664 pts/0 S 05:52 0:00 /usr/local/bin/remote_port_forwarding -v sima-user 127 31.0 0.6 479800 99848 pts/0 Sl 05:52 0:00 /usr/local/bin/remote_port_forwarding -v sima-user 128 61.0 0.7 129396 115032 pts/0 S 05:52 0:00 /usr/local/bin/device_status_shadow -v sima-user 129 57.0 0.7 500208 116800 pts/0 Sl 05:52 0:00 /usr/local/bin/local_port_forwarding -v sima-user 141 53.0 0.6 480952 104888 pts/0 Sl 05:52 0:00 /usr/local/bin/pcie_forwarding -v sima-user 164 0.0 0.6 279012 105364 pts/0 Sl 05:52 0:00 /usr/local/bin/local_port_forwarding -v sima-user 187 0.0 0.0 8896 2944 pts/1 R+ 05:52 0:00 ps aux
Verifying the Installation
Steps
To verify installation, run the build and deploy software contained in the Palette software, the
mpk
package.sima-user@docker-image-id:/home$ mpk --help usage: mpk [-h] [-d] [-q] [-v] {pe,model,remote-log,device,create,debug,deploy,firmware-upgrade,kill,launch,list,remove} ... SiMa CLI Tool options: -h, --help show this help message and exit -d, --debug full application debug mode -q, --quiet suppress all console output -v, --version show program's version number and exit sub-commands: {pe,model,remote-log,device,create,debug,deploy,firmware-upgrade,kill,launch,list,remove} pe pe controller model model controller remote-log remote-log controller device device controller create create mpk from directory debug debug a running package or deploy mpk in debug mode deploy Deploy mpk to target firmware-upgrade Upgrade or Reset a device kill Kill the current running package. Note: 1. In case -i/--id parameter isn't provided, it will kill the latest active deployment. 2. Incase only -i/--id parameter is provided, the latest deployed mpk (to a target) with the given id is killed. 3. In case both -i/--id and -t/--target parameters are provided, only the latest active deployment with given id on given target will be killed. launch Launch previously deployed mpk list List the current running packages remove Remove previously deployed mpk
Installing on Windows using Hyper-V
The Palette software supports Windows OS in Hyper-V mode, the setup and installation steps are described below.
Note
The Docker application (Docker Desktop or Docker Engine) must be installed before installing the Palette software.
Follow the link below for downloading and installing the Docker Desktop application. https://docs.docker.com/desktop/install/windows-install/
Use the build version 4.26.1 or lower. See, https://docs.docker.com/desktop/release-notes/ for details.
In the Configuration window, do not click in the first checkbox, thereby the Hyper-V option will be enabled in the Docker Desktop application.

Steps
Reboot your PC and make sure that the Hyper-V option is enabled automatically as shown in the below image. If not, please select Hyper-V manually.
Launch the Docker Desktop application and open settings. Under resources, increase the memory to 6 GB as shown in the below image and choose
Apply & Restart
option.Unzip the Palette software file.
Launch Windows powershell as an administrator and navigate to the sima-cli folder of the downloaded Palette software uncompressed file.
Make sure Python is installed on the computer by running the below command in powershell.
PS C:\Users\SiMaUser> python --version Python 3.10.8
Launch the Docker Engine application and continue without sign-in if required.
Install the Palette software.
PS C:\Users\SiMaUser\Downloads\1.6.0_Palette_SDK_master_B202\sima-cli> python ./install.py
Enter the workspace directory of your choice (this is the directory which gets mounted in the container) and wait untill installation completes. Typical flow is mentioned below.
If prompted for file sharing permission from Docker, accept it.
Launch the Palette software.
PS C:\Users\SiMaUser\Downloads\1.6.0_Palette_SDK_master_B202\sima-cli> python ./start.py
Uninstalling the Palette Software
Run the following command.
sima-user@sima-user-machine:/Downloads/1.6.0_Palette_SDK_master_B202/sima-cli$ python ./uninstall.py