[How-to Article] Get started with ROS on Yocto

1 Introduction

ROS is a set of software libraries and utilities that help users build robotic applications. A ROS distribution is a versioned set of ROS packages. These are akin to Linux distributions (e.g. Ubuntu) and is primarily tested on Ubuntu. Consequently, it is fully tested with the specific Ubuntu versions. Users can install and run ROS on any Unix-based platform.

Questions or problems may arise when integrating certain solutions. These issues are usually related to compatibility or the lack of compatible versions in some libraries. The best way to ensure success is to use the right version of Ubuntu as recommended by the ROS and ROS2 Distribution, or to use fully-tested ROS on specific hardware and products provided by a hardware vendor. Both methods ensure that the ROS infrastructure runs smoothly.

2 Using ROS on the Advantech RSB-3720

HW Introduction:

RSB-3720 fulfills the needs of diverse vertical applications through a UIO40-Express expansion design.

  • NXP Arm® Cortex®-A53 i.MX8M Plus Quad/Dual up to 1.8 GHz
  • Onboard LPDDR4 4 GB/6 GB and 4000MT/s memory
  • HDMI 1920x1080 at 60Hz, 1 x Single or 1 x Dual Channel 24 bit LVDS (or 1 x 4-Lane MIPI-DSI by Software modification)
  • 1 x 4-wire RS-232/422/485, 1 x USB 3.2 Gen 1 By 1, 1 x USB2.0, 1 x Micro SD, 1 x Mic. in/Line out
  • 1 x mini-PCIe for 3G/4G, 1 x M.2 2230 Key E slot
  • Supports Yocto Project Linux and Android
  • Supports I/O expansion boards via UIO40-Express

3 Use eMMC or SD to boot up the system

There are two methods for booting the OS with RSB-3720. The first is to boot from an SD card and the second is to boot via eMMC. Users conducting an ROS development evaluation may find it easier to use the SD card when flashing the firmware from the build server or PC.

Boot strap SW1-1 SW1-2 SW1-3 SW1-4
SD ON ON OFF OFF
eMMC OFF ON OFF OFF

A. SD Boot
RSB-3720_SD_Card_boot_up_2021-10-28_132021

B. eMMC boot
RSB-3720_eMMC_boot_up_2021-10-28_132058

C. Debug port connection and setting:
RSB-3720 debug port is shared with COM1. Please connect the debug console cable, then connect the USB-to-RS232 cable to your PC terminal. Connect the cable to COM1 pin header next to the HDMI connector. RSB-3720 can communicate with a host server using serial cables. Common serial communication programs such as HyperTerminal, Tera Term, or PuTTY can be used in such applications. Please set the baud rate to 115200.
RSB-3720_connector_location_2021-10-21_143853

4 Environment setup for BSP and building instructions

Advantech has reduced the process required to build an environment and image to 3 steps:

  1. Visit our AIM-Linux developer center and select the related BSP based on the silicon platform
  2. Follow the “One Step Build Image” method to download the script
  3. Flash the build image to SD card and boot it from the SD card
    This method reduces the effort required of engineers during environment setup and helps them address problems as they arise. This task only requires the user to have a local PC or virtual machine in the cloud — all the other necessary elements can be found on the internet. Users should use a powerful PC or virtual machine with SSD to quicken the process. Likewise, if the user has access to Azure VM service, they can complete the task in the cloud using a flash image stored on a local SD card via a PC or notebook. We will detail instructions on how to use these tools for both Linux and Windows later in this instructional.

Docker setup in host
Users can setup a virtual build machine with Ubuntu system in the Azure Cloud Service or in a local build machine.

Docker installation instructions
A. Prepare the container environment on the build machine. Choose Ubuntu 18.04 as the OS for the following instructions.
A-1 Update the APT package index and install packages to allow APT to use a repository over HTTPS:

$sudo apt-get update
$sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

A-2 Add Docker’s official GPG key

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

A-3 set up the stable repository and install docker engine

$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

B. Use the docker image made by Advantech from dockerhub

$ docker pull advrisc/u18.04-imx8lbv1
$ export CONTAINER_NAME=rsb-3720
$ mkdir adv-release-bsp
$ export WORKSPACE=~/adv-release-bsp
$ docker run --privileged -it --name ${CONTAINER_NAME} -v ${WORKSPACE}:/home/adv/adv-release-bsp -v /dev:/dev advrisc/u18.04-imx8lbv1 /bin/bash

5 Building instructions

Use the following operations when entering the docker container environment shell:

5.1 Prepare BSP and include the ROS meta layer

# update CA certificates
$ sudo apt-get install apt-transport-https ca-certificates -y
$ sudo update-ca-certificates
$ export GIT_SSL_NO_VERIFY=1
$ repo init -u https://dev.azure.com/advcharles/IMX-Robot/_git/adv-arm-yocto-bsp -b imx-linux-zeus -m imx8LBVA0271_robot.xml
$ repo sync
$ ln -s sources/meta-robot-platform/imx/meta-robot/tools/setup-imx-robot.sh setup-imx-robot.sh

As you can see, the meta-robot-platform has been included in the BSP. Users can start building their own robot firmware with the version of ROS they’ve specified. They can choose ROS1 melodic or kinetic, or ROS2 foxy, for example.

$ DISTRO=imx-robot-xwayland MACHINE=imx8mprsb3720a1 source setup-imx-robot.sh -r melodic -b imx8mprsb3720a1-robot-melodic
$ bitbake imx-robot-system
$ DISTRO=imx-robot-xwayland MACHINE=imx8mprsb3720a1 source setup-imx-robot.sh -r kinetic -b imx8mprsb3720a1-robot-kinetic
$ bitbake imx-robot-system
$ DISTRO=imx-robot-xwayland MACHINE=imx8mprsb3720a1 source setup-imx-robot.sh -r foxy -b imx8mprsb3720a1-robot-foxy
$ bitbake imx-robot-system

5.2 Flash the image and extend the rootfs space.

Please copy the image to you host pc or notebook.

$ scp charles@desktop:~/adv-release-bsp/imx8mprsb3720a1-robot-melodic/tmp/deploy/images/imx8mprsb3720a1/imx-robot-system-melodic-imx8mprsb3720a1-20220309072100.rootfs.wic.bz2 .

A. Linux
Choose a uDisk name to replace /dev/sdx. Similar to /dev/sdc, users should avoid using the system disk or important storage disks.

$ sudo dd if=./imx-robot-system-melodic-imx8mprsb3720a1-20220309072100.rootfs.wic.bz2 of=/dev/sdx

B. Windows
Users can choose balenaEtcher to flash the image to their Windows OS. Alternatively, they can choose Linux version one. Linux version one operation is similar to the Windows version when using the Linux Desktop GUI.

5.3 Tips and workarounds for build failure for nxp8987 SDK support and source mirror settings:

A. Please also add MACHINE_FEATURES_remove = " nxp8987 " and remove source mirror part in your local.conf file of build folder to prevent build failure

B. Please include orb-slam2 into the image by adding IMAGE_INSTALL_append = " orb-slam2 " to use slam demo

C. If you need to reserve your disk space, you can add feature INHERIT += “rm_work” in your local.conf file of build folder.

6 Launch camera in ROS (USB camera only — MIPI cameras are not currently supported)

ROS1 remains a popular choice for robotic applications. Therefore, we will demonstrate the use of ROS1. The version we use in this instructional is based on Melodic distribution. We will demonstrate how to launch the USB camera node. This demonstration will also show camera previews on your HDMI display — which is an ROS node.

$ source /opt/ros/melodic/setup.bash
$ roscore&
$ roslaunch usb_cam usb_cam-test.launch

7 SLAM Demostration

You can find the necessary materials in the links below

$ mono_euroc /home/root/catkin_ws/src/orb-slam/Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH01.txt

Follow the link below for an instructional video:
https://advantecho365-my.sharepoint.com/:v:/g/personal/charles_huang_advantech_com/EdrI6_stpmVJt-BxSV-jAOkBUunl-EpFWeJ1ZSu3mdXZhg?e=uQWW6u

8 Conclusion

Users who are familiar with ROS development will discover that ROS integrates well within Ubuntu systems. This is because ROS is widely used for the development of robotic solutions on Ubuntu x86 architecture. Conversely, arm-based platforms usually provide embedded Linux — like Yocto OS — as default, and since embedded Linux is famous for providing a framework that enables end users to design their own OS from building blocks, it is more difficult to install and develop with ROS platforms. Advantech’s BSP is fully-integrated with ROS. ROS developers can focus on developing the ROS applications and spend their efforts designing low power consumption robotic solutions without struggle and/or confusion. This will further help reduce the costs of arm-based platform development and the associated trouble.

8 Likes

Hi Charles,

I’m trying to build up a demo with ROS2.
I’m planning to build the demo base on the ROM-5722 and yocto.
Do you have the ros2 installer for Yocto platform ?
or the dd of the SD card to share ?

Thanks,

@Chih-Chung_Hsieh
This article is guiding you on how to make ROS 2 on your own and supposedly you are familiar with ROS development.
ROS2 Suite will help you to install ROS2 easily on the Ubuntu OS base and you can contact the product team and AE support team to get more details.

2 Likes

Hi Charles,

Thanks for the advise.
I didn’t know how to build a Ubuntu image. but I found this link How to create Ubuntu 18.04/16.04 SD card image for iMX8/iMX6 - ESS-WIKI
and I just follow all the command lines (I changes the Ubuntu code name to jammy) and now I have a Ubuntu 22.04 runing on the ROM-5722. It is then indeed easy to install the ROS2 package.
I installed the ROS2 humble version and after some modifications successfully run the ROS2 demo :smiley:

4 Likes

Hi @Chih-Chung_Hsieh

Thanks a lot for sharing, glad to know that you have this Ubuntu ROS2 SLAM demo (which was originally for NVIDIA Jetson Orin NX) running well on the NXP i.MX 8M Plus platform. If you have any other demo idea or suggestion, please feel free to share.

Best regards

Eunice

Hello,

imx8LBVA0271_robot.xml points source.codeaurora.org.

fatal: unable to access ‘https://source.codeaurora.org/external/imx/meta-imx/’: Could not resolve host: source.codeaurora.org

Can you update the file?

NXP moved the git repositories from Codeaurora to GitHub last year.

Please modify some URLs of your manifests file “.repo/manifests/imx8LBVA0271_robot.xml” to the right ones in your local file

<remote fetch="https://github.com/nxp-imx" name="CAF"/>
<remote fetch="https://github.com/nxp-imx-support" name="imx-support"/>

I got an error with bitbake.

ERROR: wayland-protocols-1.20.imx-r0 do_fetch: Fetcher failure for URL: 'git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.20'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/temp/log.do_fetch.18225
NOTE: recipe wayland-protocols-1.20.imx-r0: task do_fetch: Failed
ERROR: Task (/home/adv/adv-release-bsp/sources/meta-imx/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb:do_fetch) failed with exit code '1'

Should I modify the wayland-protocols_1.20.imx.bb file?
Is the file modified correctly below?

-WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https"
+WAYLAND_PROTOCOLS_SRC ?= "https://github.com/nxp-imx/wayland-protocols-imx;protocol=https"

I am getting do_fetch errors from codeaurora.org in other *.bb files, do I need to modify the *.bb files for those as well?
In the above, only the imx8LBVA0271_robot.xml file is described to be modified, is it necessary to modify the *.bb file as well?

@Hideo_Nakajima , yes, it looks like solved this by modifying the source URL

Hi, Charles.
Thank you for your reply.

I made the above fixes and bitbake again.
Then, the following error occurred.

ERROR: wayland-protocols-1.20.imx-r0 do_fetch: No checksum specified for /home/adv/downloads/wayland-protocols-imx, please add at least one to the recipe:
SRC_URI[md5sum] = "e5dc7281a8dcfac130145efbc4b09bc7"
SRC_URI[sha256sum] = "e1c4de95e79009b4ea4d4bb2c6f798e8ce5ca2056f81d229e476ef72c397ab01"
ERROR: wayland-protocols-1.20.imx-r0 do_fetch: Fetcher failure for URL: 'https://github.com/nxp-imx/wayland-protocols-imx;protocol=https;branch=wayland-protocols-imx-1.20'. Missing SRC_URI checksum

Would it be sufficient to add the following modification to the wayland-protocols_1.20.imx.bb?

SRC_URI[md5sum] = "e5dc7281a8dcfac130145efbc4b09bc7"

Finally, are the following corrections to the wayland-protocols_1.20.imx.bb correct?

-WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https"
+WAYLAND_PROTOCOLS_SRC ?= "https://github.com/nxp-imx/wayland-protocols-imx;protocol=https"
+SRC_URI[md5sum] = "e5dc7281a8dcfac130145efbc4b09bc7"

yes, it seems to lack checksum according to the error message. Let me know if it works and I’ll correct the steps and Yocto recipe. Thanks

The following error occured.

ERROR: wayland-protocols-1.20.imx-r0 do_compile: oe_runmake failed
ERROR: wayland-protocols-1.20.imx-r0 do_compile: Execution of '/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/temp/run.do_compile.13038' failed with exit code 1:
make: *** No targets specified and no makefile found.  Stop.
WARNING: exit code 1 from a shell command.

ERROR: Logfile of failure stored in: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/temp/log.do_compile.13038
Log data follows:
| DEBUG: Executing python function autotools_aclocals
| DEBUG: SITE files ['endian-little', 'bit-64', 'arm-common', 'arm-64', 'common-linux', 'common-glibc', 'aarch64-linux', 'common']
| DEBUG: Python function autotools_aclocals finished
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
| make: *** No targets specified and no makefile found.  Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/temp/run.do_compile.13038' failed with exit code 1:
| make: *** No targets specified and no makefile found.  Stop.
| WARNING: exit code 1 from a shell command.
| 
ERROR: Task (/home/adv/adv-release-bsp/sources/meta-imx/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb:do_compile) failed with exit code '1'

Where the DevIL-1.8.0.zip?

bitbake outputs following errors:

ERROR: devil-1.8.0-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export PATH="/home/adv/adv-release-bsp/sources/poky/scripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot-native/usr/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot-native/usr/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot-native/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/recipe-sysroot-native/bin:/home/adv/adv-release-bsp/sources/poky/bitbake/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/hosttools"; export HOME="/home/adv"; /usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate -P /home/adv/downloads/ 'https://source.codeaurora.org/mirrored_source/external/imx/DevIL-1.8.0.zip' --progress=dot -v failed with exit code 4, output:
--2024-09-03 19:49:57--  https://source.codeaurora.org/mirrored_source/external/imx/DevIL-1.8.0.zip
Resolving source.codeaurora.org (source.codeaurora.org)... failed: No address associated with hostname.
Resolving source.codeaurora.org (source.codeaurora.org)... failed: No address associated with hostname.

ERROR: devil-1.8.0-r0 do_fetch: Fetcher failure for URL: 'https://source.codeaurora.org/mirrored_source/external/imx/DevIL-1.8.0.zip'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/imx8mprsb3720a1-poky-linux/devil/1.8.0-r0/temp/log.do_fetch.18466

DevIL-1.8.0.zip does not exist in either github.com/nxp-imx or github.com/nxp-imx-support

I got the following error when I modified the URL of the sources/meta-imx/meta-bsp/recipes-graphics/drm/libdrm_2.4.99.imx.bb for the codeaurora case.

ERROR: libdrm-2.4.102.imx-r0 do_patch: Command Error: 'quilt --quiltrc /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/libdrm/2.4.102.imx-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
Applying patch 0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch
can't find file to patch at input line 23
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 45f48f8a5de59c04b0510c23853772bc970f411e Mon Sep 17 00:00:00 2001
|From: Max Krummenacher <max.krummenacher@toradex.com>
|Date: Thu, 9 Jan 2020 01:01:35 +0000
|Subject: [PATCH] meson: add libdrm-vivante to the meson meta data
|
|Upstream libdrm added the option to use meason as the buildsystem.
|Integrate Vivante into the relevant meson build information.
|
|Upstream-Status: Pending
|
|Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|---
| meson.build         | 14 +++++++++++++
| meson_options.txt   |  7 +++++++
| vivante/meson.build | 50 +++++++++++++++++++++++++++++++++++++++++++++
| 3 files changed, 71 insertions(+)
| create mode 100644 vivante/meson.build
|
|diff --git a/meson.build b/meson.build
|index e292554a..f4740634 100644
|--- a/meson.build
|+++ b/meson.build
--------------------------
No file to patch.  Skipping patch.
4 out of 4 hunks ignored
can't find file to patch at input line 68
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/meson_options.txt b/meson_options.txt
|index 8af33f1c..dc69563d 100644
|--- a/meson_options.txt
|+++ b/meson_options.txt
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patching file vivante/meson.build
Patch 0001-meson-add-libdrm-vivante-to-the-meson-meta-data.patch does not apply (enforce with -f)
ERROR: Logfile of failure stored in: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/libdrm/2.4.102.imx-r0/temp/log.do_patch.22562
ERROR: Task (/home/adv/adv-release-bsp/sources/meta-imx/meta-bsp/recipes-graphics/drm/libdrm_2.4.102.imx.bb:do_patch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1960 tasks of which 1953 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/adv/adv-release-bsp/sources/meta-imx/meta-bsp/recipes-graphics/drm/libdrm_2.4.102.imx.bb:do_patch

modify of libdrm_2.4.99.imx.bb are:

-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
+IMX_LIBDRM_SRC ?= "https://github.com/nxp-imx/libdrm-imx;protocol=https;nobranch=1"
+SRC_URI[md5sum] = "3cc2a580fd9d097196558627b01adf41"
+SRC_URI[sha256sum] = "22ac6b86d80e1115d14c129902d7dbd05da27a7195227279c398f0af8478308e"

I got the following error when I modified the URL of the meta-imx/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb for the codeaurora case.

NOTE: recipe wayland-protocols-1.20.imx-r0: task do_populate_lic: Started
WARNING: wayland-protocols-1.20.imx-r0 do_populate_lic: Could not copy license file /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/COPYING to /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/license-destdir/wayland-protocols/COPYING: [Errno 2] No such file or directory: '/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/COPYING'
WARNING: wayland-protocols-1.20.imx-r0 do_populate_lic: Could not copy license file /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/stable/presentation-time/presentation-time.xml to /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/license-destdir/wayland-protocols/presentation-time.xml: [Errno 2] No such file or directory: '/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/stable/presentation-time/presentation-time.xml'
ERROR: wayland-protocols-1.20.imx-r0 do_populate_lic: QA Issue: wayland-protocols: LIC_FILES_CHKSUM points to an invalid file: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/COPYING [license-checksum]
ERROR: wayland-protocols-1.20.imx-r0 do_populate_lic: QA Issue: wayland-protocols: LIC_FILES_CHKSUM points to an invalid file: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/git/stable/presentation-time/presentation-time.xml [license-checksum]
ERROR: wayland-protocols-1.20.imx-r0 do_populate_lic: Fatal QA errors found, failing task.
ERROR: Logfile of failure stored in: /home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-mx8mp-poky-linux/wayland-protocols/1.20.imx-r0/temp/log.do_populate_lic.4533
NOTE: recipe wayland-protocols-1.20.imx-r0: task do_populate_lic: Failed
ERROR: Task (/home/adv/adv-release-bsp/sources/meta-imx/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb:do_populate_lic) failed with exit code '1'

Please refer to the patch

project sources/meta-imx/
diff --git a/meta-bsp/recipes-bsp/imx-atf/imx-atf_2.2.bb b/meta-bsp/recipes-bsp/imx-atf/imx-atf_2.2.bb
index 915e1910ea..6ea713ba3f 100644
--- a/meta-bsp/recipes-bsp/imx-atf/imx-atf_2.2.bb
+++ b/meta-bsp/recipes-bsp/imx-atf/imx-atf_2.2.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;m
 PV .= "+git${SRCPV}"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
-ATF_SRC ?= "git://source.codeaurora.org/external/imx/imx-atf.git;protocol=https"
+ATF_SRC ?= "git://github.com/nxp-imx/imx-atf.git;protocol=https"
 SRC_URI = "${ATF_SRC};branch=${SRCBRANCH} \
 "
 SRCREV = "f1d7187f261ebf4b8a2a70d638d4bfc0a9b26c29"
diff --git a/meta-bsp/recipes-bsp/imx-mkimage/imx-mkimage_git.inc b/meta-bsp/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
index ff0716e1dc..9eabbcf263 100644
--- a/meta-bsp/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
+++ b/meta-bsp/recipes-bsp/imx-mkimage/imx-mkimage_git.inc
@@ -3,7 +3,7 @@
 DEPENDS = "zlib-native openssl-native"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
-IMX_MKIMAGE_SRC ?= "git://source.codeaurora.org/external/imx/imx-mkimage.git;protocol=https"
+IMX_MKIMAGE_SRC ?= "git://github.com/nxp-imx/imx-mkimage.git;protocol=https"
 SRC_URI = "${IMX_MKIMAGE_SRC};branch=${SRCBRANCH}"
 SRCREV = "8947fea369ab3932259630232cfb9f87b8f9dda1"
 S = "${WORKDIR}/git"
diff --git a/meta-bsp/recipes-bsp/imx-test/imx-test_git.bbappend b/meta-bsp/recipes-bsp/imx-test/imx-test_git.bbappend
index cf481d7646..ed714682f2 100644
--- a/meta-bsp/recipes-bsp/imx-test/imx-test_git.bbappend
+++ b/meta-bsp/recipes-bsp/imx-test/imx-test_git.bbappend
@@ -5,7 +5,7 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
-IMXTEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-test.git;protocol=https"
+IMXTEST_SRC ?= "git://github.com/nxp-imx/imx-test.git;protocol=https"
 SRC_URI = " \
     ${IMXTEST_SRC};branch=${SRCBRANCH} \
     file://memtool_profile \
diff --git a/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc b/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc
index 4e5b49b17f..cfc3dcdec0 100644
--- a/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc
+++ b/meta-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc
@@ -2,7 +2,7 @@ SUMMARY = "NXP Wi-Fi SDK for 88w8997 and 88w8987"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://mwifiex_8997/gpl-2.0.txt;md5=ab04ac0f249af12befccb94447c08b77;"
 
-MRVL_SRC ?= "git://source.codeaurora.org/external/imx/mwifiex.git;protocol=https"
+MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https"
 
 # Kernel 5.4
 SRCBRANCH = "imx_5.4.70_2.3.0"
diff --git a/meta-bsp/recipes-graphics/drm/libdrm_2.4.99.imx.bb b/meta-bsp/recipes-graphics/drm/libdrm_2.4.99.imx.bb
index dc2aa8a90c..81ee35ab17 100644
--- a/meta-bsp/recipes-graphics/drm/libdrm_2.4.99.imx.bb
+++ b/meta-bsp/recipes-graphics/drm/libdrm_2.4.99.imx.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c5
 PROVIDES = "drm"
 DEPENDS = "libpthread-stubs"
 
-IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
+IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https;nobranch=1"
 IMX_LIBDRM_BRANCH ?= "libdrm-imx-2.4.99"
 SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
            file://musl-ioctl.patch \
diff --git a/meta-bsp/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb b/meta-bsp/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb
index 72f8e27f60..2300bed15e 100644
--- a/meta-bsp/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb
+++ b/meta-bsp/recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_9.0.0.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50"
 DEPENDS = "imx-gpu-viv zlib libpng procps"
 
-APITRACE_SRC ?= "git://source.codeaurora.org/external/imx/apitrace-imx.git;protocol=https"
+APITRACE_SRC ?= "git://github.com/nxp-imx/apitrace-imx.git;protocol=https"
 SRCBRANCH = "imx_9.0"
 SRC_URI = "${APITRACE_SRC};branch=${SRCBRANCH}"
 SRCREV = "c50e6a954e44998f2e3793a8de863e961f8008c6"
diff --git a/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb b/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
index 7928ec16fa..6af3bc7261 100644
--- a/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
+++ b/meta-bsp/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb
@@ -9,7 +9,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
                     file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
 
-WAYLAND_PROTOCOLS_SRC ?= "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https"
+WAYLAND_PROTOCOLS_SRC ?= "git://github.com/nxp-imx/wayland-protocols-imx.git;protocol=https"
 SRCBRANCH = "wayland-protocols-imx-1.20"
 SRC_URI = "${WAYLAND_PROTOCOLS_SRC};branch=${SRCBRANCH} "
 SRCREV = "9cacf108d0ee5863c7a656da5d2271bc2396e43d" 
diff --git a/meta-bsp/recipes-graphics/wayland/weston_9.0.0.imx.bb b/meta-bsp/recipes-graphics/wayland/weston_9.0.0.imx.bb
index 6276359b88..e90e92f367 100644
--- a/meta-bsp/recipes-graphics/wayland/weston_9.0.0.imx.bb
+++ b/meta-bsp/recipes-graphics/wayland/weston_9.0.0.imx.bb
@@ -1,7 +1,7 @@
 require weston_9.0.0.bb
 
 SRC_URI_remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
-WESTON_SRC ?= "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https"
+WESTON_SRC ?= "git://github.com/nxp-imx/weston-imx.git;protocol=https"
 SRC_URI_prepend = "${WESTON_SRC};branch=weston-imx-9.0 "
 SRCREV = "a1823f20a1d6e24d2f56e98c5576eda34a94f567"
 S = "${WORKDIR}/git"
diff --git a/meta-bsp/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb b/meta-bsp/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb
index 1831ef445f..4e36c2fc51 100644
--- a/meta-bsp/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb
+++ b/meta-bsp/recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.6.0.bb
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://${WORKDIR}/git/vvcam/LICENSE;md5=64381a6ea83b48c39fe524c85f65fb44"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
-ISP_KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/isp-vvcam.git;protocol=https"
+ISP_KERNEL_SRC ?= "git://github.com/nxp-imx/isp-vvcam.git;protocol=https"
 
 SRC_URI = " \
     ${ISP_KERNEL_SRC};branch=${SRCBRANCH} \
diff --git a/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.4.bb b/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.4.bb
index 0f21645362..b8e05d40b7 100644
--- a/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.4.bb
+++ b/meta-bsp/recipes-kernel/linux/linux-imx-headers_5.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
 LOCALVERSION = "-2.3.0"
-KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https"
+KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https"
 SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
 
 SRCREV = "dea2fede7e024ee7029b13e8d82a00ec14427777"
diff --git a/meta-bsp/recipes-kernel/linux/linux-imx_5.4.bb b/meta-bsp/recipes-kernel/linux/linux-imx_5.4.bb
index e69f830501..88aec684be 100644
--- a/meta-bsp/recipes-kernel/linux/linux-imx_5.4.bb
+++ b/meta-bsp/recipes-kernel/linux/linux-imx_5.4.bb
@@ -14,7 +14,7 @@ DEPENDS += "lzop-native bc-native"
 
 SRCBRANCH = "imx_5.4.70_2.3.0"
 LOCALVERSION = "-2.3.0"
-KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https"
+KERNEL_SRC ?= "git://github.com/nxp-imx/linux-imx.git;protocol=https"
 SRC_URI = "${KERNEL_SRC};branch=${SRCBRANCH}"
 
 SRCREV = "4f2631b022d843c1f2a5d34eae2fd98927a1a6c7"
diff --git a/meta-bsp/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/meta-bsp/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index a5507c57d9..7016cf54e9 100644
--- a/meta-bsp/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/meta-bsp/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -17,7 +17,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 inherit autotools pkgconfig use-imx-headers
 
-IMXALSA_SRC ?= "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https"
+IMXALSA_SRC ?= "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 
 SRC_URI = "${IMXALSA_SRC};branch=${SRCBRANCH}"
diff --git a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend
index bd05d49f9c..6d9d28d60f 100644
--- a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend
+++ b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bbappend
@@ -3,7 +3,7 @@ PV="1.16.2.imx"
 DEPENDS += "jpeg libdrm"
 DEPENDS_append_imxgpu2d = " virtual/libg2d"
 
-GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
+GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 SRCREV = "cf7f2d0125424ce0d63ddc7f1eadc9ef71d10db1"
 SRC_URI = " \
diff --git a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bbappend b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bbappend
index eb3a425523..baceb529b4 100644
--- a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bbappend
+++ b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bbappend
@@ -2,7 +2,7 @@ PV="1.16.2.imx"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
-GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
+GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969" 
 SRC_URI = " \
diff --git a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend
index 53e7da3a2d..688ea56d1d 100644
--- a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend
+++ b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bbappend
@@ -1,6 +1,6 @@
 PV="1.16.2.imx"
 
-GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
+GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 SRCREV = "6005e8199ea19878f269b058ffbbbcaa314472d8"
 
diff --git a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bbappend b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bbappend
index 29fef473e8..1c10b2c499 100644
--- a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bbappend
+++ b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bbappend
@@ -1,6 +1,6 @@
 PV="1.16.2.imx"
 # Use i.MX fork of GST for customizations
-GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
+GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 SRCREV = "8514bc61ccab208a65e387eab9347276a8e770e7" 
 SRC_URI = " \
diff --git a/meta-bsp/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb b/meta-bsp/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
index df36f00986..aa7ee3b64e 100644
--- a/meta-bsp/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
+++ b/meta-bsp/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.7.bb
@@ -20,7 +20,7 @@ RCONFLICTS_${PN} = "gst1.0-fsl-plugin"
 LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
                     file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
 
-IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https"
+IMXGST_SRC ?= "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https"
 SRCBRANCH = "MM_04.05.07_2011_L5.4.70"
 
 SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH} \
diff --git a/meta-bsp/recipes-security/optee-imx/optee-client.imx.inc b/meta-bsp/recipes-security/optee-imx/optee-client.imx.inc
index 7d9f8d2d37..98f4c4e243 100644
--- a/meta-bsp/recipes-security/optee-imx/optee-client.imx.inc
+++ b/meta-bsp/recipes-security/optee-imx/optee-client.imx.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
 
 inherit pythonnative systemd
 
-OPTEE_CLIENT_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-client.git;protocol=https"
+OPTEE_CLIENT_SRC ?= "git://github.com/nxp-imx/imx-optee-client.git;protocol=https"
 SRC_URI = "${OPTEE_CLIENT_SRC};branch=${SRCBRANCH}"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-bsp/recipes-security/optee-imx/optee-os.imx.inc b/meta-bsp/recipes-security/optee-imx/optee-os.imx.inc
index 8bb44fb62a..753d779fb9 100644
--- a/meta-bsp/recipes-security/optee-imx/optee-os.imx.inc
+++ b/meta-bsp/recipes-security/optee-imx/optee-os.imx.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
 inherit deploy python3native autotools
 DEPENDS = "python3-pycrypto-native python3-pyelftools-native u-boot-mkimage-native"
 
-OPTEE_OS_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-os.git;protocol=https"
+OPTEE_OS_SRC ?= "git://github.com/nxp-imx/imx-optee-os.git;protocol=https"
 SRC_URI = "${OPTEE_OS_SRC};branch=${SRCBRANCH}"
 
 S = "${WORKDIR}/git"
diff --git a/meta-bsp/recipes-security/optee-imx/optee-test.imx.inc b/meta-bsp/recipes-security/optee-imx/optee-test.imx.inc
index 10cd638094..2d4489dbab 100644
--- a/meta-bsp/recipes-security/optee-imx/optee-test.imx.inc
+++ b/meta-bsp/recipes-security/optee-imx/optee-test.imx.inc
@@ -12,7 +12,7 @@ DEPENDS = "optee-os optee-client python3-pycrypto-native openssl"
 
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
-OPTEE_TEST_SRC ?= "git://source.codeaurora.org/external/imx/imx-optee-test.git;protocol=https"
+OPTEE_TEST_SRC ?= "git://github.com/nxp-imx/imx-optee-test.git;protocol=https"
 
 SRC_URI = "${OPTEE_TEST_SRC};branch=${SRCBRANCH} \
 "
diff --git a/meta-bsp/recipes-support/opencv/opencv_4.4.0.imx.bb b/meta-bsp/recipes-support/opencv/opencv_4.4.0.imx.bb
index 77af844d03..8ddb7da8f2 100644
--- a/meta-bsp/recipes-support/opencv/opencv_4.4.0.imx.bb
+++ b/meta-bsp/recipes-support/opencv/opencv_4.4.0.imx.bb
@@ -13,7 +13,7 @@ SRC_URI_remove = " \
     git://github.com/opencv/opencv.git;name=opencv \
     file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
 "
-OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https"
+OPENCV_SRC ?= "git://github.com/nxp-imx/opencv-imx.git;protocol=https"
 SRCBRANCH = "4.4.0_imx"
 SRC_URI =+ "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv"
 SRC_URI += " \
diff --git a/meta-ml/recipes-libraries/arm-compute-library/arm-compute-library_git-imx.bb b/meta-ml/recipes-libraries/arm-compute-library/arm-compute-library_git-imx.bb
index bd2e484b26..a78c0e9586 100644
--- a/meta-ml/recipes-libraries/arm-compute-library/arm-compute-library_git-imx.bb
+++ b/meta-ml/recipes-libraries/arm-compute-library/arm-compute-library_git-imx.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2c2e6902c16b52c68b379cecc3fafad7 \
 
 PV = "20.02+git${SRCPV}"
 
-ARM_COMPUTELIBRARY_SRC ?= "git://source.codeaurora.org/external/imx/arm-computelibrary-imx.git;protocol=https"
+ARM_COMPUTELIBRARY_SRC ?= "git://github.com/nxp-imx/arm-computelibrary-imx.git;protocol=https"
 SRCBRANCH = "imx_5.4.70_2.3.0"
 
 SRC_URI = "${ARM_COMPUTELIBRARY_SRC};branch=${SRCBRANCH}"
diff --git a/meta-ml/recipes-libraries/armnn/armnn-onnx_git.bb b/meta-ml/recipes-libraries/armnn/armnn-onnx_git.bb
index 9c6c0b95de..c8c26cebae 100644
--- a/meta-ml/recipes-libraries/armnn/armnn-onnx_git.bb
+++ b/meta-ml/recipes-libraries/armnn/armnn-onnx_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "ONNX protobuf files - used in ARMNN for Caffe network models"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=077ce3eaeaea91462d41c566300d2a02"
 
-SRC_URI = "git://github.com/onnx/onnx.git"
+SRC_URI = "git://github.com/onnx/onnx.git;branch=main"
 
 PV = "1.3.0"
 
diff --git a/meta-ml/recipes-libraries/armnn/armnn_git.bb b/meta-ml/recipes-libraries/armnn/armnn_git.bb
index cbe38b4d4f..e3cd2a1509 100644
--- a/meta-ml/recipes-libraries/armnn/armnn_git.bb
+++ b/meta-ml/recipes-libraries/armnn/armnn_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3e14a924c16f7d828b8335a59da64074 \
 #PR = "r1"
 PV = "20.02"
 
-ARMNN_SRC ?= "git://source.codeaurora.org/external/imx/armnn-imx.git;protocol=https"
+ARMNN_SRC ?= "git://github.com/nxp-imx/armnn-imx.git;protocol=https"
 SRCBRANCH = "imx_5.4.70_2.3.0"
 SRCREV = "4e404141a95df3ad185b7c874fcf1bbb05c8a5fb"
 
diff --git a/meta-ml/recipes-libraries/nn-imx/nn-imx_1.1.9.bb b/meta-ml/recipes-libraries/nn-imx/nn-imx_1.1.9.bb
index 64a1eec393..9b6f2f90f6 100644
--- a/meta-ml/recipes-libraries/nn-imx/nn-imx_1.1.9.bb
+++ b/meta-ml/recipes-libraries/nn-imx/nn-imx_1.1.9.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bba6cdb9c2b03c849ed4975ed9ed90dc"
 
 DEPENDS = "imx-gpu-viv"
-NN-IMX_SRC ?= "git://source.codeaurora.org/external/imx/nn-imx.git;protocol=https"
+NN-IMX_SRC ?= "git://github.com/nxp-imx/nn-imx.git;protocol=https"
 SRCBRANCH = "imx_1.1.9"
 
 SRCREV = "5ab0dc215f146158807b440f33dab0ceec4b2713"
diff --git a/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.1.2.bb b/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.1.2.bb
index c751be85f6..17ba9b279e 100644
--- a/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.1.2.bb
+++ b/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.1.2.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=980784f0a7f667becbed133924b263bf"
 
 DEPENDS = "libpng zlib ${BPN}-native"
 
-ONNXRUNTIME_SRC ?= "gitsm://source.codeaurora.org/external/imx/onnxruntime-imx.git;protocol=https"
+ONNXRUNTIME_SRC ?= "gitsm://github.com/nxp-imx/onnxruntime-imx.git;protocol=https"
 SRCBRANCH = "imx_5.4.70_2.3.0"
 
 SRCREV = "d97de1d8c8d062e8cfb17fe60aafcff1f8482dd9"
diff --git a/meta-ml/recipes-libraries/tensorflow-lite/tensorflow-lite_2.3.1.bb b/meta-ml/recipes-libraries/tensorflow-lite/tensorflow-lite_2.3.1.bb
index 466aab1ab6..81a6ec352c 100644
--- a/meta-ml/recipes-libraries/tensorflow-lite/tensorflow-lite_2.3.1.bb
+++ b/meta-ml/recipes-libraries/tensorflow-lite/tensorflow-lite_2.3.1.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=64a34301f8e355f57ec992c2af3e5157"
 
 DEPENDS = "zlib unzip-native python3 python3-numpy-native python3-pip-native python3-wheel-native python3-pybind11-native"
 
-TENSORFLOW_LITE_SRC ?= "git://source.codeaurora.org/external/imx/tensorflow-imx.git;protocol=https"
+TENSORFLOW_LITE_SRC ?= "git://github.com/nxp-imx/tensorflow-imx.git;protocol=https"
 SRCBRANCH = "imx_5.4.70_2.3.0"
 
 SRC_URI = "${TENSORFLOW_LITE_SRC};branch=${SRCBRANCH}"
diff --git a/meta-sdk/recipes-connectivity/sigma-dut/sigma-dut_git.bb b/meta-sdk/recipes-connectivity/sigma-dut/sigma-dut_git.bb
index 24adf25f04..a40a64e4ba 100644
--- a/meta-sdk/recipes-connectivity/sigma-dut/sigma-dut_git.bb
+++ b/meta-sdk/recipes-connectivity/sigma-dut/sigma-dut_git.bb
@@ -3,7 +3,7 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://README;md5=cb7b88c5098324bb9a20d2a79d76327e"
 SECTION = "base"
 
-SRC_URI = "git://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/utils/sigma-dut;protocol=https;branch=github-qca/master; \
+SRC_URI = "git://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/utils/sigma-dut;protocol=https;branch=github-qca/master; \
            file://0001-Add-handling-of-DYN_BW_SGNL-command-for-AP-mode.patch \
            file://0001-Add-handling-of-DYN_BW_SGNL-command-for-DRIVER_LINUX.patch \
 "
diff --git a/meta-sdk/recipes-graphics/devil/devil_%.bbappend b/meta-sdk/recipes-graphics/devil/devil_%.bbappend
index e4d956e5a3..4d583a3a88 100644
--- a/meta-sdk/recipes-graphics/devil/devil_%.bbappend
+++ b/meta-sdk/recipes-graphics/devil/devil_%.bbappend
@@ -1,4 +1,4 @@
 # Use source package from CAF because of frequent fetch errors.
-SRC_URI_remove = "http://sourceforge.net/projects/openil/files/DevIL/${PV}/DevIL-${PV}.zip"
+#SRC_URI_remove = "http://sourceforge.net/projects/openil/files/DevIL/${PV}/DevIL-${PV}.zip"
 
-SRC_URI_prepend = "https://source.codeaurora.org/mirrored_source/external/imx/DevIL-${PV}.zip "
+#SRC_URI_prepend = "https://source.codeaurora.org/mirrored_source/external/imx/DevIL-${PV}.zip "
diff --git a/meta-sdk/recipes-graphics/libgpuperfcnt/gputop_6.4.3.p1.0.bb b/meta-sdk/recipes-graphics/libgpuperfcnt/gputop_6.4.3.p1.0.bb
index 5444d6cea6..d545ec0d2b 100644
--- a/meta-sdk/recipes-graphics/libgpuperfcnt/gputop_6.4.3.p1.0.bb
+++ b/meta-sdk/recipes-graphics/libgpuperfcnt/gputop_6.4.3.p1.0.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bcacc6777a7173f8b95b5d1e0ac341ae"
 
 DEPENDS = "libgpuperfcnt"
 
-GPUTOP_SRC ?= "git://source.codeaurora.org/external/imx/imx-gputop.git;protocol=https"
+GPUTOP_SRC ?= "git://github.com/nxp-imx/imx-gputop.git;protocol=https"
 SRCBRANCH = "release"
 SRC_URI = "${GPUTOP_SRC};branch=${SRCBRANCH} "
 SRCREV = "871e063863bf9f4d262588e62f863603a2c4d2d0" 
diff --git a/meta-sdk/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb b/meta-sdk/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
index de580dfb66..5893b43ae6 100644
--- a/meta-sdk/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
+++ b/meta-sdk/recipes-multimedia/tinycompress/tinycompress_1.1.6.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cf9105c1a2d4405cbe04bbe3367373a0"
 
 DEPENDS_append = " alsa-lib"
 
-SRC_URI = "git://git.alsa-project.org/tinycompress.git;protocol=git;branch=master \
+SRC_URI = "git://github.com/alsa-project/tinycompress.git;protocol=git;branch=master \
            file://0001-tinycompress-Add-id3-decoding.patch \
            file://0002-cplay-Support-wave-file.patch \
            file://0003-cplay-Add-pause-feature.patch \

@charles.huang
Thank you your reply.
But, I got errors bellow when attempt the patch above.

NOTE: Your conf/bblayers.conf has been automatically updated.
WARNING: /home/adv/adv-release-bsp/sources/meta-nxp-demo-experience/recipes-nxp-demo-experience/nxp-demo-experience/nxp-demo-experience_1.0.bb: Exception during build_dependencies for AUTOREV
WARNING: /home/adv/adv-release-bsp/sources/meta-nxp-demo-experience/recipes-nxp-demo-experience/nxp-demo-experience/nxp-demo-experience_1.0.bb: Error during finalise of /home/adv/adv-release-bsp/sources/meta-nxp-demo-experience/recipes-nxp-demo-experience/nxp-demo-experience/nxp-demo-experience_1.0.bb
ERROR: ExpansionError during parsing /home/adv/adv-release-bsp/sources/meta-nxp-demo-experience/recipes-nxp-demo-experience/nxp-demo-experience/nxp-demo-experience_1.0.bb
Traceback (most recent call last):
  File "/home/adv/adv-release-bsp/sources/poky/bitbake/lib/bb/fetch2/__init__.py", line 1167, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7fa5f7c70240>, d=<bb.data_smart.DataSmart object at 0x7fa5f6b95240>, name='nxp-demo-experience'):
         if srcrev == "AUTOINC":
    >        srcrev = ud.method.latest_revision(ud, d, name)
     
  File "/home/adv/adv-release-bsp/sources/poky/bitbake/lib/bb/fetch2/__init__.py", line 1562, in Git.latest_revision(ud=<bb.fetch2.FetchData object at 0x7fa5f7c70240>, d=<bb.data_smart.DataSmart object at 0x7fa5f6b95240>, name='nxp-demo-experience'):
             except KeyError:
    >            revs[key] = rev = self._latest_revision(ud, d, name)
                 return rev
  File "/home/adv/adv-release-bsp/sources/poky/bitbake/lib/bb/fetch2/git.py", line 631, in Git._latest_revision(ud=<bb.fetch2.FetchData object at 0x7fa5f7c70240>, d=<bb.data_smart.DataSmart object at 0x7fa5f6b95240>, name='nxp-demo-experience'):
             """
    >        output = self._lsremote(ud, d, "")
             # Tags of the form ^{} may not work, need to fallback to other form
  File "/home/adv/adv-release-bsp/sources/poky/bitbake/lib/bb/fetch2/git.py", line 620, in Git._lsremote(ud=<bb.fetch2.FetchData object at 0x7fa5f7c70240>, d=<bb.data_smart.DataSmart object at 0x7fa5f6b95240>, search=''):
                     bb.fetch2.check_network_access(d, cmd, repourl)
    >            output = runfetchcmd(cmd, d, True)
                 if not output:
  File "/home/adv/adv-release-bsp/sources/poky/bitbake/lib/bb/fetch2/__init__.py", line 884, in runfetchcmd(cmd='export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export PATH="/home/adv/adv-release-bsp/sources/poky/scripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/bin:/home/adv/adv-release-bsp/sources/poky/bitbake/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/hosttools"; export HOME="/home/adv"; git -c core.fsyncobjectfiles=0 ls-remote https://source.codeaurora.org/external/imxsupport/nxp-demo-experience ', d=<bb.data_smart.DataSmart object at 0x7fa5f6b95240>, quiet=True, cleanup=[], log=None, workdir=None):
     
    >        raise FetchError(error_message)
     
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export PATH="/home/adv/adv-release-bsp/sources/poky/scripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/usr/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/sbin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/work/aarch64-poky-linux/nxp-demo-experience/1.0-r0/recipe-sysroot-native/bin:/home/adv/adv-release-bsp/sources/poky/bitbake/bin:/home/adv/adv-release-bsp/imx8mprsb3720a1-robot-foxy/tmp/hosttools"; export HOME="/home/adv"; git -c core.fsyncobjectfiles=0 ls-remote https://source.codeaurora.org/external/imxsupport/nxp-demo-experience  failed with exit code 128, output:
fatal: unable to access 'https://source.codeaurora.org/external/imxsupport/nxp-demo-experience/': Could not resolve host: source.codeaurora.org

I can build out the full image with the patch and you might need to update your manifests also.

<   <remote fetch="https://source.codeaurora.org/external/imx" name="CAF"/>
---
>   <remote fetch="https://github.com/nxp-imx" name="nxp-imx"/>
9c9
<   <remote fetch="https://source.codeaurora.org/external/imxsupport" name="imx-support"/>
---
>   <remote fetch="https://github.com/nxp-imx-support" name="imx-support"/>
31c31
<   <project dest-branch="refs/tags/rel_imx_5.4.70_2.3.0" name="meta-imx" path="sources/meta-imx" remote="CAF" revision="63665ab70ca609451533101cded2a620b340768c" upstream="zeus-5.4.70-2.3.0">
---
>   <project dest-branch="refs/tags/rel_imx_5.4.70_2.3.0" name="meta-imx" path="sources/meta-imx" remote="nxp-imx" revision="63665ab70ca609451533101cded2a620b340768c" upstream="zeus-5.4.70-2.3.0">
34c34
<   <project name="meta-nxp-demo-experience" path="sources/meta-nxp-demo-experience" remote="imx-support" revision="c7263d9f3cc7bbf44e7164ffeda494cf283d3dec" upstream="zeus-5.4.24-2.1.0"/>
---
>   <project name="meta-nxp-demo-experience" path="sources/meta-nxp-demo-experience" remote="imx-support" revision="03904c493469907a2829cf29df7ab060f9c664a6" upstream="zeus-5.4.24-2.1.0"/>
1 Like

@charles.huang
I applied the above patch and the build was successful.
Thank you for your help!