Registered User mNo edit summary |
Registered User No edit summary |
||
(18 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ApplicableFor | {{ApplicableFor | ||
|MPUs list=STM32MP13x, STM32MP15x | |MPUs list=STM32MP13x, STM32MP15x, STM32MP23x, STM32MP25x | ||
|MPUs checklist=STM32MP13x, STM32MP15x | |MPUs checklist=STM32MP13x, STM32MP15x, STM32MP23x, STM32MP25x | ||
}} | }} | ||
<noinclude> | <noinclude> | ||
Line 13: | Line 13: | ||
===Description=== | ===Description=== | ||
OpenSTLinux provides a package repository service hosted at the non-browsable URL <nowiki>http://packages.openstlinux.st.com</nowiki>. | OpenSTLinux provides a package repository service hosted at the non-browsable URL <nowiki>http://packages.openstlinux.st.com</nowiki>. | ||
The package repository service is designed for ''{{Board | type=157x-DKx | name=short}}'', ''{{Board | type=157x-EV1 | name=short}}'' | The package repository service is designed for ''{{Board | type=157x-DKx | name=short}}'', ''{{Board | type=157x-EV1 | name=short}}'', {{Board | type=135F-DK | name=short}}, {{Board | type=257x-DK | name=short}} and {{Board | type=257x-EV1 | name=short}} boards and is enabled by default in the [[:Category:Starter_Package|Starter Package]]. | ||
{{Warning| Some packages provided in the OpenSTLinux distribution can't be installed or run onto the {{Board | type=135F-DK | name=short}} board. This mainly concerns graphical and related packages because of hardware technical characteristics which differ from ''{{Board | type=157x-DKx | name=short}}'', ''{{Board | type=157x-EV1 | name=short}}'' and {{Board | type=257x-DK | name=short}} boards.}} | |||
{{Warning| Some packages provided in the OpenSTLinux distribution can't be installed or run onto the {{Board | type=135F-DK | name=short}} board. This mainly concerns graphical and related packages because of hardware technical characteristics which differ from ''{{Board | type=157x-DKx | name=short}}'' | |||
===Organization=== | ===Organization=== | ||
Line 28: | Line 27: | ||
''rootfs'' available space is about 60MB by default. For a better experience it is recommended to [[STM32CubeProgrammer#How_to_flash_with_STM32CubeProgrammer|flash]] the [[:Category:Starter_Package|Starter Package]] using the "extensible" flashlayout (''*-extensible.tsv'').<br/> | ''rootfs'' available space is about 60MB by default. For a better experience it is recommended to [[STM32CubeProgrammer#How_to_flash_with_STM32CubeProgrammer|flash]] the [[:Category:Starter_Package|Starter Package]] using the "extensible" flashlayout (''*-extensible.tsv'').<br/> | ||
{{Grey|'''''Extensible flashlayout''''' does not | {{Grey|'''''Extensible flashlayout''''' does not write userfs partition to extend the rootfs partition to the size of the sdcard.}} | ||
==Usage== | ==Usage== | ||
=== | ===Prerequisite=== | ||
We assume your board has an internet connection either through the network cable or through a WiFi connection. | We assume your board has an internet connection either through the network cable or through a WiFi connection. | ||
{{InternalInfo| | {{InternalInfo|ST employees who would like to download packages by being connected to the internal network could face issue}} | ||
If | {{Warning|If a cache proxy issue occurs, a workaround is available : | ||
{{Board$}} export http_proxy='http://<proxy url>:<proxy port>/' | * export the http_proxy environment variable with the following command before any <code>apt-*</code> commands: | ||
}} | {{Board$}}export http_proxy='http://<proxy url>:<proxy port>/' | ||
* modify the date of the board according to the local time zone by using: | |||
{{Board$}}date +%y%m%d -s "yyyymmdd" | |||
{{Board$}}date +%T -s "hh:mm:ss"}} | |||
===Apt === | ===Apt === | ||
Line 43: | Line 45: | ||
OpenSTLinux packages can be handled using <code>apt-*</code> utilities, which are the same utilities used on a [https://manpages.debian.org/stable/apt/apt-get.8.en.html Debian system]. The first <code>apt-*</code> command that must be run before any other is: | OpenSTLinux packages can be handled using <code>apt-*</code> utilities, which are the same utilities used on a [https://manpages.debian.org/stable/apt/apt-get.8.en.html Debian system]. The first <code>apt-*</code> command that must be run before any other is: | ||
{{Board$}} apt-get update | {{Board$}}apt-get update | ||
The software package is provided AS IS, and by downloading it, you agree to be | 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). | bound to the terms of the software license agreement (SLA). | ||
Line 49: | Line 51: | ||
<nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | <nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | ||
Get:1 <nowiki>http://packages.openstlinux.st.com/ | Get:1 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap InRelease [5724B] | ||
Get:2 <nowiki>http://packages.openstlinux.st.com/ | Get:2 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/main armhf Packages [986kB] | ||
Get:3 <nowiki>http://packages.openstlinux.st.com/ | Get:3 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/updates armhf Packages [35.8kB] | ||
Get:4 <nowiki>http://packages.openstlinux.st.com/ | Get:4 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/untested armhf Packages [1505kB] | ||
Fetched | Fetched 2532 kB in 4s (659 kB/s) | ||
Reading package lists... Done | Reading package lists... Done | ||
This command synchronizes the local packages index from the repositories enumerated in [https://manpages.debian.org/stable/apt/sources.list.5.en.html <code>/etc/apt/sources.list{,.d}</code>]. Once it is updated, [https://manpages.debian.org/stable/apt/apt-cache.8.en.html <code>apt-cache</code>] can be used to get the list of all available packages: | This command synchronizes the local packages index from the repositories enumerated in [https://manpages.debian.org/stable/apt/sources.list.5.en.html <code>/etc/apt/sources.list{,.d}</code>]. Once it is updated, [https://manpages.debian.org/stable/apt/apt-cache.8.en.html <code>apt-cache</code>] can be used to get the list of all available packages: | ||
{{Board$}} apt-cache search . | {{Board$}}apt-cache search . | ||
a52dec - ATSC A/52 surround sound stream decoder | a52dec - ATSC A/52 surround sound stream decoder | ||
a52dec-doc - ATSC A/52 surround sound stream decoder | a52dec-doc - ATSC A/52 surround sound stream decoder | ||
abseil-cpp - Abseil is a cpp library like STL | |||
acl - Utilities for managing POSIX Access Control Lists | acl - Utilities for managing POSIX Access Control Lists | ||
... | ... | ||
zram - Linux zram compressed in-memory swap | |||
zsh - UNIX Shell similar to the Korn shell | |||
zsh-doc - UNIX Shell similar to the Korn shell - Documentation files | |||
zsync-curl - File transfer tool optimised for large files (curl port) | |||
zsync-curl-doc - File transfer tool optimised for large files (curl port) - Documentation files | |||
It is possible to list only packages that match a given pattern, for example: | It is possible to list only packages that match a given pattern, for example: | ||
{{Board$}} apt-cache search emacs | {{Board$}}apt-cache search emacs | ||
libreadline-doc - Library for editing typed command lines - Documentation files | libreadline-doc - Library for editing typed command lines - Documentation files | ||
libreadline8 - Library for editing typed command lines | |||
emacs-base - Emacs is the extensible, customizable, self-documenting real-time display editor | emacs-base - Emacs is the extensible, customizable, self-documenting real-time display editor | ||
emacs-doc - Emacs is the extensible, customizable, self-documenting real-time display editor - Documentation files | emacs-doc - Emacs is the extensible, customizable, self-documenting real-time display editor - Documentation files | ||
Line 78: | Line 84: | ||
gpm-doc - Console mouse driver - Documentation files | gpm-doc - Console mouse driver - Documentation files | ||
zile - Zile is lossy Emacs | zile - Zile is lossy Emacs | ||
zile-doc - Zile is lossy Emacs - Documentation | zile-doc - Zile is lossy Emacs - Documentation filelibreadline-doc - Library for editing typed command lines Documentation files | ||
You can check if a package is already installed or not: | You can check if a package is already installed or not: | ||
{{Board$}} apt-cache policy zile | {{Board$}}apt-cache policy zile | ||
zile: | zile: | ||
Installed: (none) | Installed: (none) | ||
Line 89: | Line 94: | ||
Version table: | Version table: | ||
2.4.15-r0 500 | 2.4.15-r0 500 | ||
500 <nowiki>http://packages.openstlinux.st.com/ | 500 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/untested armhf Packages | ||
The desired package(s) can then be easily installed: | The desired package(s) can then be easily installed: | ||
{{Board$}} apt-get install zile | {{Board$}}apt-get install zile | ||
Reading package lists... Done | Reading package lists... Done | ||
Building dependency tree | Building dependency tree | ||
Line 102: | Line 107: | ||
bdwgc zile | bdwgc zile | ||
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. | 0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. | ||
Need to get | Need to get 153 kB of archives. | ||
After this operation, 0 B of additional disk space will be used. | After this operation, 0 B of additional disk space will be used. | ||
Do you want to continue? [Y/n] | Do you want to continue? [Y/n] | ||
Get:1 <nowiki>http://packages.openstlinux.st.com/ | Get:1 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/untested armhf bdwgc armhf 8.2.6-r0 [73.1 kB] | ||
Get:2 <nowiki>http://packages.openstlinux.st.com/ | Get:2 <nowiki>http://packages.openstlinux.st.com/6.0</nowiki> scarthgap/untested armhf zile armhf 2.4.15-r0 [80.3 kB] | ||
Fetched | Fetched 153 kB in 1s (270 kB/s) | ||
The software package is provided AS IS, and by downloading it, you agree to be | The software package is provided AS IS, and by downloading it, you agree to be | ||
Line 115: | Line 120: | ||
Selecting previously unselected package bdwgc. | Selecting previously unselected package bdwgc. | ||
(Reading database ... | (Reading database ... 15473 files and directories currently installed.) | ||
Preparing to unpack .../bdwgc_8.2. | Preparing to unpack .../bdwgc_8.2.6-r0_armhf.deb ... | ||
Unpacking bdwgc (8.2. | Unpacking bdwgc (8.2.6-r0) ... | ||
Selecting previously unselected package zile. | Selecting previously unselected package zile. | ||
Preparing to unpack .../zile_2.4.15-r0_armhf.deb ... | Preparing to unpack .../zile_2.4.15-r0_armhf.deb ... | ||
Unpacking zile (2.4.15-r0) ... | Unpacking zile (2.4.15-r0) ... | ||
Setting up bdwgc (8.2. | Setting up bdwgc (8.2.6-r0) ... | ||
Setting up zile (2.4.15-r0) ... | Setting up zile (2.4.15-r0) ... | ||
... or removed: | ... or removed: | ||
{{Board$}} apt-get remove zile | {{Board$}}apt-get remove zile | ||
Reading package lists... Done | Reading package lists... Done | ||
Building dependency tree | Building dependency tree | ||
Line 144: | Line 149: | ||
<nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | <nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | ||
(Reading database ... | (Reading database ... 15482 files and directories currently installed.) | ||
Removing zile (2.4.15-r0) ... | Removing zile (2.4.15-r0) ... | ||
Line 150: | Line 155: | ||
This command only removes the files that were installed from this package. It does not remove the package from the <code>apt</code> download cache. If there is not enough space available on the system, it is recommended to clean the cache: | This command only removes the files that were installed from this package. It does not remove the package from the <code>apt</code> download cache. If there is not enough space available on the system, it is recommended to clean the cache: | ||
{{Board$}} apt-get clean | {{Board$}}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: | 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: | ||
{{Board$}} apt-get autoremove | {{Board$}}apt-get autoremove | ||
Reading package lists... Done | Reading package lists... Done | ||
Building dependency tree | Building dependency tree | ||
Line 169: | Line 174: | ||
<nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | <nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | ||
(Reading database ... | (Reading database ... 15481 files and directories currently installed.) | ||
Removing bdwgc (8.2. | Removing bdwgc (8.2.6-r0) ... | ||
{{warning | The above examples are given from a STM32MP1 board. For STM32MP2 boards, outputs may differ. In particular, the STM32MP2 package architecture is '''arm64''' instead of '''armhf''', which is used for the STM32MP1 package architecture. }} | |||
== How to activate a local package repository == | == How to activate a local package repository == | ||
Line 179: | Line 186: | ||
Natively OpenEmbedded/Yocto build system is able to generate a valid package repository (by using <code>bitbake package-index</code> command listed below). | Natively OpenEmbedded/Yocto build system is able to generate a valid package repository (by using <code>bitbake package-index</code> command listed below). | ||
So first, [[ | So first, [[STM32MPU_Distribution_Package#Installing_the_OpenSTLinux_distribution|install the STM32MPU OpenSTLinux distribution]]. | ||
===Update the repo package indexes=== | ===Update the repo package indexes=== | ||
Execute the <code>bitbake package-index</code> command: | Execute the <code>bitbake package-index</code> command: | ||
{{PC$}} cd [your | {{PC$}}cd [your STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE> | ||
{{PC$}} bitbake package-index | {{PC$}}bitbake package-index | ||
===HTTP server execution on the computer=== | ===HTTP server execution on the computer=== | ||
'''http.server''' 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 | '''http.server''' 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 STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb''' folder: | ||
{{PC$}}cd [your STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb | |||
{{PC$}}python3 -m http.server & | |||
===How to use the local OpenSTLinux Distribution === | |||
====From STM32MP1 boards ==== | |||
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.<br/> | |||
You can now configure the APT tool directly on the target via a Linux console: | |||
{{Board$}}echo "deb [trusted=yes] http://<IP>:8000/stm32mp1 /" > /etc/apt/sources.list.d/my_custom.list | |||
{{Board$}}echo "deb [trusted=yes] http://<IP>:8000/all /" >> /etc/apt/sources.list.d/my_custom.list | |||
{{Board$}}echo "deb [trusted=yes] http://<IP>:8000/cortexa7t2hf-neon-vfpv4 /" >> /etc/apt/sources.list.d/my_custom.list | |||
{{Board$}}echo "deb [trusted=yes] http://<IP>:8000/cortexa7hf-neon-vfpv4 /" >> /etc/apt/sources.list.d/my_custom.list | |||
In the above examples, '''[trusted=yes]''' has been specified because the package manifest '''Release''' is not signed.<br/> | |||
Then you can run the command to synchronize the local packages index: | |||
{{Board$}}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 | |||
<nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | |||
Ign:1 http://<IP>:8000/stm32mp1 InRelease | |||
Ign:2 http://<IP>:8000/all InRelease | |||
Ign:3 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 InRelease | |||
Ign:4 http://<IP>:8000/cortexa7hf-neon-vfpv4 InRelease | |||
Get:5 http://<IP>:8000/stm32mp1 Release [1088 B] | |||
Get:6 http://<IP>:8000/all Release [1083 B] | |||
Get:7 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release [1115 B] | |||
Get:8 http://<IP>:8000/cortexa7hf-neon-vfpv4 Release [1097 B] | |||
Ign:9 http://<IP>:8000/stm32mp1 Release.gpg | |||
Ign:10 http://<IP>:8000/all Release.gpg | |||
Ign:11 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release.gpg | |||
Ign:12 http://<IP>:8000/cortexa7hf-neon-vfpv4 Release.gpg | |||
Get:13 http://<IP>:8000/stm32mp1 Packages [165 kB] | |||
Get:14 http://<IP>:8000/all Packages [109 kB] | |||
Get:15 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Packages [2775 kB] | |||
Get:16 http://<IP>:8000/cortexa7hf-neon-vfpv4 Packages [20.5 kB] | |||
Fetched 3073 kB in 7s (463 kB/s) | |||
Reading package lists... Done | |||
The other <code>apt-*</code> commands are now available as described above. | |||
=== | ====From STM32MP2 boards ==== | ||
We use the physical IP address of the HTTP server we launched above to configure APT. That means this | 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.<br/> | ||
You can now configure the APT tool directly on the target via a Linux console: | You can now configure the APT tool directly on the target via a Linux console: | ||
{{Board$}} echo "deb [trusted=yes] http://<IP>:8000/ | {{Board$}}echo "deb [trusted=yes] http://<IP>:8000/stm32mp25 /" > /etc/apt/sources.list.d/my_custom.list | ||
{{Board$}} echo "deb [trusted=yes] http://<IP>:8000/all /" >> /etc/apt/sources.list.d/my_custom.list | {{Board$}}echo "deb [trusted=yes] http://<IP>:8000/all /" >> /etc/apt/sources.list.d/my_custom.list | ||
{{Board$}} echo "deb [trusted=yes] http://<IP>:8000/ | {{Board$}}echo "deb [trusted=yes] http://<IP>:8000/cortexa35 /" >> /etc/apt/sources.list.d/my_custom.list | ||
In the above | In the above examples, '''[trusted=yes]''' has been specified because the package manifest '''Release''' is not signed.<br/> | ||
Then you can run the command to synchronize the local packages index: | Then you can run the command to synchronize the local packages index: | ||
{{Board$}} apt-get update | {{Board$}}apt-get update | ||
The software package is provided AS IS, and by downloading it, you agree to be | 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). | bound to the terms of the software license agreement (SLA). | ||
The detailed content licenses can be found at | The detailed content licenses can be found at | ||
<nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | <nowiki>https://wiki.st.com/stm32mpu/wiki/OpenSTLinux_licenses</nowiki>. | ||
Ign:1 http://<IP>:8000/ | Ign:1 http://<IP>:8000/stm32mp25 InRelease | ||
Ign:2 http://<IP>:8000/all InRelease | Ign:2 http://<IP>:8000/all InRelease | ||
Ign:3 http://<IP>:8000/ | Ign:3 http://<IP>:8000/cortexa35 InRelease | ||
Get:4 http://<IP>:8000/stm32mp25 Release [1088 B] | |||
Get:5 http://<IP>:8000/all Release [1083 B] | |||
Get: | Get:6 http://<IP>:8000/cortexa35 Release [1115 B] | ||
Get: | Ign:7 http://<IP>:8000/stm32mp25 Release.gpg | ||
Ign:8 http://<IP>:8000/all Release.gpg | |||
Ign: | Ign:9 http://<IP>:8000/cortexa35 Release.gpg | ||
Ign: | Get:10 http://<IP>:8000/stm32mp25 Packages [165 kB] | ||
Ign: | Get:11 http://<IP>:8000/all Packages [109 kB] | ||
Get:12 http://<IP>:8000/cortexa35 Packages [2775 kB] | |||
Get: | |||
Get: | |||
Get: | |||
Fetched 3073 kB in 7s (463 kB/s) | Fetched 3073 kB in 7s (463 kB/s) | ||
Reading package lists... Done | Reading package lists... Done | ||
The other <code>apt-*</code> commands are now available as described above. | The other <code>apt-*</code> commands are now available as described above. | ||
==Support== | ==Support== | ||
Line 247: | Line 290: | ||
* https://wiki.debian.org/DebianRepository/SetupWithReprepro | * https://wiki.debian.org/DebianRepository/SetupWithReprepro | ||
* https://wiki.debian.org/SecureApt | * https://wiki.debian.org/SecureApt | ||
* [[ | * [[STM32MPU Developer Package]] | ||
<noinclude> | <noinclude> |
Latest revision as of 15:05, 4 November 2024
1. Disclaimers[edit | 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 | 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 STM32MP157x-DKx , STM32MP157x-EV1
, STM32MP135F-DK
, STM32MP257x-DK unknown board type identifier and STM32MP257x-EV1 unknown board type identifier boards and is enabled by default in the Starter Package.
1.2. Organization[edit | edit source]
Within each repository, packages are organized in three 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. - the updates group contains additional packages not included in the OpenSTLinux distribution releases and updated packages. This group is managed by a dedicated layer available through github®. Further details are available by following the github® link: https://github.com/STMicroelectronics/meta-st-pkgrepo-updates.
1.3. Limitations[edit | 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 write userfs partition to extend the rootfs partition to the size of the sdcard.
2. Usage[edit | edit source]
2.1. Prerequisite[edit | edit source]
We assume your board has an internet connection either through the network cable or through a WiFi connection.
2.2. Apt[edit | 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/6.0 scarthgap InRelease [5724B]
Get:2 http://packages.openstlinux.st.com/6.0 scarthgap/main armhf Packages [986kB]
Get:3 http://packages.openstlinux.st.com/6.0 scarthgap/updates armhf Packages [35.8kB]
Get:4 http://packages.openstlinux.st.com/6.0 scarthgap/untested armhf Packages [1505kB]
Fetched 2532 kB in 4s (659 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:
POSIX Access Control Lists ... zram - Linux zram compressed in-memory swap zsh - UNIX Shell similar to the Korn shell zsh-doc - UNIX Shell similar to the Korn shell - Documentation files zsync-curl - File transfer tool optimised for large files (curl port) zsync-curl-doc - File transfer tool optimised for large files (curl port) - Documentation filesapt-cache search . a52dec - ATSC A/52 surround sound stream decoder a52dec-doc - ATSC A/52 surround sound stream decoder abseil-cpp - Abseil is a cpp library like STL acl - Utilities for managing
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
libreadline8 - Library for editing typed command lines
emacs-base - Emacs is the extensible, customizable, self-documenting real-time display editor
emacs-doc - Emacs is the extensible, customizable, self-documenting real-time display editor - Documentation files
emacs-full - Emacs is the extensible, customizable, self-documenting real-time display editor
emacs-minimal - Emacs is the extensible, customizable, self-documenting real-time display editor
gpm - Console mouse driver
gpm-doc - Console mouse driver - Documentation files
zile - Zile is lossy Emacs
zile-doc - Zile is lossy Emacs - Documentation filelibreadline-doc - Library for editing typed command lines Documentation files
You can check if a package is already installed or not:
apt-cache policy zile
zile:
Installed: (none)
Candidate: 2.4.15-r0
Version table:
2.4.15-r0 500
500 http://packages.openstlinux.st.com/6.0 scarthgap/untested armhf Packages
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 1 not upgraded.
Need to get 153 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/6.0 scarthgap/untested armhf bdwgc armhf 8.2.6-r0 [73.1 kB]
Get:2 http://packages.openstlinux.st.com/6.0 scarthgap/untested armhf zile armhf 2.4.15-r0 [80.3 kB]
Fetched 153 kB in 1s (270 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 ... 15473 files and directories currently installed.)
Preparing to unpack .../bdwgc_8.2.6-r0_armhf.deb ...
Unpacking bdwgc (8.2.6-r0) ...
Selecting previously unselected package zile.
Preparing to unpack .../zile_2.4.15-r0_armhf.deb ...
Unpacking zile (2.4.15-r0) ...
Setting up bdwgc (8.2.6-r0) ...
Setting up zile (2.4.15-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 1 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 ... 15482 files and directories currently installed.)
Removing zile (2.4.15-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 1 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 ... 15481 files and directories currently installed.)
Removing bdwgc (8.2.6-r0) ...
3. How to activate a local package repository[edit | edit source]
3.1. Prerequisite[edit | 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. Using a local and personal package repository is a 'smart' and 'quick' way to update the 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 STM32MPU OpenSTLinux distribution.
3.2. Update the repo package indexes[edit | edit source]
Execute the bitbake package-index
command:
cd [your STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE>
bitbake package-index
3.3. HTTP server execution on the computer[edit | edit source]
http.server 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 STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb folder:
cd [your STM32MP2 Distribution path]/build-<DISTRO>-<MACHINE>/tmp-glibc/deploy/deb
python3 -m http.server &
3.4. How to use the local OpenSTLinux Distribution[edit | edit source]
3.4.1. From STM32MP1 boards[edit | 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
echo "deb [trusted=yes] http://<IP>:8000/cortexa7hf-neon-vfpv4 /" >> /etc/apt/sources.list.d/my_custom.list
In the above examples, [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/stm32mp1 InRelease
Ign:2 http://<IP>:8000/all InRelease
Ign:3 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 InRelease
Ign:4 http://<IP>:8000/cortexa7hf-neon-vfpv4 InRelease
Get:5 http://<IP>:8000/stm32mp1 Release [1088 B]
Get:6 http://<IP>:8000/all Release [1083 B]
Get:7 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release [1115 B]
Get:8 http://<IP>:8000/cortexa7hf-neon-vfpv4 Release [1097 B]
Ign:9 http://<IP>:8000/stm32mp1 Release.gpg
Ign:10 http://<IP>:8000/all Release.gpg
Ign:11 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Release.gpg
Ign:12 http://<IP>:8000/cortexa7hf-neon-vfpv4 Release.gpg
Get:13 http://<IP>:8000/stm32mp1 Packages [165 kB]
Get:14 http://<IP>:8000/all Packages [109 kB]
Get:15 http://<IP>:8000/cortexa7t2hf-neon-vfpv4 Packages [2775 kB]
Get:16 http://<IP>:8000/cortexa7hf-neon-vfpv4 Packages [20.5 kB]
Fetched 3073 kB in 7s (463 kB/s)
Reading package lists... Done
The other apt-*
commands are now available as described above.
3.4.2. From STM32MP2 boards[edit | 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/stm32mp25 /" > /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/cortexa35 /" >> /etc/apt/sources.list.d/my_custom.list
In the above examples, [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/stm32mp25 InRelease
Ign:2 http://<IP>:8000/all InRelease
Ign:3 http://<IP>:8000/cortexa35 InRelease
Get:4 http://<IP>:8000/stm32mp25 Release [1088 B]
Get:5 http://<IP>:8000/all Release [1083 B]
Get:6 http://<IP>:8000/cortexa35 Release [1115 B]
Ign:7 http://<IP>:8000/stm32mp25 Release.gpg
Ign:8 http://<IP>:8000/all Release.gpg
Ign:9 http://<IP>:8000/cortexa35 Release.gpg
Get:10 http://<IP>:8000/stm32mp25 Packages [165 kB]
Get:11 http://<IP>:8000/all Packages [109 kB]
Get:12 http://<IP>:8000/cortexa35 Packages [2775 kB]
Fetched 3073 kB in 7s (463 kB/s)
Reading package lists... Done
The other apt-*
commands are now available as described above.
4. Support[edit | 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 | 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
- STM32MPU Developer Package