Building Zebra (zebkit) packages inside the GDP


Zebra(zebkit) library that follows easy OOP concept, provides HTML5 Canvas based Rich UI 
So to add this to the GDP my GSOC mentors asked me to learn how to write recipes in kernal. So I followed some tutorials and Documentations and also with the community support.

With that help, I generated the kernel recipe using Recipetool 


https://wiki.yoctoproject.org/wiki/TipsAndTricks/NPM

Under the hood, devtool runs recipetool create with the same fetch URI. Recipe tool downloads each dependency, capturing license details where possible and generates a recipe file. The recipe file is fairly simple but will contain every license that recipetool has found and include it in the LIC_FILES_CHKSUM. Many node modules have unclear licensing so you'll see "unknown" in the LICENSE field. Have a look at the modules not listed.

Using recipe tool I generated the recipe file see this GitHub patch

https://github.com/akilawickey/meta-genivi-dev/commit/94f5427aaffea0a141547697b1da203463545353.patch

So I recreated the work which I have done from the beginning.


  1. This is the steps how to include zebkit recipes to gdp and build a target to run the zebra
  2. https://github.com/GENIVI/genivi-dev-platform.git
  3. cd genivi-dev-platform
  4. source init.sh qemux86-64
  5. cd ../meta-genivi-dev/meta-genivi-dev/
  6. wget https://github.com/akilawickey/meta-genivi-dev/commit/94f5427aaffea0a141547697b1da203463545353.patch
  7. git am -i *.patch
  8. #Edit the genivi-dev-platform.bb using nano
  9. nano recipes-dev-platform/images/genivi-dev-platform.bb
  10. #open it and add this line to bottem
  11. IMAGE_INSTALL_append = " zebkit"
  12. cd ../../gdp-src-build
  13. bitbake genivi-dev-platform


After Building the GDP with zebra recipe I got zebra dependencies inside the GDP.


  1. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ ls
  2. configure.sstate  image            packages-split        sstate-build-packagedata        sstate-build-populate_lic      zebra.spec
  3. deploy-ipks       license-destdir  pkgdata               sstate-build-package_qa         sstate-build-populate_sysroot
  4. deploy-rpms       npm_cache        pseudo                sstate-build-package_write_ipk  sysroot-destdir
  5. git               package          sstate-build-package  sstate-build-package_write_rpm  temp
  6. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ ls
  7. configure.sstate  image            packages-split        sstate-build-packagedata        sstate-build-populate_lic      zebra.spec
  8. deploy-ipks       license-destdir  pkgdata               sstate-build-package_qa         sstate-build-populate_sysroot
  9. deploy-rpms       npm_cache        pseudo                sstate-build-package_write_ipk  sysroot-destdir
  10. git               package          sstate-build-package  sstate-build-package_write_rpm  temp
  11. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0$ cd git/
  12. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls
  13. apidoc  gulpfile.js  index.html  LICENSE  package.json  README.md  src  tests  website
  14. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ cd apidoc/
  15. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git/apidoc$ cd ..
  16. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls
  17. apidoc  gulpfile.js  index.html  LICENSE  package.json  README.md  src  tests  website
  18. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$ ls -ll
  19. total 56
  20. drwxr-xr-x 5 e12376 e12  4096 Jun 13 09:38 apidoc
  21. -rw-r--r-- 1 e12376 e12  9694 Jun 13 09:38 gulpfile.js
  22. -rw-r--r-- 1 e12376 e12   192 Jun 13 09:38 index.html
  23. -rw-r--r-- 1 e12376 e12 11556 Jun 13 09:38 LICENSE
  24. -rw-r--r-- 1 e12376 e12   998 Jun 13 09:38 package.json
  25. -rw-r--r-- 1 e12376 e12  6139 Jun 13 09:38 README.md
  26. drwxr-xr-x 6 e12376 e12  4096 Jun 13 09:38 src
  27. drwxr-xr-x 2 e12376 e12  4096 Jun 13 09:38 tests
  28. drwxr-xr-x 3 e12376 e12  4096 Jun 13 09:38 website
  29. e12376@aiken:/export/e12376/gsoc/phase2/genivi-dev-platform/gdp-src-build/tmp/work/core2-64-poky-linux/zebra/1.0-r0/git$


Then I downloaded the qemux86-64 target machine and booted the machine and checked it.


zebra packages have been successfully added in the target machine.

After adding the zebra recipe to GDP and build GDP selecting target as Qemu. I booted the machine and I got zebra packages on location
 /usr/lib/node_modules/zebkit/index.html


This is the recipe file for building zebra 

My next task is running a zebra sample application inside qemux86-64 target machine.

Here is the whole Documentation at genivi pages



Comments

Popular posts from this blog

IOT Greenhouse project part 1

How to fix FirebaseApp with name [DEFAULT] doesn't exist issue with flutter

Node.js how to work with Serial ports and display data on a beautiful frontend using Highcharts API Part 2