Template:Yocto Build Release IMX: Difference between revisions
From Variscite Wiki
No edit summary |
No edit summary |
||
(24 intermediate revisions by 3 users not shown) | |||
Line 12: | Line 12: | ||
-->{{#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}}}}}} | -->{{#vardefine:UBUNTU_COMPAT|{{#ifexpr: {{#var:YOCTO_VERSION}} >= 4.2|20.04/22.04|{{#var:UBUNTU_COMPAT}}}}}}<!-- | ||
-->{{#vardefine:UBUNTU_COMPAT|{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}|18.04/20.04/22.04/24.04|{{#var:UBUNTU_COMPAT}}}}}} | |||
= Installing required packages = | = Installing required packages = | ||
Please make sure your host PC is running Ubuntu {{#var:UBUNTU_COMPAT}} 64-bit and is up to date: | Please make sure your host PC is running Ubuntu {{#var:UBUNTU_COMPAT}} 64-bit and is up to date: | ||
Line 22: | Line 20: | ||
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}}|}}<!-- | |||
-->{{#ifexpr:{{#rpos:{{#var:UBUNTU_COMPAT}}|24.04}} >= 0|{{Ubuntu24_Docker}}|}} | |||
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} | |||
# Logout and login again for the 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 49: | Line 67: | ||
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 = | ||
{{#lst:Yocto_Platform_Customization|YOCTO_DOC_{{#var:YOCTO_VERSION}}}} <!-- | {{#lst:Yocto_Platform_Customization|YOCTO_DOC_{{#var:YOCTO_VERSION}}}} <!-- | ||
Line 110: | Line 129: | ||
Start a Ubuntu 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@ | $ ./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 178: | Line 199: | ||
}} | }} | ||
|}} | |}} | ||
== {{#ifeq: {{#var:BUILD_FOLDER_X11}} | build_x11 | Build X11 | Build XWayland }} GUI demo image == | == {{#ifeq: {{#var:BUILD_FOLDER_X11}} | build_x11 | Build X11 | Build XWayland }} GUI demo image == | ||
{{#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@ | {{#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 231: | Line 250: | ||
Create a /opt/yocto_downloads directory and set its permissions: | Create a /opt/yocto_downloads directory and set its permissions: | ||
{{#var:SHELL_PROMPT}} sudo mkdir /opt/yocto_downloads | |||
{{#var:SHELL_PROMPT}} sudo chmod 777 /opt/yocto_downloads/ | |||
Direct downloads to it, by replacing 'DL_DIR ?= "${BSPDIR}/downloads/"' with 'DL_DIR = "/opt/yocto_downloads/"' in conf/local.conf under your build directory: | Direct downloads to it, by replacing 'DL_DIR ?= "${BSPDIR}/downloads/"' with 'DL_DIR = "/opt/yocto_downloads/"' in conf/local.conf under your build directory: | ||
{{#var:SHELL_PROMPT}} sed -i 's/DL_DIR ?= "${BSPDIR}\/downloads/DL_DIR = "\/opt\/yocto_downloads/g' conf/local.conf | |||
=== Add Qt creator and Eclipse debug support to your images === | === Add Qt creator and Eclipse debug support to your images === | ||
Line 376: | Line 391: | ||
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= |