C
Package Manager in Boot to Qt
Boot to Qt images use the IPK (Itsy Package) package format and the corresponding OPKG (Open Package) package manager for handling the packages in the target devices. With opkg
, you can install, update, and remove packages in a target device.
The Qt Company does not offer a package feed that you could use to install new packages or updates into the target device over the network. However, Yocto provides a way to create your own package feeds for either personal development purposes or to be shared with other users.
To get started, you need to have a Yocto build done for you target device. To do this, follow the instructions in How to Create Boot to Qt Image and build the Boot to Qt image and any additional components you want to offer from the feed. After this, you need to instruct bitbake to prepare the package feed by running the following command:
bitbake package-index
This creates the required package feed files under tmp/deploy/ipk. You must then make this directory structure available from an HTTP server. For development purposes, you can use a simple Python command to start an HTTP server:
cd tmp/deploy/ipk python3 -m http.server
Next, you need to edit the opkg configuration in the target device and add your package feed URLs. For this, you need to know the IP address of your host machine and directory names in the package feed directory.
For the following example, let's assume that your host machine has an IP address 172.16.58.2 and that you have following package feed directories available:
- aarch64
- aarch64-mx8
- all
The example IP address is usually available if you are connected to the target device via USB, but may be different in your case. The actual package directories always depend on the target device that you're using.
The package feed URLs are added in the /etc/opkg/opkg.conf configuration file in your target device in the following format:
src aarch64 http://172.16.58.2:8000/aarch64 src aarch64-mx8 http://172.16.58.2:8000/aarch64-mx8 src all http://172.16.58.2:8000/all
After this, you can use the opkg
tool the update the target device:
root@b2qt-imx8:~# opkg update Downloading http://172.16.58.2:8000/aarch64/Packages. Updated source 'aarch64'. Downloading http://172.16.58.2:8000/aarch64-mx8/Packages. Updated source 'aarch64-mx8'. Downloading http://172.16.58.2:8000/all/Packages. Updated source 'all'.
For more information, see Using Runtime Package Management in the Yocto documentation.
Available under certain Qt licenses.
Find out more.