Skip to end of metadata
Go to start of metadata

15th AMM

GDP Hands On Session

Schedule session 

  • Session 1:  GENIVI Development Platfom (Intel  Minnowboard Turbot)
    • 19th October 2016
    • From 14:00  to 17:30 at room Bayside A/B.
    • Tutor: Tom Pollard
    • Slides for the session.
  • Session 2: GENIVI Development Platform (Renesas Porter, ARM based architecture)
    • 20th October 2016
    • From 9:30 to 12:30 at Bayside A/B.
    • Tutor: Tom Pollard
    • Slides for the session.

Program

Content for the sessions:

 Program of the Hands on Session
  1. Introduction
    1. What is GDP 11.
    2. What is GDP Master
    3. Hands on Session goals and expectations
  2. Where is what you need for GDP 11 and GDP Master and how to get.
  3. It is easier if you use the pre-built images: GDP 11.
    1. GDP Download page (Not available for Renesas boards)
    2. Flash sd card howto: step by step
    3. Connect cables and boot process.
    4. Boot Renesas images.
    5. UI and PoC apps:
      1. GDP in Detail
      2. Describe and boot the VM
        1. For Linux
        2. For Windows
        3. For Mac
      3. VM checks
        1. Navigate through Porter target page. (may need to install a web browser into the vm)
        2. Open a shell: change directory into GDP one. (change PATH variable!)
        3. Edit a file. Install geddit & quilt, sudo-apt
    6. Access Porter through serial & ssh.
    7. GDP components and services: kernel, systemd, weston journal, etc.
    8. YOCTO overview: 
      1. Slides: please go back to the slide deck
      2. Links: The Yocto project documentation
    9. Goal of this block
    10. GDP Master
      1. How to build GDP Master from scratch
      2. Potentially show the steps here of how to do all the git checkout stuff (mkdir GDP, clone inside it), source init look at local conf etc etc( we will then say but today we'll be using a readymade build dir)
      3. Explain the git repo, each layer we use, some basic bitbake commands maybe
      4. Troubleshooting problems build problems.
        1. Summary of this block
        2. Break: 10 min.
  4. Goal of this block
  5. Modify GDP11 - Existing GDP source
    1. Explain Porter target page instructions
    2. 'bitbake c compile gdp-hmi-launcher2'
    3. Go into the source code (tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/gdp-hmi-launcher2/1.0-r0/git)

    4. Find the file you want to alter: (app/gdp-hmi-launcher2/content/ContentModel.qml)

    5. Add it to a quilt patch

      1. Go to the launcher's app's directory ( app/gdp-hmi-launcher2,this is a special case, see what S is defined as in recipe)

      2. `quilt new remove_fsa.patch`

      3.  `quilt add content/ContentModel.qml`

    6. Make the changes to content/ContentModel.qml

    7. force-compile (bitbake -c compile f gdp-hmi-launcher2`)

    8. Make patch (`quilt refresh`)

    9. Add patch to recipes

      1. copy patches/xyza.patch to ~/genivi-dev-platform/meta-genivi-dev/meta-genivi-dev/recipes-dev-hmi/gdp-hmi-launcher2_1.0.bb

      2. add file://remove_fsa.patch/ to the SRC_URI_appends in ~/genivi-dev-platform/meta-genivi-dev/meta-genivi-dev/recipes-dev-hmi/genivi-dev-platform-hmi/gdp-hmi-launcher2_1.0.bb
      3. bitbake c clean gdp-hmi-launcher2
  6. Let's build GDP11
    a. The VM should have the image prebuilt, so hopefully only the changes from modify section to rebuild, more maybe?
  7. Modify GDP11 - Add existing package - htop (rebuild and redeploy if times allows) (RM_OLD_IMAGE = "1" if disk space is problematic)
  8. Modify GDP11 -  Create a recipe for a new package (rebuild and redeploy if time allows)
  9. Troubleshooting problems
    1. Failed deployment? Using journalctl etc etc to take a look at weston logs maybe
      1. Check the kernel log with `dmesg`
      2. Check the systemd journal with `journalctl -b` (shows all messages this boot)
      3. Check all logging for weston `journalctl -b --user-unit weston` (and if that shows nothing, `journalctl -b --unit weston`)
      4. Check that input events are being processed correctly (`libinput-list-devices` to identify the input device, and `libinput-debug-events --device /dev/input/event1` to watch the events)
  10. How to contribute to GDP project
        a. General Genivi policy
        b. Git format-patch and send mail is still valid
        c. Github - Show htop added to dev packagegroup as an example
        d. go.cd
        e. Genivi SDE
        f. Testing & feedback!
  11. New RC3 HMI

The above program will be adapted to the usage of each board.

Talks about GDP

BIT summary: status and roadmap

GENIVI Software as Portfolio. Where can we go next & how?

  • 45 min talk about the vision that Codethink has about the GENIVI software portfolio, focused on the delivery area and how to improve it.
  • Speaker: Agustin Benito Bethencourt
  • Slides of the session. The slides include also some of the recommendations on the infrastructure/services side, which were not part of the talk but the Tools Team face to face meeting at the 15th AMM.

 

 

 

Previous AMM

14th AMM

GDP Hands on sessions

RPi2 session

Schedule

Requisites, recommendations and skills required are described in the session description page.

Program

Content for the sessions:

 Click here to expand...
  1. Introduction:
    1. What is GDP-ivi9
    2. Hands on Session goals and expectations
  2. Where is what you need and how to get it.
    1. Git repositories: genivi-dev-platform repository and meta-genivi-dev repository
    2. wiki pages:
      1. Feature page
      2. Download page
      3. Target pages
      4. GDP and Peripherals
    3. JIRA tickets
      1. GDP-iv10 requests
      2. Known issues tickets
    4. Mailing list and IRC
      1. genivi-projects@lists.genivi.org
      2. #automotive in freenode.net
  3. It is easier if you use the pre-built images.
    1. GDP Download page
    2. Flash sd card howto: step by step
    3. Connect cables and boot process.
    4. Boot RPi2 images.
    5. UI and PoC apps:
      1. GDP in Detail
    6. Access RPI2 through ssh.
    7. GDP components and services: kernel, systemd, weston journal, etc.
    8. YOCTO overview:
      1. Slides: please go back to the slide deck
      2. Links: The Yocto project documentation
    9. Describe and boot the VM
      1. For Linux
      2. For Windows
      3. For Mac
    10. VM checks
      1. Navigate through RPi target page.
      2. Open a shell: change directory into GDP one.
      3. Edit a file.
  4. Summary of this block
  5. Break: 10 min.
  6. Goal of this block
  7. Modify GDP-ivi9
    1. Explain RPi2 target page instructions
    2. Execute the instructions on the wiki page
    3. Potentially show the steps here of how to do all the git checkout stuff (mkdir GDP, clone inside it), source init look at local conf etc etc( we will then say but today we'll be using a readymade build dir)
    4. Explain the git repo, each layer we use, some basic bitbake commands maybe?
    5.  the FSA Icon is a good, simple modification.
    6. Go into the source code (~/genivi-demo-platform/gdp-src-build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/gdp-hmi-launcher2/1.0-r0/git)

    7. Find the file you want to alter (app/gdp-hmi-launcher2/content/ContentModel.qml)

    8. Add it to a quilt patch

      1. Go to the launcher's app's directory (app/gdp-hmi-launcher2, this is a special case, see what S is defined as)

      2. `quilt new remove_fsa.patch`

      3. `quilt add content/ContentModel.qml`

    9. Make the changes to content/ContentModel.qml

    10. force-compile (`cd ~/genivi-demo-platform/gdp-src-build && bitbake -c compile -f gdp-hmi-launcher2`)

    11. Make patch (`quilt refresh`)

    12. Add patch to recipes

      1. copy patches/remove_fsa.patch to ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2

      2. add file://remove_fsa.patch to the SRC_URI_appends in ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb
  8. Let's build GDP-ivi9
    a. The VM should have the image prebuilt, so hopefully only the changes from modify section to rebuild, more maybe?
    b.  local.conf settings to match your build hardware? 
  9. Troubleshooting problems.
    1. Take a broken patch and fix it sounds like a useful task
      1. Mangle a patch to the hmi (edit ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2/0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch)
      2. Attempt a build (`bitbake genivi-demo-platform`)
      3. Remove the offending patch and any later patches from the SRC_URI (edit meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb and remove the line "file://0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch \"
      4. Go to the source code (~/genivi-demo-platform/gdp-src-build/tmp/work/cortexa7hf-vfp-vfp4-neon-poky-linux-gnueabi/gdp-hmi-launcher2/1.0-r0/git/app/gdp-hmi-launcher2)
      5. Use quilt, adding a new patch file. `quilt new 0001-rename-to-audiomanager-monitor.patch`
      6. Add the files we're expecting to alter `quilt add content/ContentModel.qml`
      7. Attempts to apply the offending patch manually `patch -p1 < patches/0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch`
        This will generate a .rej file
      8. Edit the offending file (content/ContentModel.qmlnot the .rej) to fix the problem.
      9. Test that it compiles by going back to ~/genivi-demo-platform/gdp-src-build and running `bitbake -c compile -f gdp-hmi-launcher2`
      10. Make a patch out of those changes `quilt refresh`
      11. Copy the new patch into recipes and add it to the gdp-hmi-launcher2_1.0.bb file (`cp patches/0001-rename-to-audiomanager-monitor.patch ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2/` and edit ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb)
      12. Do a proper build
      13. Copy the image out of the VM, flash it to the SD card and test it
    2. Failed deployment? Using journalctl etc etc to take a look at weston logs maybe
      1. Check the kernel log with `dmesg`
      2. Check the systemd journal with `journalctl -b` (shows all messages this boot)
      3. Check all logging for weston `journalctl -b --user-unit weston` (and if that shows nothing, `journalctl -b --unit weston`)
      4. Check that input events are being processed correctly (`libinput-list-devices` to identify the input device, and `libinput-debug-events --device /dev/input/event1` to watch the events)
  10. How to contribute to GDP project.
        a. Show how to use git send mail to the list maybe?
        b. How we would take the patch from the list, apply it to the (for now qemu-ci branch) and push it to the server(show the pipeline starting a build due to the change)
        c. Show the basic outline how you could try build gdp for a new hardware target, new branch bsp-etc etc. Maybe use minnowboard as an example, checkout the branch and show it?
  11. Extension Exercise: make your own patch for the faytech monitor using these clues:
    1. Touch events on the faytech monitor (via libinput-debug-events) show touch is never released.

    2. Exploring the kernel source code (tmp/work-shared/raspberrypi2/kernel-source) shows that this is because the flag that says that the touch is "hovering" is never unset.

    3. This behaviour is used if the quirk MT_QUIRK_HOVERING is enabled

    4. The faytech monitor identifies itself via HID usage numbers (0xff0000c5) as compatible with the windows 8 touch API.

Renesas Porter Session

Schedule

Requisites, recommendations and skills required are described in the session description page.

Program

Content for the sessions:

 

 Click here to expand...

 

  1. Introduction: (agustin)
    1. What is GDP-ivi9
    2. Hands on Session goals and expectations
  2. Where is what you need and how to get it. (agustin)
    1. Git repositories: genivi-demo-platform and meta-genivi-demo
    2. wiki pages:
      1. Feature page
      2. Download page
      3. Target pages
      4. GDP and Peripherals
    3. JIRA tickets
      1. GDP-iv10 requests
      2. Known issues tickets
    4. Mailing list and IRC
      1. genivi-projects@lists.genivi.org
      2. #automotive in freenode.net
  3. It is easier if you use the pre-built images.
    1. GDP Download page (jonathan)
    2. Flash sd card howto: step by step
    3. Connect cables and boot process: connect serial. (Tom)
    4. Boot Porter images.
    5. UI and PoC apps:
      1. GDP in Detail
    6. Access Porter shell (Jonathan)
    7. GDP components and services: (Jonathan)
      1. kernel log `dmesg`
      2. systemd journal `journalctl`
      3. global weston journal `journalctl --unit weston`
      4. user weston journal `journalctl --user-unit weston`
    8. YOCTO overview: (jonathan and tom)
      1. Slides: please go back to the slide deck
        1. Show meta-genivi-demo as a layer, and genivi-demo-platform.git as a submodule repo, that uses meta-genivi-demo
      2. Links: The Yocto project documentation
    9. Describe and boot the VM (Tom)
      1. For Linux
      2. For Windows
      3. For Mac
    10. VM checks (tom)
      1. Navigate through Porter target page.
      2. Open a shell: change directory into GDP one.
      3. Edit a file.
  4. Summary of this block (jonathan)
  5. Break: 10 min.
  6. Goal of this block (tom)
  7. Modify GDP-ivi9 (jonathan)
    1. Explain Porter target page instructions
    2. Execute the instructions on the wiki page
    3. Potentially show the steps here of how to do all the git checkout stuff (mkdir GDP, clone inside it), source init look at local conf etc etc( we will then say but today we'll be using a readymade build dir)
    4. Explain the git repo, each layer we use, some basic bitbake commands maybe?
    5.  the FSA Icon is a good, simple modification.
    6. Go into the source code (~/genivi-demo-platform/gdp-src-build/tmp/work/cortexa15hf-vfp-neon-poky-linux-gnueabi/gdp-hmi-launcher2/1.0-r0/git)

    7. Find the file you want to alter (app/gdp-hmi-launcher2/content/ContentModel.qml)

    8. Add it to a quilt patch

      1. Go to the launcher's app's directory (app/gdp-hmi-launcher2, this is a special case, see what S is defined as)

      2. `quilt new remove_fsa.patch`

      3. `quilt add content/ContentModel.qml`

    9. Make the changes to content/ContentModel.qml

    10. force-compile (`cd ~/genivi-demo-platform/gdp-src-build && bitbake -c compile -f gdp-hmi-launcher2`)

    11. Make patch (`quilt refresh`)

    12. Add patch to recipes

      1. copy patches/remove_fsa.patch to ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2

      2. add file://remove_fsa.patch to the SRC_URI_appends in ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb
  8. Let's build GDP-ivi9 (jonathan)
    a. The VM should have the image prebuilt, so only the changes from modify section to rebuild, more maybe?
    b.  show local.conf and bblayers.conf
  9. How to contribute to GDP project. (tom)

    1. Show how to use git send mail to the list
    2. How we would take the patch from the list, apply it to the (for now qemu-ci branch) and push it to the server(show the pipeline starting a build due to the change)

    3. Show the basic outline how you could try build gdp for a new hardware target, new branch bsp-etc etc. Maybe use minnowboard as an example, checkout the branch and show it?

  10. Troubleshooting problems. (jonathan)
    1. Take a broken patch and fix it sounds like a useful task
      1. Mangle a patch to the hmi (edit ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2/0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch)
      2. Attempt a build (`bitbake genivi-demo-platform`)
      3. Remove the offending patch and any later patches from the SRC_URI (edit meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb and remove the line "file://0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch \"
      4. Go to the source code (~/genivi-demo-platform/gdp-src-build/tmp/work/cortexa7hf-vfp-vfp4-neon-poky-linux-gnueabi/gdp-hmi-launcher2/1.0-r0/git/app/gdp-hmi-launcher2)
      5. Use quilt, adding a new patch file. `quilt new 0001-rename-to-audiomanager-monitor.patch`
      6. Add the files we're expecting to alter `quilt add content/ContentModel.qml`
      7. Attempts to apply the offending patch manually `patch -p1 < patches/0001-gdp-hmi-launcher2-Change-the-name-of-Audiomanager-Mo.patch`
        This will generate a .rej file
      8. Edit the offending file (content/ContentModel.qmlnot the .rej) to fix the problem.
      9. Test that it compiles by going back to ~/genivi-demo-platform/gdp-src-build and running `bitbake -c compile -f gdp-hmi-launcher2`
      10. Make a patch out of those changes `quilt refresh`
      11. Copy the new patch into recipes and add it to the gdp-hmi-launcher2_1.0.bb file (`cp patches/0001-rename-to-audiomanager-monitor.patch ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2/` and edit ~/genivi-demo-platform/meta-genivi-demo/meta-genivi-demo/recipes-demo-hmi/genivi-demo-platform-hmi/gdp-hmi-launcher2_1.0.bb)
      12. Do a proper build
      13. Copy the image out of the VM, flash it to the SD card and test it
    2. Failed deployment? Using journalctl etc etc to take a look at weston logs maybe
      1. Check the kernel log with `dmesg`
      2. Check the systemd journal with `journalctl -b` (shows all messages this boot)
      3. Check all logging for weston `journalctl -b --user-unit weston` (and if that shows nothing, `journalctl -b --unit weston`)
      4. Check that input events are being processed correctly (`libinput-list-devices` to identify the input device, and `libinput-debug-events --device /dev/input/event1` to watch the events)
  11. Extension Exercise: make your own patch for the faytech monitor using these clues:
    1. Touch events on the faytech monitor (via libinput-debug-events) show touch is never released.

    2. Exploring the kernel source code (tmp/work-shared/porter/kernel-source) shows that this is because the flag that says that the touch is "hovering" is never unset.

    3. This behaviour is used if the quirk MT_QUIRK_HOVERING is enabled

    4. The faytech monitor identifies itself via HID usage numbers (0xff0000c5) as compatible with the windows 8 touch API.

 

Other sessions GDP related

Baseline Integration Team and GDP - Introduction and Status/Roadmap

Schedule

The first part of the talk is about the BIT Team. During the second half Agustin describes the highlights of GDP-ivi9 release.

Baseline Integration Team and GDP - Advanced session

Schedule

This second session will focus on discussing request and ideas to be considered for GDP-ivi10

Feedback

Pease provide feedback about the hands on session in the table below or directly to Agustin Benito Bethencourt. Improving is harder without your evaluation.

NameSessionWhat went well?What needs improvements?Other comment / suggestion?
AgustinYOCTO - Porterthis is an examplethis is an exampleWith beer the session would go smoother.
     

Feedback collected by trainers:

  1. The   effort   put   by   GENIVI   in   these  Hands   on   Sessions   is   not   supported   by the number of participants.   We   suggest   to   take   extra  actions   to   have a full room. The effort is basically the same but the impact higher.
  2. A   single   VM   with   all   that   is   needed  for   every   Hands   on   Session   should   be  provided   to   participants the first day.   This   will   benefit  participants   and   the   Hands   on   Sessions  execution. It will make the coordination between those providing training more complicate though.

13th AMM

Check the schedule of the event, that took place in Seoul on October 2015.