Google Repo

To simplify fetching sources and setting up the Yocto build environment we have decided to use the Google repo tool, which allows fetching sources from multiple location in a single command based on manifest files (xml).

Google repo is widely used within the Yocto community and we have simply adopted the “best practice” for Mender integrations.

The following is a one time installation of Google repo.

Create directory for repo

mkdir ${HOME}/bin

Fetch the repo script

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ${HOME}/bin/repo

Set the executable bit

chmod a+x ${HOME}/bin/repo

You should also add the following to your .bashrc or equivalent, for convenience.

PATH=${PATH}:~/bin

Troubleshooting

Git user configuration

The repo tool is a wrapper for git and it will print out an error if you have not setup your git identity. You can do this by simply running:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

This will store the configuration globally ($HOME/.gitconfig) and is only required to setup once.

missing python

The repo tool depends on availability of python on the system, e.g Ubuntu 18.04.2 LTS comes with python3 installed by default but not python; to install:

sudo apt install -y python

git color

It is also useful setting your git color preference, which avoids having git ask for your preference when running repo for the first time:

git config --global color.ui false
1 Like
Raspberry Pi 3 Model B/B+
Asus Tinker Board
Renesas R-Car M3 Starter Kit Pro
OrangePi PC Plus
Raspberry Pi 0 Wifi
BeagleBone Black
OrangePi Zero
UP Squared (UP2)
MinnowBoard Turbot
Toradex Colibri iMX7 Dual 512MB / Colibri iMX7 Solo 256MB
Toradex Colibri iMX7 Dual 1GB
Compulab CL-SOM-iMX6
Technexion PICO-PI-IMX7
Boundary Devices - Nitrogen6X
Raspberry Pi Compute Module 3
NXP WaRP7
Microchip SAMA5d27-SOM1-EK1
Updating Raspberry Pi boot firmware files using Yocto Project and Mender
[INCOMPLETE] i.MX 6ULL EVK
96Boards - Poplar
Intel® NUC
Microchip SAMA5D3 Xplained
Running Mender together with Automotive Grade Linux (AGL)
NXP® i.MX 8MQuad Evaluation Kit
NXP® i.MX 8M Mini Evaluation Kit
SolidRun ClearFog Base
Boundary Devices - Nitrogen8m
Technexion PICO-IMX7D SOM
Variscite VAR-SOM-SOLO
Compulab CL-SOM-iMX8
[INCOMPLETE] Xilinx Zynq 7000
Giada VM23
QEMU, the FAST! processor emulator
Variscite DART-6UL
Hardkernel ODROID-C2
Compulab CL-SOM-iMX7
Raspberry Pi 4 Model B
[ Topic template - Yocto Project ]
How to do delta updates with Raspberry Pi 3
Embedded Artists iMX8M Nano uCOM
Solidrun Clearfog Pro
NXP i.MX7D Sabre
Toradex Verdin iMX8M Plus
How to manage your Qt based embedded Linux device with Mender (Colibri iMX7)
DART-MX8M : NXP i.MX8M
STM32MP157C Discovery Kit
Google Coral Dev Board
Variscite VAR-SOM-MX8M-MINI : NXP i.MX 8M Mini
Variscite VAR-SOM-MX8M-NANO : NXP i.MX 8M Nano
Toradex NXP® i.MX 6 Computer on Module - Apalis iMX6
Toradex Verdin iMX8M Mini
Toradex Colibri i.MX6ULL
Technexion PICO-IMX8M
TechNexion PICO-PI-IMX8M-MINI
NXP® i.MX 8MNano Evaluation Kit
NXP® i.MX 6 Ultra Lite Evaluation Kit
Toradex Apalis i.MX8
Embedded Artists iMX8M Quad COM
NanoPi M1 Plus

When source controlling a project with repo - what is the best practice for .gitignore with .repo? Running into file size issues when attempting to source control .repo/project-objects

Hi @tiny-dancer,

usually anything .repo is just completely ignored in git. Having said that, unless you have specific needs to stick with repo, check out the kas utility which is usually a better fit for managing Yocto builds. We will actively support it in the near future.

Greetz,
Josef

1 Like