How to Update an Existing VS Code Project to a Newer Debian Container Version
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.
- An existing project based on the debian-buster platform.
How to Migrate an Existing Project
- From the VS Code command palette (Press
Torizon: Add support for a different platform. Alternatively, press the
+sign next to "Configurations" in the Torizon activity bar.
- Select a bullseye-based configuration from the list. Check that it matches the architecture of your target.
- Visual Studio Code will ask if you want to copy properties of your existing configuration to the new one, select "yes".
- 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.