custom wic partition layout not reflected in tezi image build

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


To configure your custom partition layout in Yocto build, you need to properly override the Tezi image type configuration. The issue is that your bbappend file isn’t correctly disabling the default Tezi behavior that creates separate rootfs and bootfs tarballs.

Solution: Modify Your bbappend Configuration

Based on the Toradex documentation, you need to set the TEZI_USE_BOOTFILES variable to control the boot partition creation (1). Here’s the corrected bbappend configuration:

# Add our kiosk launcher
IMAGE_INSTALL:append = " display-qr-launch"

# Remove Toradex auto-launch system entirely
APP_LAUNCH_WAYLAND = ""
IMAGE_INSTALL:remove = " wayland-qtdemo-launch-cinematicexperience"
IMAGE_INSTALL:remove = " wayland-qtdemo-launch-analogclock"
IMAGE_INSTALL:remove = " wayland-qtdemo-launch-qtsmarthome"
IMAGE_INSTALL:remove = " wayland-terminal-launch"

# Enable WIC formats and disable default Tezi behavior
IMAGE_FSTYPES += " wic wic.bz2 teziimg"

# Critical: Disable default boot partition creation
TEZI_USE_BOOTFILES = "false"

# Override WIC to use Lokbest partition layout
WKS_FILE = "lokbest-partition-image.wks"
WKS_FILES = "lokbest-partition-image.wks"

# Override Tezi JSON to use raw WIC installer
TEZI_IMAGE_JSON = "${THISDIR}/images/lokbest-tezi-image.json"

# Turn off default rootfs/bootfs tarballs completely
TEZI_DEFAULT_BOOTFS = ""
TEZI_DEFAULT_ROOTFS = ""

(2)

Key Changes Needed

  1. Set TEZI_USE_BOOTFILES = "false" - This boolean within the image_type_tezi.bbclass removes the boot partition and ensures your WIC layout is used instead (2).

  2. Simplify WKS variable assignments - Remove the ${IMAGE_BASENAME} suffixes as they may be causing conflicts.

  3. Ensure your WIC file path is correct - Make sure the WKS_FILES_DIR points to the right location.

Update Your WIC File

Your WIC file looks correct, but ensure the boot partition source is appropriate for your setup:

part /boot --source bootimg-efi --sourceparams "loader=u-boot" --ondisk mmcblk2 --fstype=vfat --label BOOT --size 64M
part / --source rootfs --ondisk mmcblk2 --fstype=ext4 --label rootfs_A --size 2048M
part /rootfsB --source blank --ondisk mmcblk2 --fstype=ext4 --label rootfs_B --size 2048M
part /factory --source blank --ondisk mmcblk2 --fstype=ext4 --label factory --size 2048M
part /recovery --source blank --ondisk mmcblk2 --fstype=ext4 --label recovery --size 512M
part /data --source blank --ondisk mmcblk2 --fstype=ext4 --label data --size 0
bootloader --ptable gpt

Verify Build Output

After making these changes, your Tezi tar should contain:

  • Your custom lokbest-tezi-image.json
  • The WIC image file (.wic.bz2)
  • Boot files (imx-boot, u-boot-initial-env-sd)
  • No separate rootfs/bootfs tarballs

The key insight from the community discussion is that TEZI_USE_BOOTFILES = "false" is essential to prevent the default Tezi image type from creating separate boot and rootfs partitions, allowing your custom WIC layout to take effect (2).

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.