I have attempted my very first bitbake of the angstrom-lxde-image and it would appear that the process has failed.
Obviously “failed” in respect to bitbaking is pretty meaningless so I’ll explain more…
Having followed the instructions from here the link below, I downloaded all required packages onto my Ubuntu 18.04.1 LTS development machine, using /opt/toradex as the working directory for all operations.
After running the bitbake -k angstrom-lxde-image command, I notice some errors appearing in the terminal, relating to openssl starting with:
| /opt/toradex/oe-core/build/tmp-glibc/hosttools/ld: libcrypto.a(sha1-x86_64.o): relocation R_X86_64_PC32 against undefined symbol 'OPENSSL_ia32cap_P` cannot be used when making a shared object; recompile with -fPIC
| /opt/toradex/oe-core/build/tmp-glibc/hosttools/ld: final link failed: Bad value
| collect2: error: ld return 1 exit status
Upon completion of the bitbake, only the openssl task has failed with everything else having worked ok.
I then run the bitbake angstrom-lxde-image -c populate_sdk which completes without issue and it is now that at this point, I’m now a little confused as to what to do next
The comments in the knowledge-base article indicate that the rootfs and uImage should be in the deploy/images/${MACHINE}/ directory however in my instance, I have the following files in the apalis-t30 directory:
marketing.tar
prepare.sh
toradexlinux.png
wrapup.sh
No sign of any rootfs. Also for ipk packages, the deploy/ipk directory is empty.
I’m a little confused as to where I went wrong. I followed all steps and instructions from the guide.
Nothing was skipped. I’ve just tried again, installing the pre-requisites from both the Toradex and OpenEmbedded sites and no additional packages were added.
More progress with this now, however, there are still errors generated:
WARNING: mpeg2dec-0.5.1-r0 do_package_qa: QA Issue: ELF binary '/opt/artemis-pro/oe-core/build/tmp-glibc/work/armv7at2hf-neon-angstrom-linux-gnueabi/mpeg2dec/0.5.1-r0/packages-split/libmpeg2/usr/lib/libmpeg2.so.0.1.0' has relocations in .text [textrel]
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed SGI was not in the licenses collected for recipe tdx-nv-binaries
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed Khronos was not in the licenses collected for recipe tdx-nv-binaries
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed SGI was not in the licenses collected for recipe tdx-nv-binaries
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed Khronos was not in the licenses collected for recipe tdx-nv-binaries
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed SGI was not in the licenses collected for recipe tdx-nv-binaries
WARNING: angstrom-lxde-image-2.8b5-r0 do_rootfs: The license listed Khronos was not in the licenses collected for recipe tdx-nv-binaries
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: angstrom-lxde-image-2.8b5-r0 do_image_teziimg: Taskhash mismatch a6659ca588930c12948b8362805e3b5e versus a6a133901642367413ba440da0e0194c for /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg
ERROR: Taskhash mismatch a6659ca588930c12948b8362805e3b5e versus a6a133901642367413ba440da0e0194c for /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
ERROR: When reparsing /opt/artemis-pro/oe-core/build/../layers/meta-toradex-demos/recipes-images/images/angstrom-lxde-image.bb.do_image_teziimg, the basehash value changed from f0f1daeb7beff68372569dd80efd6a9a to 22492044d1d4bee75c97377c2422322d. The metadata is not deterministic and this needs to be fixed.
NOTE: Tasks Summary: Attempted 8488 tasks of which 4503 didn't need to be rerun and all succeeded.
NOTE: Writing buildhistory
Summary: There were 8 WARNING messages shown.
Summary: There were 13 ERROR messages shown, returning a non-zero exit code.
No, the ‘ERROR: When reparsing …’ can be safely ignored. I expect that you have the relevant build artefacts in deploy/…
We spend quite some time on this error, but did not find a solution yet on how to make it go away without negative impact on the things we really want to build. It has to do with the use of the date (which is obviously changing from build to build) in the tezi image task.
@max.tx Ok, that’s great to know. Thanks for your help in getting to this stage. So, a couple more basic questions which I’m not 100% certain about:
In the ‘deploy/images/apalis-t30’ directory, there are lots of tar files. How do I construct the rootfs from all of these archives? Is there one specific file containing the full rootfs?
My ultimate requirements is to have an Angstrom image with Qt5, supporting OpenGL ES2 with Samba baked in by default. My assumption is that everything above is already in the angstrom-lxde-image, would this be correct?
In terms of deployment, I’ve been using the update.sh script. Is this script part of the bitbake output or does this need customising to suit the new rootfs, etc?
Ok, that’s great to know. Thanks for your help in getting to this stage.
No problem.
In the ‘deploy/images/apalis-t30’ directory, there are lots of tar files. How do I construct the rootfs from all of these archives? Is there one specific file containing the full rootfs?
You do get a file which can be used in the exact same way as the file you can download from us as the binary demo image.
For our legacy update (update.sh):
[machine][image_name][version].tar.bz2, e.g.: Apalis-T30_Console-Image_2.8b4-20180905.tar.bz2
For the Toradex Easy Installer:
[machine][image_name]-Tezi[version].tar, e.g.: Apalis-T30_Console-Image-Tezi_2.8b4-20180905.tar
My ultimate requirements is to have an Angstrom image with Qt5, supporting OpenGL ES2 with Samba baked in by default. My assumption is that everything above is already in the angstrom-lxde-image, would this be correct?
No.
You probably want to start with either angstrom-qt5-x11-image.bb or angstrom-lxqt-image.bb which would both contain Qt5 stuff and OpenGL ES2.
angstrom-qt5-x11-image.bb contains one of the qt demo applications and starts that once booted, angstrom-lxqt-image.bb contains a qt based desktop with most of the qt libraries deployed. So the first one is more what you would need for your final product with your application replacing the demo app, the second might be handy during your application development.
I believe that neither the samba client nor the samba server is part of any of our images, so you would need to add the relevant packages to these image recipes.
In terms of deployment, I’ve been using the update.sh script. Is this script part of the bitbake output or does this need customising to suit the new rootfs, etc?
Thanks @max.tx, that’s perfect. I will give the angstrom-qt5-x11-image a go as, ultimately, we don’t need a desktop environment and would be booting straight to our own application. I’ll have a go at the Samba recipes.
Ok, so after some successful bitbaking, I’ve now added the gstreamer1.0 layer to the build. I’ve extracted the resulting rootfs and I’ve used the update.sh to flash the image to the Apalis T30 board in my Ixora carrier.
Unfortunately, I get no display whatsoever.
I’m using an LVDS display (1024x600-16@60) and I’ve configured this via the setenv command. The xrandr command shows that the default display is present but still nothing is visible - just a black screen. Initially, I reset the environment to default after flashing.
Also, is there any need to keep the meta-qt4 layer in the bblayers.conf file if I am only going to be using Qt5? There is no prerequisite for this to be present.
When I look through the rootfs which has been deployed onto the Apalis-T30, I see no sign of the qt5 libraries nor do I see any of the gstreamer1.0 libraries (I expect to see /usr/lib/gstreamer1.0) which I included as part of the bblayers.conf.
UPDATE
Ok, so I need to read the instructions. I need to edit local.conf and add the relevant IMAGE_INSTALL_append options for Qt5 (presumably, I can add gstreamer1.0 to this list?).
UPDATE #2
I found the following post, which also talks about Qt5:
When I run ls /usr/lib/ | grep -i "libqt", all I see are libQtXXX.so.4 files and no reference to any Qt5 libs. So it would appear that the angstrom-qt5-x11-image name is a bit misleading - especially this sentence on your guide:
One can build the following image
target that contains all Qt5 Packages:
angstrom-qt5-x11-image: for Qt 5 X11
image without desktop [build] $
bitbake -k angstrom-qt5-x11-image