Template:Yocto Build Release IMX: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
 
(19 intermediate revisions by the same user not shown)
Line 14: Line 14:
-->{{#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}}}}}}


{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}|
|
= 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 21: 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 48: Line 68:
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 109: Line 130:
Start a Ubuntu Docker container:
Start a Ubuntu Docker container:


  $ ./var-start-container.sh
  $ ./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$'''.}}
}}
}}


Line 178: Line 199:
|}}
|}}


{{#if:{{#var:BUILD_YOCTO_IN_DOCKER_CONTAINER}}|
Build a Yocto image in the container:
vari@474da3a440cf:/workdir$ MACHINE={{#var:MACHINE_NAME}} DISTRO=fsl-imx-xwayland . var-setup-release.sh build_xwayland
|
== {{#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@yocto-{{#var:DOCKER_CONTAINER_INFO}}:/workdir/{{#var:BUILD_FOLDER_ENV}}$|$}}}}
{{#var:GITHUB_WARNING}}
{{#var:GITHUB_WARNING}}
}}
<br>
<br>
Optional steps: [[#local.conf customization|local.conf customization]]
Optional steps: [[#local.conf customization|local.conf customization]]
Line 193: Line 210:


  Without Qt content:
  Without Qt content:
  $ bitbake fsl-image-gui
  {{#var:SHELL_PROMPT}} bitbake fsl-image-gui
  {{#if:{{#var:YOCTO_SUPPORT_CHROMIUM}}|
  {{#if:{{#var:YOCTO_SUPPORT_CHROMIUM}}|
  Or with Chromium:
  Or with Chromium:
  $ bitbake fsl-image-gui-chromium
  {{#var:SHELL_PROMPT}} bitbake fsl-image-gui-chromium
   
   
|}}
|}}
  Or with Qt content:
  Or with Qt content:
  $ bitbake fsl-image-qt{{#var:QT_VER}}
  {{#var:SHELL_PROMPT}} bitbake fsl-image-qt{{#var:QT_VER}}


{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9=
{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9=
Line 377: Line 394:


  In order to update the kernel, U-Boot and rootfs:
  In order to update the kernel, U-Boot and rootfs:
  $ bitbake -c cleanall u-boot-variscite linux-variscite kernel-module-imx-gpu-viv ti-compat-wireless-wl18xx wl18xx-firmware cryptodev-module
  {{#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
  $ bitbake -c clean fsl-image-gui
  {{#var:SHELL_PROMPT}} bitbake -c clean fsl-image-gui
  for Qt{{#var:QT_VER}} image
  for Qt{{#var:QT_VER}} image
  $ bitbake -c clean fsl-image-qt{{#var:QT_VER}}
  {{#var:SHELL_PROMPT}} bitbake -c clean fsl-image-qt{{#var:QT_VER}}


{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9=
{{#switch: {{#var:SOC_SERIES}} | imx8 | imx9=

Latest revision as of 21:54, 28 October 2024