1. Disclaimers[edit source]
STMicroelectronics packages repository service is provided for evaluation purpose only, and therefore not approved for use in production.
The package licenses hosted in these repositories can be found here: OpenSTLinux licenses.
Command outputs described in this document may slightly vary depending on tools version.
1.1. Description[edit source]
OpenSTLinux provides a package repository service hosted at the non-browsable URL http://packages.openstlinux.st.com.
The package repository service is designed for STM32MP157C-DK2 boards and is enabled by default in the Starter Package.
1.2. Organization[edit source]
Within each repository, packages are organized in two groups (a.k.a components in the APT terminology):
- the main group contains a wide selection of packages whose installation is automatically tested by STMicroelectronics
- the untested group contains all the other packages that can be built using the
bitbake world
command. However their installation is not guaranteed.
A third group named updates is reserved for future use.
1.3. Limitations[edit source]
Packages repository service doesn't include the packages that are shipped in the rootfs image, nor the BSP components (TF-A, U-Boot, Linux and OP-TEE). They can be installed only from the Starter Package using the STM32CubeProgrammer.
rootfs available space is about 60MB by default. For a better experience it is recommended to flash the Starter Package using the "extensible" flashlayout (*-extensible.tsv).
Extensible flashlayout does not flash userfs partition to extend the rootfs partition to the size of the sdcard.
2. Usage[edit source]
2.1. Prequisite[edit source]
We assume your board has an internet connection either through the network cable or through a WiFi connection.
2.2. Apt[edit source]
OpenSTLinux packages can be handled using apt-*
utilities, which are the same utilities used on a Debian system. The first apt-*
command that must be run before any other is:
apt-get update The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. Get:1 http://packages.openstlinux.st.com/1.2 thud InRelease [2691 B] Get:2 http://packages.openstlinux.st.com/1.2 thud/main armhf Packages [1012 kB] Get:3 http://packages.openstlinux.st.com/1.2 thud/untested armhf Packages [1438] Fetched 2453 kB in 3s (652 kB/s) Reading package lists... Done
This command synchronizes the local packages index from the repositories enumerated in /etc/apt/sources.list{,.d}
. Once it is updated, apt-cache
can be used to get the list of all available packages:
apt-cache search . a52dec - ATSC A/52 surround sound stream decoder a52dec-doc - ATSC A/52 surround sound stream decoder acl - Utilities for managing POSIX Access Control Lists ... libglapi0 - A free implementation of the OpenGL API (OpenGL only, no EGL/GLES) libxcb-xkb1 - XCB library module for xkb libavahi-core7 - Avahi IPv4LL network address configuration daemon
It is possible to list only packages that match a given pattern, for example:
apt-cache search emacs libreadline-doc - Library for editing typed command lines - Documentation files gpm - gpm version 1.99.7+git1fd19417b8a4dd9945347e98dfa97e4cfd798d77-r2 zile - Zile is lossy Emacs zile-doc - Zile is lossy Emacs - Documentation files libreadline7 - Library for editing typed command lines
The desired package(s) can then be easily installed:
apt-get install zile Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: bdwgc The following NEW packages will be installed: bdwgc zile 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 141 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://packages.openstlinux.st.com/1.2 thud/untested armhf bdwgc armhf 7.6.0-r0 [60.3 kB] Get:2 http://packages.openstlinux.st.com/1.2 thud/untested armhf zile armhf 2.4.14-r0 [80.2 kB] Fetched 141 kB in 5s (25.2 kB/s) The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. Selecting previously unselected package bdwgc. (Reading database ... 16257 files and directories currently installed.) Preparing to unpack .../bdwgc_7.6.0-r0_armhf.deb ... Unpacking bdwgc (7.6.0-r0) ... Selecting previously unselected package zile. Preparing to unpack .../zile_2.4.14-r0_armhf.deb ... Unpacking zile (2.4.14-r0) ... Setting up bdwgc (7.6.0-r0) ... Setting up zile (2.4.14-r0) ...
... or removed:
apt-get remove zile Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: bdwgc Use 'apt autoremove' to remove it. The following packages will be REMOVED: zile 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. (Reading database ... 16262 files and directories currently installed.) Removing zile (2.4.14-r0) ...
This command only removes the files that were installed from this package. It does not remove the package from the apt
download cache. If there is not enough space available on the system, it is recommended to clean the cache:
apt-get clean
Likewise, some packages may have been automatically installed to respect dependencies with other packages. If they are no longer required, they can be removed to free space:
apt-get autoremove Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: bdwgc 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. (Reading database ... 16261 files and directories currently installed.) Removing bdwgc (7.6.0-r0) ...
3. How to activate a local package repository[edit source]
3.1. Prerequisite[edit source]
Even if Package repository for OpenSTLinux offers lots of and various packages, you may need to use a local and personnal package repository. To use a local and personnal package repository is a 'smart' and 'quick' way to update the STM32MP15_Discovery_kits_-_Starter_Package with your developments.
A local package repository is a collection of *.deb organized such apt
needs it. The local repository should provide Packages metafiles.
Natively OpenEmbedded/Yocto build system is able to generate a valid package repository (by using bitbake package-index
command listed below).
So first Install the STM32MP1 OpenSTLinux distribution.
3.2. Update the repo package indexes[edit source]
Execute the bitbake package-index
command:
cd [your STM32MP1 Distribution path]/build-<DISTRO>-<MACHINE> bitbake package-index
3.3. HTTP server execution on the computer[edit source]
SimpleHTTPserver python application is already installed on the board with the OpenSTLinux distribution. You just need to launch this application on your host computer, in the "[your STM32MP1 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb" folder:
cd [your STM32MP1 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb python -m SimpleHTTPServer&
3.4. How to use the local OpenSTLinux Distribution[edit source]
We use the physical IP address of the HTTP server we launched above to configure APT. That means this {{<IP>}} address should be defined as static on the host computer.
You can now configure the APT tool directly on the target via a Linux console:
echo "deb [trusted=yes] http://<IP>:8000/stm32mp1 /" > /etc/apt/sources.list.d/my_custom.list echo "deb [trusted=yes] http://<IP>:8000/all /" >> /etc/apt/sources.list.d/my_custom.list echo "deb [trusted=yes] http://<IP>:8000/cortexa7t2hf-neon-vfpv4 /" >> /etc/apt/sources.list.d/my_custom.list
In the above example, [trusted=yes] has been specified because the package manifest Release is not signed.
Then you can run the command to synchronize the local packages index:
apt-get update The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found at https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses. Ign:1 http://<IP>:8000/all InRelease Ign:2 http://<IP>:8000/stm32mp1 InRelease Ign:3 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 InRelease Get:4 http://<IP>:8000/all Release [1213 B] Get:5 http://<IP>:8000/stm32mp1 Release [1218 B] Get:6 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release [1233 B] Ign:7 http://<IP>:8000/all Release.gpg Ign:8 http://<IP>:8000/stm32mp1 Release.gpg Ign:9 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release.gpg Get:10 http://<IP>:8000/all Packages [82.8 kB] Get:11 http://<IP>:8000/stm32mp1 Packages [173 kB] Get:12 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Packages [1734 kB] Fetched 1994 kB in 3s (662 kB/s) Reading package lists... Done
The other apt-*
commands are now available as described above.
4. Support[edit source]
Bug reports, request for new packages, or any other kind of support requests can be submitted through https://community.st.com.
5. Further readings[edit source]
- Dpkg
- https://manpages.debian.org/stable/apt/apt-get.8.en.html
- https://manpages.debian.org/stable/apt/sources.list.5.en.html
- https://manpages.debian.org/stable/apt/apt-cache.8.en.html
- https://wiki.debian.org/DebianRepository/Setup
- https://wiki.debian.org/DebianRepository/SetupWithReprepro
- https://wiki.debian.org/SecureApt
- https://wiki.st.com/stm32mpu/wiki/STM32MP15_Discovery_kits_-_Starter_Package
- https://wiki.st.com/stm32mpu/wiki/STM32MP15_Evaluation_boards_-_Starter_Package
- https://wiki.st.com/stm32mpu/wiki/STM32MP1_Developer_Package