Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
{{ImportantMessage|text=This application note has been validated using the '''kit version''' in the History table.}}
=<section begin=History==/>{| classstyle="wikitableborder-collapse:collapse; " border! colspan="4" style="1width:100%; text-align:left"; border-bottom:solid 2px #ededed" |History!Version|- !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" |Issue Date!Development Kit versionstyle="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" |{{oldid|16498|2022/05/03}}| 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-MX8M-L/General/Release_Notes#DESK-MX8M-L_2.0.0-rc2|DESK-MX8M-L 2.0.0-rc2]]
|-
| 1.0.0style="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" |{{oldid|18383|2023/08/22}}| Apr 2022style="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-MX8M-L/General/Release_Notes#DESK-MX8M-L_2L_4.0.0-rc2|DESK-MX8M-L 24.0.0-rc2]]
|-
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" | 2.0.0| Aug 2023/11/08|[[DESK! style="border-left:solid 2px #73B2C7; border-MX8Mright:solid 2px #73B2C7;border-L/General/Release_Notestop:solid 2px #DESK73B2C7; border-MX8Mbottom:solid 2px #73B2C7; background-L_4.0.0color:#ededed; padding:5px; color:#000000" |DESK-MX8M-L 4.0.0]]Minor changes
|-
|}
<section end=History/>
==Introduction==
<section begin=body/>Since NXP BSP [https://www.nxp.com/webapp/Download?colCode=L5.4.24_2.1.0_LINUX_DOCS 5.154.71 24] Yocto release, [https://debian-handbook.info/browse/stable/sect.apt-get.html apt-get] has been added as a package manager for installing packages in the DUT (target machine).
As reported by NXP official documentation:
With the addition of the debian package feed, a sources.list can be added ''/etc/apt'' that links in Debian's package feed. This allows users to install packages not provided in the image without having to add them to a yocto image. Because this package feed is not generated by the i.MX Yocto build process, there is no guarantee each package will work with the right dependencies but it allows simpler tools to be provided. Software that is complex and has more dependencies on specific versions might have issues with an external package feed.
'''apt-get''' performs runtime package management of <code>.deb</code> packages. In order to use '''apt-get''' for runtime package management, you must perform an initial setup on the target machine for cases where the <code>PACKAGE_FEED_* </code> variables were not set as part of the image that is running on the target.
In principle, the adoption of the Debian package management should allow to use prebuilt package archives available for [http://ftp.debian.org/debian/README.html Debian distributions]. However, close attention should be paid when mixing packages of different distributions. For instance, Debian packages installed on a Yocto file system could not work. Even worse, '''they could interfere with existing packages and make these unusable'''.
This Application Note (AN) describes a way to apply the approach illustrated here to a Yocto distribution that makes use of Debian packetization. In other words, a local archive of Yocto-generated, prebuilt <code>.deb</code> packages is used in combination with the well known <code>apt-get</code> utility.
=== 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-MX8M-L.
====Configuring <code>apt</code> for SBC-ORCA====
Edit the file <code>/etc/apt/apt.conf</code> like this:
<pre>
root@desk-mx8mp:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ armv8a-mx8mp/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ desk_mx8mp/
<pre>
root@desksed -mx8mp:~# i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_all_Packagessed -i 's/\.\//armv8a-mx8mp\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_armv8a-mx8mp_Packages0_armv8a_Packagesroot@desk-mx8mp:~# sed -i 's/\.\//allarmv8a-mx8mp\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_all_Packages0_armv8a-mx8mp_Packagesroot@desk-mx8mp:~# sed -i 's/\.\//desk%5fmx8mp\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_desk%5fmx8mp_Packages
</pre>
====Configuring <code>apt</code> for SBCX-Mito8MMini====
Edit the file <code>/etc/apt/apt.conf</code> like this:
<pre>
root@desk-mx8mm:~# cat /etc/apt/sources.list.d/debian-10.list
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ all/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ armv8a/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ armv8a-mx8mm/
deb [trusted=yes] http://yocto.dave.eu/desk-mx8m-l-4.0.0/ desk_mx8mm/
Reading package lists... Done
W: Conflicting distribution: http://yocto.dave.eu/desk-mx8m-l-4.0.0 all/ Release (expected all/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx8m-l-4.0.0 armv8a/ Release (expected armv8a/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx8m-l-4.0.0 armv8a-mx8mm/ Release (expected armv8a-mx8mm/ but got )
W: Conflicting distribution: http://yocto.dave.eu/desk-mx8m-l-4.0.0 desk_mx8mm/ Release (expected desk_mx8mm/ but got )
<pre>
root@desksed -i 's/\.\//all\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-mx8mm:~# 4.0.0_all_Packagessed -i 's/\.\//armv8a-mx8mm\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_armv8a-mx8mm_Packages0_armv8a_Packagesroot@desk-mx8mm:~# sed -i 's/\.\//desk%5fmx8mmarmv8a-mx8mm\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_desk%5fmx8mm_Packages0_armv8a-mx8mm_Packagesroot@desk-mx8mm:~# sed -i 's/\.\//alldesk%5fmx8mm\//g' /var/lib/apt/lists/yocto.dave.eu_desk-mx8m-l-4.0.0_all_Packages0_desk%5fmx8mm_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-MX8M-L/Deployment/How_to_configure_the_network_interfaces#Static_IP_address | How to configure the network interfaces]] wiki page.
=== Install package on SBC-ORCA ===
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-mx8mp:~# apt-get install graphviz
</pre>
=== Install package on SBCX-Mito8MMini=== 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-mx8mm:~# apt-get install graphvizReading package lists... DoneBuilding dependency tree... DoneThe following NEW packages will be installed: graphviz0 upgraded, 1 newly installed, 0 to remove and 13 not upgraded.Need to get 2094 kB of archives.After this operation, 0 B of additional disk space will be used.Get:1 http://yocto.dave.eu/desk-mx8m-l-4.0.0 armv8a-mx8mm/ graphviz 2.50.0-r0 [2094 kB]Fetched 2094 kB in 1s (2020 kB/s) Selecting previously unselected package graphviz.(Reading database ... 59125 files and directories currently installed.)Preparing to unpack .../graphviz_2.50.0-r0_arm64.deb ...Unpacking graphviz (2.50.0-r0) ...Setting up graphviz (2.50.0-r0) ...</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>
==== Search for packages ====
To search for an available package into the current configured channels use <code>apt-cache search</code>
</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)
xz-dev
</pre>
<section end=body/>
8,244
edits