Can I run TeamViewer IoT on Yocto?

Announcements

Join the discussion about TeamViewer and the Windows 10 2004 Update: Click here

Highlighted
Posted by Former Staff
Former Staff

Can I run TeamViewer IoT on Yocto?

This article applies to all TeamViewer IoT users.

    The Yocto Project enables the creation of custom Linux-based systems for embedded devices. 

    The TeamViewer IoT Agent will run on Yocto Linux devices given minimum requirements and configurations are met.

    In order to run the TeamViewer IoT Agent, please ensure the device/build satisfies the following: 


    System requirements

    Required:

    • Arch model: The following are supported:
      • ArmV5
      • ArmV7
      • x86 (32-Bit) (Pentium 4 or newer model)
      • x86_64 (64-Bit) (Pentium 4 or newer model)
      • Note: Older CPU models will cause "Illegal Instruction" error.
    • At least 30 MB free disk space on rootfs partition of the device
    • BASH Unix shell
    • systemd software suite
    • glibc-utils package (version 2.17 or higher)

    Additional libraries/packages Recommended for debugging / integration:

    • libavahi-client3
    • libavahi-common3
    • libavahi-common-data
    • avahi-daemon


    Build Configuration

    When creating your Yocto image, the build configuration, specified in (conf/local.conf), you will need to include additional properties. The example below shows the configuration for preparing an image for a Raspberry Pi 3 device.

    • MACHINE = "raspberrypi3" 
    • PREFERRED_VERSION_linux-raspberrypi = "4.%" 
    • DISTRO_FEATURES_append = " systemd"
    • VIRTUAL-RUNTIME_init_manager = "systemd" 
    • IMAGE_INSTALL_append = " glibc-utils bash"
    • IMAGE_ROOTFS_EXTRA_SPACE = "50000"  #50 MB

    Installation

    The current TeamViewer IoT Agent comes in a Debian package (.deb) format. As your Yocto instance may not support Debian package installation via DPKG, it is suggested that the TeamViewer IoT Agent package be downloaded and unpacked onto a non-Yocto OS (e.g. Ubuntu).

    • Step 1: From a non-Yocto Linux device, download the latest TeamViewer IoT Agent from https://teamviewer-iot.com
    • Step 2: Unpackage the downloaded file to a self-contained folder using "dpkg-deb -R":
      • For example:
        • dpkg-deb -R teamviewer-iot-agent-armv7_1.0.58_armhf.deb ./
        • replace "teamviewer-iot-agent-armv7_1.0.58_armhf.deb" with the filename of the Agent you downloaded
    • Step 3: Mirror folder/file path from self-contained package onto your Yocto build
      • the self-contained folder will contain all the files/folders (binaries/configs) required to run the TeamViewer IoT Agent. These files need to be moved over to your Yocto build preserving their folder structure.
      • As your Yocto build is custom built, some or all of the folder structures may be needed to be created manually
        • For example: the self-contained folder may contain a file global.conf located under "var/lib/teamviewer-iot-agent";
        • you should copy this file to your Yocto build and place it under "/var/lib/teamviewer-iot-agent". If /var or the nested folders do not exist, create them using the mkdir linux command.
        • Repeat the process for all files/folders contained within your self-contained folder
    • Step 4: Start the TeamViewer IoT Agent
      • you will have to start the TeamViewer IoT Agent according to the services you have running on your Yocto device
        • For example:
          • sudo systemctl restart teamviewer-iot-agent.service
          • Note: the example above assumes systemctl exists on your Yocto build

    If you have any issues or specific questions, please refer to the TeamViewer IoT knowledge base & support communities.

    3 Replies
    Highlighted
    Posted by
    Photon

    Re: Can I run TeamViewer IoT on Yocto?

    Hello,

    first of all thank you for the manual.

    We still have a few questions. We have gone through steps 1 to 2 as described. At point 3 we are missing several files. Could you provide us with the complete folder structure or name it?

    Thanks.

    Highlighted
    Posted by TeamViewer Staff
    TeamViewer Staff

    Re: Can I run TeamViewer IoT on Yocto?

    Hi @IOT-KI

    Could you follow  the steps below?

    -Download our image for target architecture. For example ( wget https://download.teamviewer-iot.com/agents/2.7.7/armv7/teamviewer-iot-agent-armv7_2.7.7_armhf.deb)
    -Unpack Debian package. For example ( dpkg -xa teamviewer-iot-agent-armv7_2.7.7_armhf.deb . )
    -Unpack installation scripts ( dpkg -e teamviewer-iot-agent-armv7_2.7.7_armhf.deb ). Scripts will be in DEBIAN directory.
    -Add unpacked package files with structure which used in package...
    -Add preinst and postinst scripts to the target image
    -Run preinst and postinst scripts during first boot

    Our Agent depends on `bash perl dbus glibc glibc-utils libavahi-core libavahi-common libavahi-client procps curl ca-certificates libdbus` libraries.

    Regards

     

     

    Tech Support IoT

    Did my reply answer your question? Accept it as a solution to help others.
    Find this helpful? Say thanks by clicking on the Thumbs Up button.

    Posted by TeamViewer Staff
    TeamViewer Staff

    Re: Can I run TeamViewer IoT on Yocto?

    Hi @IOT-KI 

    Could you check your account for private message?

    Thank you

    Tech Support IoT

    Did my reply answer your question? Accept it as a solution to help others.
    Find this helpful? Say thanks by clicking on the Thumbs Up button.