Package repository for OpenSTLinux distribution

Revision as of 09:42, 12 February 2020 by Registered User (Jean Christophe Trotin moved page Package repository to Package repository for OpenSTLinux distribution without leaving a redirect: To maintain consistent naming across different pages)
Renaming.png This page is a candidate for renaming (move).
The requested new name is: Package repository for OpenSTLinux distribution .
The supplied reason is: To maintain consistent naming across different pages.
No signature supplied!
Wiki maintainers: remember to update the pages that link this page before renaming (moving) it.

1. Disclaimers[edit source]

STMicroelectronics package repositories are provided for evaluation purpose only, as a consequence they should not be used in production. The licenses of the packages hosted in these repositories can be found here: OpenSTLinux_licenses.

2. Usage[edit source]

2.1. Apt[edit source]

OpenSTLinux packages can be handled using apt-* utilities, that is, the same utilities that are used on a Debian system. The first apt-* command that should be run before any other is:

 root@board# apt-get update

This synchronizes the local package index from 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:

 root@board# apt-cache search .

Of course it is possible to list only packages that match a given pattern, for example:

 root@board# apt-cache search emacs
 [...]
 zile - very small Emacs-subset editor

And then the desired package(s) can be easily installed:

 root@board# apt-get install zile

... or removed:

 root@board# apt-get remove zile

Note this only removes the files that were installed from this package, this 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 it:

 root@board# apt-get clean

Likewise, some packages may have been automatically installed to satisfy dependencies for other packages, but these formers may now be no longer needed. As a consequence they can be removed to free some space:

 root@board# apt-get autoremove

It is also recommended to regularly install the newest versions of the packages currently installed on the system:

 root@board# apt-get upgrade

2.2. Limitations[edit source]

STMicroelectronics package repositories do not provide the packages that are shipped in the rootfs image, nor the BSP components (TF-A, U-Boot, Linux, & OP-TEE). Those can be installed only from the Starter Package using the STM32CubeProgrammer.


2.3. How to create a repository[edit source]

A lot of different tools can be used to generate an Apt repository; the most recommended one is reprepro, and the easiest one is probably apt-ftparchive. For instance, to quickly create an Apt repository from a build of OpenSTLinux:

 user@pc$ cd build-openstlinuxweston-stm32mp1
 user@pc$ cd tmp-glibc/deploy/deb/
 user@pc$ ls
 all/  cortexa7t2hf-neon-vfpv4/  stm32mp1/
 user@pc$ apt-ftparchive --arch armhf packages . > Packages
 user@pc$ apt-ftparchive release . > Release

Then the whole content of this directory (deb in the previous example) must be copied to a location which is accessible to the OpenSTLinux OS; this could be a file server or a local disk. This location ($location in the example below) just has to be declared to the Apt system:

 root@board# echo "deb [trusted=yes] $location /" > /etc/apt/sources.list.d/custom.list

Here [trusted=yes] was specified because the package manifest is not signed. Finally, apt-* commands can be used as described in the section apt.

3. Organization[edit source]

Within each repository, packages are organized in two groups (a.k.a "components" in the APT terminology):

  • the group "main" contains a large selection of packages whose installation is automatically tested by ST; and
  • the group "untested" contains all the other packages that can be built by the bitbake world command, but their installations is not guaranteed.

A third group named "updates" is reserved for future use.

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]