AnsweredAssumed Answered

Getting started on Embedded Linux development, tutorial confusion

Question asked by Gauthier Östervall on Jun 11, 2014
Latest reply on Sep 9, 2014 by gusarambula

I have a Sabre SD (MCIMX6Q-SDB) with which I am trying to build and expand on a yocto distribution.

I followed this tutorial, which I find nice and detailed... until it comes to adding packages and working on the BSP:

http://cache.freescale.com/files/training/doc/dwf/DWF13_AMF_ENT_T1037.pdf

 

* Changes on u-boot

The tutorial says on p.22 to 'Check "fsl-default-providers.inc"'. I don't know what that means, or where this file is to be found.

 

The line 'PREFERRED_PROVIDER_u-boot ?= "u-boot-fslc"' is not clear either. It looks like something to be added to build/conf/local.conf, but I am not sure. Maybe rather in the u-boot-fslc_2013.10.bb recipe?

And it would be nice to know what it does and why it is needed.

 

I am also a bit concerned with the u-boot recipe starting with:

"require recipes-bsp/u-boot/u-boot.inc"

since I have no such file at that location. Is something missing?

 

* Toolchain

I have baked and installed the toolchain as per p.26. Then what? How do I even call the toolchain's compiler?

 

* User space Packages

The convoluted expression to list "all packages available on an image":

build $ bitbake -g fsl-image-test && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq

 

does work. It does not show "canutils", I guessed that was because the sabresd is not for automotive, and that it did not have support for CAN busses.

BUT, I could still do bitbake canutils!

Isn't it strange that I could bake it although it did not show up as available for this image?

 

The tutorial says that baking canutils will 'generate a package and binary files'. It does not really say where though, there is a screenshot that shows a partial path, I could find something there:

build/tmp/sysroots/imx6qsabresd/usr/

but I am not sure it is the correct location. It looks like it when I look at the dates.

 

'Deploy it on the target using a package manager or simply copying it to the target', I don't know how to do that. My Yocto image is running on target, but there is no package manager (no smart, no apt-get). "Simply" copying it to the target, how? I have no SSH, no NFS, the only thing I have is an RS-232, and file transfers over RS-232 seem to require an application on the target as well.

Copy directly to the SD card's rootfs? Which files in this case, all of them? And if I build another package than canutils, how do I know what needs to be copied?

 

If anyone would be nice enough to try and shed a light, I'd be very glad. What I secretely hope for is that I have missed a comprehensive tutorial about how to setup a development environment, and guides about how to add packages to a Yocto distribution (first ready-done ones, then custom ones), for people who haven't worked with embedded linux in the past.

Outcomes