Search by Tags

How to Update an Existing VS Code Project to a Newer Debian Container Version

 

Article updated at 24 Mar 2021
Subscribe for this article updates

Select the version of your OS from the tabs below. If you don't know the version you are using, run the command cat /etc/os-release or cat /etc/issue on the board.



Remember that you can always refer to the Torizon Documentation, there you can find a lot of relevant articles that might help you in the application development.

Torizon 5.0.0

Introduction

As we transitioned from TorizonCore 4 to TorizonCore 5, the version of the Debian Containers for Torizon was upgraded from Buster to Bullseye. This article explains how to migrate an existing project created with the Visual Studio Code Extension for Torizon.

The IDE extension is based on the concept of "platform", every project references one. Platforms define a base container, an eventual SDK container (for instance, for a C/C++ project), and some parameters. Platforms usually are architecture-specific (arm32, arm64) and tied to a specific distribution version (debian-buster or debian-bullseye). Projects created with the IDE extensions before the transition were based on debian-buster. You can get more information about the platforms and architecture of the IDE extensions in the article Torizon IDE Backend Architecture and Internals.

The main motivation for our migration is the support of the latest GPU drivers from the NXP BSP on our i.MX 8 based SoMs. Due to this, migration is not mandatory at the moment unless you use graphics on our i.MX 8 platforms, but it is recommended as we will keep supporting only Bullseye images in the future.

IDE tools can be used for this, as described in this document.

This article complies to the Typographic Conventions for Torizon Documentation.

Prerequisites

  • An existing project based on the debian-buster platform.

How to Migrate an Existing Project

  1. From the VS Code command palette (Press F1), select Torizon: Add support for a different platform. Alternatively, press the + sign next to "Configurations" in the Torizon activity bar.
  2. Select a bullseye-based configuration from the list. Check that it matches the architecture of your target.
  3. Visual Studio Code will ask if you want to copy properties of your existing configuration to the new one, select "yes".
  4. At this point, Visual Studio Code will create a new configuration and activate it.

If you are using C# or Python you will be ready to build and deploy your solution. If you are using C/C++ you’ll have to wait until your SDK container has been rebuilt using the new toolchain.

Remarks About Libraries

Migration should be an easy process, but it may happen that specific libraries have new versions in Bullseye. In this case, you may get build or runtime errors.

Review your configuration extrapackages property and use packages.debian.org to check for changes in a specific package. If you develop C/C++ code you may also get some build issues if -dev libraries have been updated to a newer release with a slightly different API.