Friday, August 12, 2016

When working with imx-4.1.15-1.0.0_ga you may face the following error

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Function failed: do_configure (log file is located at /code/yocto/imx-4.1.15-1.0.0_ga/build-x11/tmp/work/x86_64-linux/qemu-native/2.4.0-r1/temp/log.do_configure.5724)
ERROR: Logfile of failure stored in: /code/yocto/imx-4.1.15-1.0.0_ga/build-x11/tmp/work/x86_64-linux/qemu-native/2.4.0-r1/temp/log.do_configure.5724
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing python function autotools_copy_aclocals
| DEBUG: Python function autotools_copy_aclocals finished
| DEBUG: Executing shell function do_configure
|
| ERROR: User requested feature sdl
|        configure was not able to find it.
|        Install SDL devel
|
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /code/yocto/imx-4.1.15-1.0.0_ga/build-x11/tmp/work/x86_64-linux/qemu-native/2.4.0-r1/temp/log.do_configure.5724)
ERROR: Task 5 (virtual:native:/code/yocto/imx-4.1.15-1.0.0_ga/sources/poky/meta/recipes-devtools/qemu/qemu_2.4.0.bb, do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 306 tasks of which 301 didn't need to be rerun and 1 failed.
No currently running tasks (306 of 310)

TL;DR;

This is already fixed on jethro branch of poky. So in order to fix it:

    Update Poky:

$ cd sources/poky
$ git remote update
$ git checkout yocto/jethro -b jethro
$ git pull

    Fix local.conf by commenting (or deleting) the line ASSUME_PROVIDED += "libsdl-native"

Understand

Originally the SDL devel package was not integrated properly in Poky, so it was “ASSUMED PROVIDED” by the local host machine. However, it was causing troubles on several machines (such as Ubuntu 15.10). So community worked to get it integrated asap, so now it’s not needed anymore to assume it is provided by host machine.

When you download the fsl-arm-yocto-bsp.git repository, the manifest used points to a poky commit id, so it does not automatically update the jethro bugfixes.

In addition, your <build-dir>/conf/local.conf was created using this old copy of poky, so it was created assuming SDL devel package is provided by host machine, and now you need to update it removing this assumption.

By removing this assumption, BitBake understands the SDL devel inside Yocto Project must be included.

External References

https://lists.yoctoproject.org/pipermail/poky/2014-July/009800.html

https://bugzilla.yoctoproject.org/show_bug.cgi?id=8553

Monday, June 20, 2016

Removing a container from video using VLC

To remove a container from a video file and extract only the RAW video using VLC, it's needed to create a new conversion profile. See the following steps:

The VLC is free and can be downloaded here: http://www.videolan.org/

1 - Open VLC and click in "Media -> Convert / Save".


2 - The following dialog box will open. Click in "Add..." button and select the video you want to extract the RAW video. Click in "Convert / Save" Button.



3 - Click in "Create a new profile" button on Settings -> Profile.


4 - On encapsulation tab, add a profile name (e.g. RAW video only) and select "RAW" option.


5 - On tab "Video codec", select "Video" and "Keep original video track"


6 - Unselect Audio box and click in "Create"


7 - Back to the "Convert" Dialog box, select the new created profile "Raw video only", choose the destination file location and name and click in "Start.


The raw video file will be created and can be used to test a VPU only unit test for example.

Wednesday, May 18, 2016

The machine imx6ul-pico-hobbit is now supported in the Yocto Project!

The imx6ul-pico-hobbit board is defined by TechNexion here and by Wandboard.org here

It is supported by Yocto Project in meta-fsl-arm-extra meta-layer. The commit adding it is:
https://github.com/Freescale/meta-fsl-arm-extra/commit/089ce85e2e2dd78e45b773b947643ab8f4e2b965


In kernel.org, the commit adding it is:
https://git.kernel.org/cgit/linux/kernel/git/shawnguo/linux.git/commit/?h=for-next&id=714c29edf9518a147ab558e2988313d630e061a8

In u-boot the commit adding it is:
http://git.denx.de/?p=u-boot.git;a=commit;h=69cc7dbf1f62492788ab810db7d8444a623c23c2

How to update (or copy) the software

1) u-boot

$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make mrproper
$ make pico-imx6ul_defconfig
$ make

2) kernel

$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make clean
$ make imx_v6_v7_defconfig
$ make -jN (where N is the number of cores of your host PC)
$ make imx6ul-pico-hobbit.dtb

3) Yocto Project

Add MACHINE="imx6ul-pico-hobbit" in your <build-dir>/conf/local.conf file and make the image (of your choice)

4) Loading

4a) Go to serial download mode

See how on "4.1.3 Changing Hobbitboard boot mode" from here. Unfortunately it's a PDF and there is no possible cross reference to the exact section

4b) Using imx_usb, load the (2016.05) u-boot

$ sudo ./imx_usb u-boot.imx

4c) In the board, turn on the UMS utility (connected via serial cable)

> ums 0 mmc 0

4d) In the PC (connected via USB cable) you can now see the partitions mounted like an SDCard.

$ umount /media/user/*
$ sudo dd if=u-boot.imx of=/dev/sdX bs=1K seek=1
or use the image.sdcard generated by BitBake:

$ sudo dd if=image.sdcard of=/dev/sdX 

4e) Turn off, go to eMMC boot, turn on


See how on "4.1.3 Changing Hobbitboard boot mode" from here. Unfortunately it's a PDF and there is no possible cross reference to the exact section