Difference between revisions of "DESK-MP1-L/Development/Management of prebuilt packages"

From DAVE Developer's Wiki
Jump to: navigation, search
(Introduction)
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<section begin="History" />
+
[[File:TBD.png|thumb|center|600px]]<section begin="History" />
 
{| style="border-collapse:collapse; "
 
{| style="border-collapse:collapse; "
 
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
 
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
Line 6: Line 6:
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
 
|-
 
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |2023/08/31
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |August 2023
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MP1-L-1.0.1 release
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MP1-L-1.0.0 release
 
|-
 
|-
 
|}
 
|}
<section end="History" />
+
<section end="History" />__FORCETOC__<section begin="Body" />
__FORCETOC__
+
==Introduction==
<section begin="Body" />
+
During the development of custom applications, developers generally realize that they need to add libraries and other software packages to the root file systems to make their code run properly. If these packages are prebuilt, developers can install them onto the root file system very easily. By configuring the target as described in this document, they achieve a user experience similar to the one you have with a desktop Linux distro such as Ubuntu. DESK-MP1-L uses by default the <code>deb</code> package format. As such, [https://itsfoss.com/apt-command-guide/ apt commands] can be used for package management. Prebuilt packages are provided by [https://yocto.dave.eu/desk-mp1-l-1.0.0/ this repository] that DAVE Embedded Systems makes available for its customers.
 
 
==Management of prebuilt packages==
 
During the development of custom applications, developers generally realize that they need to add libraries and other software packages to the root file systems to make their code run properly. If these packages are prebuilt, developers can install them onto the root file system very easily. By configuring the target as described in this document, they achieve a user experience similar to the one you have with a desktop Linux distro such as Ubuntu. DESK-MP1-L uses by default the <code>deb</code> package format. As such, [https://itsfoss.com/apt-command-guide/ apt commands] can be used for package management. Prebuilt packages are provided by [https://yocto.dave.eu/desk-mp1-l-1.0.1/ this repository] that DAVE Embedded Systems makes available for its customers.
 
 
 
=== apt-get ===
 
The following instructions detail how to use apt-get for installing packages with Yocto repositories created by DAVE's build system for DESK-MP1-L.
 
 
 
====Configuring <code>apt</code>====
 
Edit the file <code>/etc/apt/apt.conf</code> like this:
 
<pre>
 
root@desk-mp1:~# cat /etc/apt/apt.conf
 
APT::Architecture "armhf";
 
APT::Get::AllowUnauthenticated "true";
 
Acquire::Languages "none";
 
</pre>
 
 
 
Edit the file <code>/etc/apt/sources.list.d/debian-10.list</code> like this:
 
<pre class="board-terminal">
 
root@desk-mp1:~# cat /etc/apt/sources.list.d/debian-10.list
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ all/
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ cortexa7t2hf-neon-vfpv4/
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ desk_mp1/
 
</pre>
 
 
 
Execute the following commands in order to re-create the ''apt'' cache based on the new server's list:
 
 
 
<pre>
 
rm -rf /var/lib/apt/lists/*
 
apt-get clean
 
apt-get update
 
</pre>
 
 
 
<pre class="board-terminal">
 
root@desk-mp1:~# rm -rf /var/lib/apt/lists/*
 
root@desk-mp1:~# apt-get clean
 
root@desk-mp1:~# 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://yocto.dave.eu/desk-mp1-l-1.0.1 all/ InRelease
 
Ign:2 http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ InRelease
 
Ign:3 http://yocto.dave.eu/desk-mp1-l-1.0.1 desk_mp1/ InRelease
 
Get:4 http://yocto.dave.eu/desk-mp1-l-1.0.1 all/ Release [1215 B]
 
Get:5 http://packages.openstlinux.st.com/4.1 kirkstone InRelease [3459 B]
 
Get:6 http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ Release [1235 B]
 
Get:7 http://yocto.dave.eu/desk-mp1-l-1.0.1 desk_mp1/ Release [1220 B]
 
Ign:8 http://yocto.dave.eu/desk-mp1-l-1.0.1 all/ Release.gpg
 
Ign:9 http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ Release.gpg
 
Ign:10 http://yocto.dave.eu/desk-mp1-l-1.0.1 desk_mp1/ Release.gpg
 
Get:11 http://yocto.dave.eu/desk-mp1-l-1.0.1 all/ Packages [158 kB]
 
Get:12 http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ Packages [4123 kB]
 
Get:13 http://packages.openstlinux.st.com/4.1 kirkstone/untested armhf Packages [1251 kB]
 
Get:14 http://yocto.dave.eu/desk-mp1-l-1.0.1 desk_mp1/ Packages [238 kB]
 
Get:15 http://packages.openstlinux.st.com/4.1 kirkstone/updates armhf Packages [30.9 kB]
 
Get:16 http://packages.openstlinux.st.com/4.1 kirkstone/main armhf Packages [684 kB]
 
Fetched 6492 kB in 9s (716 kB/s)
 
Reading package lists... Done
 
W: Conflicting distribution: http://yocto.dave.eu/desk-mp1-l-1.0.1 all/ Release (expected all/ but got )
 
W: Conflicting distribution: http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ Release (expected cortexa7t2hf-neon-vfpv4/ but got )
 
W: Conflicting distribution: http://yocto.dave.eu/desk-mp1-l-1.0.1 desk_mp1/ Release (expected desk_mp1/ but got )
 
</pre>
 
 
 
Then, modify the cached package list due to the proper DAVE's server configuration:
 
 
 
<pre>
 
sed -i 's/\.\//cortexa7t2hf-neon-vfpv4\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mp1-l-1.0.1_cortexa7t2hf-neon-vfpv4_Packages
 
sed -i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mp1-l-1.0.1_all_Packages
 
sed -i 's/\.\//desk%5fmp1\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mp1-l-1.0.1_desk%5fmp1_Packages
 
</pre>
 
 
 
=== Installing packages on target ===
 
 
 
We assume that network interface has been already configured for Internet access. In any case, a simple network configuration can be done according to the [[DESK-MP1-L/Deployment/How_to_configure_the_network_interfaces#Static_IP_address | How to configure the network interfaces]] wiki page.
 
 
 
 
 
The target is finally ready to install new packages. The following example shows for instance the installation of <code>graphviz</code>:
 
 
 
<pre class="board-terminal">
 
root@desk-mp1:~# apt-get install graphviz
 
Reading package lists... Done
 
Building dependency tree... Done
 
Reading state information... Done
 
The following NEW packages will be installed:
 
  graphviz
 
0 upgraded, 1 newly installed, 0 to remove and 10 not upgraded.
 
Need to get 2007 kB of archives.
 
After this operation, 0 B of additional disk space will be used.
 
Get:1 http://yocto.dave.eu/desk-mp1-l-1.0.1 cortexa7t2hf-neon-vfpv4/ graphviz 2.50.0-r0.0 [2007 kB]
 
Fetched 2007 kB in 1s (2522 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 graphviz.
 
(Reading database ... 28119 files and directories currently installed.)
 
Preparing to unpack .../graphviz_2.50.0-r0.0_armhf.deb ...
 
Unpacking graphviz (2.50.0-r0.0) ...
 
Setting up graphviz (2.50.0-r0.0) ...
 
</pre>
 
 
 
=== Other useful apt commands ===
 
 
 
==== List of configured software repositories ====
 
As shown before, the target is configured for accessing the Yocto repositories as listed in the <code>/etc/apt/sources.list.d</code> apt configuration directory:
 
 
 
<pre class="board-terminal">
 
root@desk-mp1:~# cat /etc/apt/sources.list.d/debian-10.list
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ all/
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ cortexa7t2hf-neon-vfpv4/
 
deb [trusted=yes] http://yocto.dave.eu/desk-mp1-l-1.0.1/ desk_mp1/
 
</pre>
 
 
 
==== Search for packages ====
 
 
 
To search for an available package into the current configured channels use <code>apt-cache search</code>
 
 
 
Please note that this will show all packages, it's usually more useful to grep for a pattern, e.g.:
 
 
 
<pre class="board-terminal">
 
root@desk-mp1:~# apt-cache search vim
 
u-boot-tools-mkenvimage - U-Boot bootloader tools
 
vim-common - Vi IMproved - enhanced vi editor
 
vim-dev - Vi IMproved - enhanced vi editor - Development files
 
vim-doc - Vi IMproved - enhanced vi editor - Documentation files
 
vim-help - Vi IMproved - enhanced vi editor
 
vim-src - Vi IMproved - enhanced vi editor - Source files
 
vim-syntax - Vi IMproved - enhanced vi editor
 
vim-tiny-dev - Vi IMproved - enhanced vi editor  (with tiny features) - Development files
 
vim-tiny-src - Vi IMproved - enhanced vi editor  (with tiny features) - Source files
 
vim-tiny - Vi IMproved - enhanced vi editor  (with tiny features)
 
vim-tools - Vi IMproved - enhanced vi editor
 
vim-tutor - Vi IMproved - enhanced vi editor
 
vim-vimrc - Vi IMproved - enhanced vi editor
 
vim - Vi IMproved - enhanced vi editor
 
</pre>
 
 
 
==== List of installed packages ====
 
 
 
User can see the list of installed packages with <code>dpkg --get-selections | sed 's:install$::'</code> (sed removes the ''install'' string from the output list)
 
 
 
<pre>
 
acl
 
adwaita-icon-theme-symbolic
 
alsa-conf
 
alsa-plugins
 
alsa-plugins-pulseaudio-conf
 
alsa-state
 
alsa-state-stm32mp1
 
alsa-states
 
alsa-topology-conf
 
alsa-ucm-conf
 
...
 
[snip]
 
...
 
weston-init
 
wget
 
wireless-regdb-static
 
wpa-supplicant
 
wpa-supplicant-cli
 
wpa-supplicant-passphrase
 
xinetd
 
xkeyboard-config
 
xxhash
 
xz
 
</pre>
 
 
 
----
 
 
 
[[Category:ETRA]] [[Category:ETRA_SBC]]
 

Revision as of 08:41, 10 August 2023

TBD.png
History
Issue Date Notes
August 2023 DESK-MP1-L-1.0.0 release

Contents

Introduction[edit | edit source]

During the development of custom applications, developers generally realize that they need to add libraries and other software packages to the root file systems to make their code run properly. If these packages are prebuilt, developers can install them onto the root file system very easily. By configuring the target as described in this document, they achieve a user experience similar to the one you have with a desktop Linux distro such as Ubuntu. DESK-MP1-L uses by default the deb package format. As such, apt commands can be used for package management. Prebuilt packages are provided by this repository that DAVE Embedded Systems makes available for its customers.