Can't find Yocto QT5 Embedded Linux packages

Hello,
I’m using a system based on IMX7D module running the yocto linux distribution ‘b2qt-embedded-qt5-image-colibri-imx7-emmc’.
I want to install some programs (e.g. cron, vim, gcc) and I can’t find a repository where downloading the ‘ipk’ packages.
I need a repository like ‘feeds.toradex.com’ that I’m using on another system based on the module but with ‘Colibri-iMX7-eMMC_LXDE-Image’.
Is there a similar site for ‘b2qt-embedded-qt5-image-colibri-imx7-emmc’?
In alternative how can I install gcc and g++ compiler in order to build and install the packages I need?
Thanks in advance, regards

Hi @gcrotti,

Unfortunately, we don’t have a feed that will provide these packages.

Instead, you’ll need to add these packages to your image using Yocto. I’ve searched here and the recipes for these packages are already inside openembeeded-core layer, as you can see below in my oe-core folder.

[hiago@avell ~/workdir/oe-core/layers]
$ find . -iname "*gcc*.bb"
./openembedded-core/meta/recipes-devtools/gcc/libgcc-initial_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-crosssdk_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-cross_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/libgcc_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-sanitizers_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-runtime_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-source_9.3.bb
./openembedded-core/meta/recipes-devtools/gcc/gcc-cross-canadian_9.3.bb
[hiago@avell ~/workdir/oe-core/layers]
$ find . -iname "*vim*.bb"
./openembedded-core/meta/recipes-support/vim/vim-tiny_8.2.bb
./openembedded-core/meta/recipes-support/vim/vim_8.2.bb
[hiago@avell ~/workdir/oe-core/layers]
$ find . -iname "*cron*.bb"
./openembedded-core/meta/recipes-extended/cronie/cronie_1.5.5.bb

So in order to install them, you can simply add

PACKAGE_INSTALL = "gcc vim cronie"

to your local.conf file.

You can always search for recipes on layers.openembedded.org.

Best regards,
Hiago.

1 Like

Thanks Hiago,
we started the project using a toradex demo image, it was not built using ‘bitbake’.
Is it possible to build the single modules (e.g. gcc_9.3.bb) and then add it to the image?
Best regards

Giuliano

Hi @gcrotti,

Yes, you can do it by running:

bitbake gcc

With this command, Yocto will compile the gcc_9.3.bb recipe and it will generate a .ipk package for you. When the process finishes, this package will be inside /deploy/ipk/:

yocto@linux:~/oe-core/build/deploy/ipk$ find . -iname "*gcc*.ipk"
./aarch64/gcc-symlinks_9.3.0-r0_aarch64.ipk
./aarch64/gcc-dbg_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-ja_9.3.0-r0_aarch64.ipk
./aarch64/libgcc-s-src_9.3.0-r0_aarch64.ipk
./aarch64/gcc_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-be_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-es_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-eo_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-vi_9.3.0-r0_aarch64.ipk
./aarch64/perl-module-extutils-cbuilder-platform-windows-gcc_5.30.1-r0_aarch64.ipk
./aarch64/libgcc-s-dev_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-hr_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-zh-tw_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-zh-cn_9.3.0-r0_aarch64.ipk
./aarch64/gcc-src_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-tr_9.3.0-r0_aarch64.ipk
./aarch64/libgcc1_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-sr_9.3.0-r0_aarch64.ipk
./aarch64/gcc-dev_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-fi_9.3.0-r0_aarch64.ipk
./aarch64/gcc-runtime-dbg_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-ru_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-da_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-uk_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-id_9.3.0-r0_aarch64.ipk
./aarch64/libgcc-s-dbg_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-de_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-sv_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-nl_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-pt-br_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-ca_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-fr_9.3.0-r0_aarch64.ipk
./aarch64/gcc-doc_9.3.0-r0_aarch64.ipk
./aarch64/gcc-plugins_9.3.0-r0_aarch64.ipk
./aarch64/gcc-locale-el_9.3.0-r0_aarch64.ipk
yocto@linux:~/oe-core/build/deploy/ipk$ 

NOTE: Mine are all inside this folder called aarch64 because I ran this command for Apalis iMX8. For your iMX7, they will probably be in a different folder.

As you can see, Yocto will generate a lot of different packages. Each package is specific to one function, for example, the “locale” will give you language configurations, the “dev” will give some extra header files for development, and so on.

If you want to install everything, you can pass all packages to your module and then use opkg to install them (see my example below). If you want only the gcc compiler though, I think if you install gcc_9.3.0-r0_aarch64.ipk only, it will be enough.

Then, you can simply copy this package to your image (with SCP or storage device, for example), and then run the command:

opkg install <package_name>

For one package this method is fine, but if you need to install multiple packages, I suggest you make your custom image with Yocto, it’ll be easier to compile everything.

Best regards,
Hiago.