Template:Yocto Build Release IMX: Difference between revisions
From Variscite Wiki
No edit summary |
No edit summary |
||
(32 intermediate revisions by 4 users not shown) | |||
Line 11: | Line 11: | ||
-->{{#vardefine:UBUNTU_COMPAT|{{#ifeq:{{#var:YOCTO_NAME}}|Zeus|18.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | -->{{#vardefine:UBUNTU_COMPAT|{{#ifeq:{{#var:YOCTO_NAME}}|Zeus|18.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | ||
-->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 3.1|18.04/20.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | -->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 3.1|18.04/20.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | ||
-->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 4.0|18.04/20.04/22.04|{{#var:UBUNTU_COMPAT}}}}}} | -->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 4.0|18.04/20.04/22.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | ||
-->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 4.2|20.04/22.04|{{#var:UBUNTU_COMPAT}}}}}} | |||
= Installing required packages = | = Installing required packages = | ||
Line 18: | Line 19: | ||
Then, install the following packages: | Then, install the following packages: | ||
{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}| | |||
$ sudo apt-get install python3 python3-pip python3-pexpect \ | |||
python3-git python3-jinja2 python3-subunit python3-git liblz4-tool \ | |||
python3-jinja2 python3-subunit curl zstd | |||
For Ubuntu 20.04 and earlier, install python2: | |||
$ sudo apt-get install python python-pysqlite2 | |||
{{#ifexpr:{{#rpos:{{#var:UBUNTU_COMPAT}}|16.04}} >= 0|{{Ubuntu16_Python}}|}}<!-- | |||
-->{{#ifexpr:{{#rpos:{{#var:UBUNTU_COMPAT}}|22.04}} >= 0|{{Ubuntu22_Python}}|}} | |||
Install Docker: | |||
$ sudo apt update && sudo apt install docker.io qemu-user-static | |||
Give permissions to run Docker without sudo: | |||
$ sudo usermod -aG docker ${USER} | |||
{{Note|'''Note:''' Logout and login again for permissions to take effect.}} | |||
| | |||
$ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \ | $ sudo apt-get install gawk wget git diffstat unzip texinfo gcc-multilib \ | ||
Line 31: | Line 54: | ||
{{#ifexpr: {{#var:YOCTO_VERSION}} >= 3.1| | {{#ifexpr: {{#var:YOCTO_VERSION}} >= 3.1| | ||
$ sudo apt-get install python3-git | $ sudo apt-get install python3-git liblz4-tool python3-jinja2 python3-subunit locales libacl1 | ||
| | | | ||
$ sudo apt-get install python-git | $ sudo apt-get install python-git | ||
Line 44: | Line 67: | ||
{{Note|'''Note:''' Variscite provides Docker containers that can be used for a development environment as an alternative to using a virtual machine or a dedicated computer. | {{Note|'''Note:''' Variscite provides Docker containers that can be used for a development environment as an alternative to using a virtual machine or a dedicated computer. | ||
To learn more, please see Variscite's [[Docker_Build_Environment | Docker Build Environment]] guide.}} | To learn more, please see Variscite's [[Docker_Build_Environment | Docker Build Environment]] guide.}} | ||
}} | |||
= Reference documentation = | = Reference documentation = | ||
Line 62: | Line 86: | ||
# For Ubuntu 20.04 and older, install repo 2.32 according to https://gerrit.googlesource.com/git-repo/+/HEAD/docs/python-support.md: | # For Ubuntu 20.04 and older, install repo 2.32 according to https://gerrit.googlesource.com/git-repo/+/HEAD/docs/python-support.md: | ||
$ curl https://commondatastorage.googleapis.com/git-repo-downloads/2.32 > ~/bin/repo | $ curl https://commondatastorage.googleapis.com/git-repo-downloads/repo-2.32 > ~/bin/repo | ||
# For Ubuntu 22.04 and newer, install the latest repo tool: | # For Ubuntu 22.04 and newer, install the latest repo tool: | ||
Line 88: | Line 112: | ||
or<br> | or<br> | ||
<br> | <br> | ||
* | * Download a release tag<br> | ||
Each release in https://github.com/varigit/variscite-bsp-platform/releases corresponds to a tag.<br> | Each release in https://github.com/varigit/variscite-bsp-platform/releases corresponds to a tag.<br> | ||
The tags are also listed in https://github.com/varigit/variscite-bsp-platform/tags<br> | The tags are also listed in https://github.com/varigit/variscite-bsp-platform/tags<br> | ||
Line 101: | Line 125: | ||
$ repo init -u https://github.com/varigit/variscite-bsp-platform.git -b refs/tags/{{#var:RELEASE_NAME}} | $ repo init -u https://github.com/varigit/variscite-bsp-platform.git -b refs/tags/{{#var:RELEASE_NAME}} | ||
$ repo sync -j$(nproc) | $ repo sync -j$(nproc) | ||
}} | |||
{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}| | |||
Start a Ubuntu Docker container: | |||
$ ./var-start-container.sh {{Note|'''Note:''' After Ubuntu Docker container is started you can see the shell prompt similar to: '''vari@yocto-{{#var:DOCKER_CONTAINER_INFO}}:/workdir$''' | |||
All references to commands without this prompt should be executed in a native terminal (outside Docker). | |||
}} | |||
}} | }} | ||
Line 128: | Line 160: | ||
|}} | |}} | ||
}} | }} | ||
See the list of Yocto Project’s reference images in [ | See the list of Yocto Project’s reference images in [https://www.yoctoproject.org/docs/{{#var:YOCTO_VERSION}}/ref-manual/ref-manual.html#ref-images Yocto Project Reference Manual] | ||
== Supported distros == | == Supported distros == | ||
Line 172: | Line 204: | ||
{{#lst:Yocto_Platform_Customization|YOCTO_ENV_SETUP_X}} | {{#lst:Yocto_Platform_Customization|YOCTO_ENV_SETUP_X}} | ||
{{#lst:Yocto_Platform_Customization|YOCTO_ENV_SETUP_X_SHORT}} | {{#lst:Yocto_Platform_Customization|YOCTO_ENV_SETUP_X_SHORT}} | ||
{{#vardefine:SHELL_PROMPT|{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}|vari@yocto-{{#var:DOCKER_CONTAINER_INFO}}:/workdir/{{#var:BUILD_FOLDER_ENV}}$|$}}}} | |||
{{#var:GITHUB_WARNING}} | {{#var:GITHUB_WARNING}} | ||
<br> | <br> | ||
Line 179: | Line 212: | ||
Without Qt content: | Without Qt content: | ||
{{#var:SHELL_PROMPT}} bitbake fsl-image-gui | |||
{{#if:{{#var:YOCTO_SUPPORT_CHROMIUM}}| | {{#if:{{#var:YOCTO_SUPPORT_CHROMIUM}}| | ||
Or with Chromium: | Or with Chromium: | ||
{{#var:SHELL_PROMPT}} bitbake fsl-image-gui-chromium | |||
|}} | |}} | ||
Or with Qt content: | Or with Qt content: | ||
{{#var:SHELL_PROMPT}} bitbake fsl-image-qt{{#var:QT_VER}} | |||
{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9= | {{#switch: {{#var:SOC_SERIES}} | imx8 | imx9= | ||
Line 363: | Line 396: | ||
In order to update the kernel, U-Boot and rootfs: | In order to update the kernel, U-Boot and rootfs: | ||
{{#var:SHELL_PROMPT}} bitbake -c cleanall u-boot-variscite linux-variscite kernel-module-imx-gpu-viv ti-compat-wireless-wl18xx wl18xx-firmware cryptodev-module | |||
for GUI image | for GUI image | ||
{{#var:SHELL_PROMPT}} bitbake -c clean fsl-image-gui | |||
for Qt{{#var:QT_VER}} image | for Qt{{#var:QT_VER}} image | ||
{{#var:SHELL_PROMPT}} bitbake -c clean fsl-image-qt{{#var:QT_VER}} | |||
{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9= | {{#switch: {{#var:SOC_SERIES}} | imx8 | imx9= |