This is a step-by-step explanation of how we created the tools that we host and that are used by zinstaller. You can also compile these tools manually and use the version you want.
Clone the latest Zephyr repository:
git clone https://github.com/zephyrproject-rtos/zephyr.git
cd zephyrCreate a requirements directory:
mkdir requirementsCopy the requirements files:
cp zephyr/scripts/requirements*.txt requirements/Package the requirements:
7z a -tzip requirements-3.7.0.zip requirementsDownload and install 7-Zip Portable from PortableApps.com.
Create a self-extracting archive:
cp -r 7-ZipPortable/App/7-Zip64 7-Zip
7z a -sfx 7-Zip-24.08.exe 7-ZipDownload the OpenSSL source:
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gzExtract the source:
tar xf openssl-1.1.1t.tar.gzRename and package the source:
mv out/ openssl-1.1.1t
tar cjf openssl-1.1.1t.tar.bz2 openssl-1.1.1tThis setup is based on the portable-python project. Created on an Ubuntu 20.04 host.
Install the required dependencies:
sudo apt-get install python3-pip python3-venv python3-setuptools python3-tk libffi-dev \
libgdbm-compat-dev libbz2-dev libreadline-dev libncurses-dev libssl-dev \
libsqlite3-dev libdb-dev libgdbm-dev tk-dev tcl-devCreate a virtual environment:
/usr/bin/python3 -m venv /tmp/ppInstall portable-python:
/tmp/pp/bin/python -m pip install portable-pythonInspect the Python installation:
/tmp/pp/bin/portable-python inspect /usr/bin/python3Ensure that all necessary modules, including _ssl and _tkinter, are installed.
Build portable Python:
/tmp/pp/bin/portable-python build 3.11.9