Hi,
I try to create the separate partition as dual bootload and dual rootfs and some partition for also need the factory.
By manually partition separation is done by the cmdline inside the device terminal shell it was working good, but I need to implement in the yocto build to affect .wks in the wic tool at the build instead of the toradex default rootfs and bootfs are creating while I update the json, image tdx append file not affecting at the build tar.
only the toradex default rootfs and bootfs are created at the build succes, Instead of I need my custom partiton need to affect in the emmc at the SD card has the OS booting time and at the build the tar folder needs my custion partition in after the build success.
Device Info:
Software summary
------------------------------------------------------------
Bootloader: U-Boot
Kernel version: 6.6.101-7.5.0-devel #1 SMP PREEMPT Mon Oct 27 12:24:20 UTC 2025
Kernel command line: root=PARTUUID=f7e4900a-02 ro rootwait console=tty1 console=ttymxc2,115200 quiet loglevel=0 vt.global_cursor_default=0 vt.default_redraw=0
Distro name: NAME="TDX Wayland with XWayland"
Distro version: VERSION_ID=7.5.0-devel-20251114145026-build.0
Distro variant: -
Hostname: verdin-imx8mp-15722244
------------------------------------------------------------
Hardware info
------------------------------------------------------------
HW model: Toradex Verdin iMX8M Plus WB on Verdin Development Board
Toradex version: 0070 V1.1A
Serial number: 15722244
Processor arch: aarch64
------------------------------------------------------------
Wic and Recipe bbappend File:
hari@Administrator:~/oe-core/layers/meta-lokbest/wic$ ls
lokbest-partition-image.wks
hari@Administrator:~/oe-core/layers/meta-lokbest/wic$ cat lokbest-partition-image.wks
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
hari@Administrator:~/oe-core/layers/meta-lokbest/wic$ cd ../recipes-images/
hari@Administrator:~/oe-core/layers/meta-lokbest/recipes-images$ ls
images
hari@Administrator:~/oe-core/layers/meta-lokbest/recipes-images$ tree .
.
└── images
├── lokbest-tezi-image.json
├── tdx-reference-multimedia-image.bbappend
└── tdx-reference-multimedia-image.bbappend.bkp
1 directory, 3 files
hari@Administrator:~/oe-core/layers/meta-lokbest/recipes-images$ cat images/lokbest-tezi-image.json
{
"config_format": "4",
"autoinstall": false,
"name": "Lokbest Firmware",
"description": "Lokbest Partitioned Firmware with A/B OTA + Factory + Recovery + Data",
"version": "1.0.0",
"release_date": "2026-01-13",
"supported_product_ids": [ "0063" ],
"blockdevs": [
{
"name": "emmc-boot0",
"erase": true,
"content": {
"filesystem_type": "raw",
"rawfiles": [
{ "filename": "imx-boot", "dd_options": "seek=0" }
]
}
},
{
"name": "emmc",
"content": {
"filesystem_type": "raw",
"rawimages": [
{
"filename": "${IMAGE_NAME}.wic.bz2",
"compressed": "bz2",
"dd_options": "of=/dev/mmcblk2 bs=4M"
}
]
}
}
],
"prepare_script": "prepare.sh",
"wrapup_script": "wrapup.sh",
"icon": "toradexlinux.png",
"marketing": "marketing.tar",
"license": "LA_OPT_NXP_SW.html",
"u_boot_env": "u-boot-initial-env-sd"
}
hari@Administrator:~/oe-core/layers/meta-lokbest/recipes-images$ cat images/tdx-reference-multimedia-image.bbappend
# 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
IMAGE_FSTYPES += " wic wic.bz2 teziimg"
# Override WIC to use Lokbest partition layout
WKS_FILE:${IMAGE_BASENAME} = "lokbest-partition-image.wks"
WKS_FILES:${IMAGE_BASENAME} = "lokbest-partition-image.wks"
WKS_FILES_DIR:${IMAGE_BASENAME} = "${LAYERDIR}/wic"
WKS_FILE_CHECKSUM:${IMAGE_BASENAME} = ""
# Override Tezi JSON to use raw WIC installer
TEZI_IMAGE_JSON:${IMAGE_BASENAME} = "${THISDIR}/images/lokbest-tezi-image.json"
# Turn off default rootfs/bootfs tarballs
TEZI_DEFAULT_BOOTFS = ""
TEZI_DEFAULT_ROOTFS = ""
Tar Build not reflected the Layout changes:
hari@Administrator:~/oe-core/build/deploy/images/verdin-imx8mp$ tar -xvf Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0.tar -C tezi_image/.
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/toradexlinux.png
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/marketing.tar
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/prepare.sh
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/wrapup.sh
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/LA_OPT_NXP_SW.html
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/image.json
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/Reference-Multimedia-Image-verdin-imx8mp.rootfs.tar.xz
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/Reference-Multimedia-Image-verdin-imx8mp.rootfs.bootfs.tar.xz
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/u-boot-initial-env-sd
Verdin-iMX8MP_Reference-Multimedia-Image-Tezi_7.5.0-devel-20260120100419+build.0/imx-boot
hari@Administrator:~/oe-core/build/deploy/images/verdin-imx8mp$
I need the help and suggestion to build the custom partition through the yocto build and while boot the device it need to create with the custom partition instead of the default toradex rootfs and bootfs.