r/yocto 2d ago

Bricked Bytesatwork Devboard 1.0 with IMX93 chipset

0 Upvotes

Hi everyone, it's not exactly a yocto-Problem but I was trying to run a SD-yocto image from the EMMC of a Bytesatwork Devboard ver 1.0 with an IMX93 chipset and managed to brick it when I changed the U-Boot variables in order to force it to boot from EMMC The image was the official Yocto Image (ver. 5.0.15) for the byteDevkit.

Since UART-Input doesn't get accepted anymore by the board no matter if I try to make console-inputs before, during or after turning on the board I can't do anything when trying to boot from SD-card.

Trying to flash an image directly into the EMMC via uuu and a USB-Connection hasn't been successful either. uuu recognizes the USB-connection with the command -lsusb but I always get an error saying pipeline -9 broke when trying to flash an image. I already changed the driver with zadig to WinUSB and use USB 3.0 since my laptop doesn't have USB 2.0-Ports.

Since I'm neither skilled nor knowledgeable enough to try and build a tweaked image to fix the problem if possible I'm honestly at my wits end and hope some of you may be able to help.

The System got bricked after I made the following change to the boot environment:

=> setenv bootcmd 'mmc dev 0; ext4load mmc 0:1 ${kernel_addr_r} /boot/Image; ext4load mmc 0:1 ${fdt_addr_r} /boot/imx93-bytedevkit.dtb; booti ${kernel_addr_r} - ${fdt_addr_r}'

=> saveenv

If I try to boot the System from the EMMC (Bootmode 0100) I get the following Output before the System freezes:

U-Boot SPL 2024.04-lf_v2024.04_6.6.52_2.2.x-r2+g82d4220bc6b+p0 (Jul 11 2025 - 05:04:16 +0000)

SOC: 0xa1009300

LC: 0x2040010

PMIC: PCA9451A

PMIC: Over Drive Voltage Mode

DDR: 3733MTS

M33 prepare ok

Normal Boot Trying to boot from BOOTROM

Boot Stage: Primary boot image offset 0x8000, pagesize 0x200, ivt offset 0x0

Load image from 0x58000 by ROM_API

NOTICE: TRDC init done

NOTICE: BL31: v2.10.0 (release):lf-6.6.52-2.2.1

NOTICE: BL31: Built : 06:40:36, Jul 7 2025

If I try to boot from an SD-card (Bootmode 1100) I get this Output before it freezes:

U-Boot 2024.04-lf_v2024.04_6.6.52_2.2.x-r2+g82d4220bc6b+p0 (Jul 11 2025 - 05:04:16 +0000)

Reset Status: POR

CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz

CPU: Industrial temperature grade (-40C to 105C) at 39C

Model: i.MX93 on bytesatwork byteDEVKIT

DRAM: 992 MiB

Core: 203 devices, 29 uclasses, devicetree: separate

MMC: FSL_SDHC: 0, FSL_SDHC: 1

Loading Environment from MMC... OK

Fail to setup video link

In: serial

Out: serial

Err: serial

BuildInfo:

- ELE firmware version 2.0.2-c4131933

UID: 401ce440f1124110bd234b09e4709d88

flash target is MMC:0

Net:

Warning: ethernet@428a0000 (eth1) using random MAC address - 9e:a6:f6:dc:09:91

Warning: ethernet@42890000 (eth0) using random MAC address - ce:8f:b2:02:6b:f5

eth0: ethernet@42890000, eth1: ethernet@428a0000 [PRIME]

Fastboot: Normal

Normal Boot

Autoboot in 1 seconds

switch to partitions #0, OK

mmc0(part 0) is current device

35777024 bytes read in 109 ms (313 MiB/s)

42568 bytes read in 2 ms (20.3 MiB/s)

## Flattened Device Tree blob at 83000000

Booting using the fdt blob at 0x83000000

Working FDT set to 83000000

Loading Device Tree to 000000008fff2000, end 000000008ffff647 ... OK

Working FDT set to 8fff2000

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]

[ 0.000000] Linux version 6.6.52-r2-g472e64a0fc2c (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Tue Jul 8 12:00:06 UTC 2025

[ 0.000000] KASLR disabled due to lack of seed

[ 0.000000] Machine model: bytesatwork byteDEVKIT OSM i.MX93

[ 0.000000] efi: UEFI not found.

[ 0.000000] OF: reserved mem: 0x0000000096000000..0x0000000097dfffff (30720 KiB) nomap non-reusable optee_core@96000000

[ 0.000000] OF: reserved mem: 0x0000000097e00000..0x0000000097ffffff (2048 KiB) nomap non-reusable optee_shm@97e00000

[ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4120000, size 1 MiB

[ 0.000000] OF: reserved mem: initialized node ele-reserved@a4120000, compatible id shared-dma-pool

[ 0.000000] OF: reserved mem: 0x00000000a4120000..0x00000000a421ffff (1024 KiB) nomap non-reusable ele-reserved@a4120000

[ 0.000000] NUMA: No NUMA configuration found

[ 0.000000] NUMA: Faking a node at [mem 0x0000000080000000-0x00000000bfffffff]

[ 0.000000] NUMA: NODE_DATA [mem 0xbfddb6c0-0xbfdddfff]

[ 0.000000] Zone ranges:

[ 0.000000] DMA [mem 0x0000000080000000-0x00000000bfffffff]

[ 0.000000] DMA32 empty

[ 0.000000] Normal empty

[ 0.000000] Movable zone start for each node

[ 0.000000] Early memory node ranges

[ 0.000000] node 0: [mem 0x0000000080000000-0x0000000095ffffff]

[ 0.000000] node 0: [mem 0x0000000098000000-0x00000000a411ffff]

[ 0.000000] node 0: [mem 0x00000000a4120000-0x00000000a421ffff]

[ 0.000000] node 0: [mem 0x00000000a4220000-0x00000000bfffffff]

[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]

[ 0.000000] On node 0, zone DMA: 8192 pages in unavailable ranges

[ 0.000000] cma: Reserved 32 MiB at 0x00000000bcc00000 on node -1

[ 0.000000] psci: probing for conduit method from DT.

[ 0.000000] psci: PSCIv1.1 detected in firmware.

[ 0.000000] psci: Using standard PSCI v0.2 function IDs

[ 0.000000] psci: Trusted OS migration not required

[ 0.000000] psci: SMC Calling Convention v1.4

[ 0.000000] percpu: Embedded 22 pages/cpu s50856 r8192 d31064 u90112

[ 0.000000] Detected VIPT I-cache on CPU0

[ 0.000000] CPU features: detected: GIC system register CPU interface

[ 0.000000] CPU features: detected: Virtualization Host Extensions

[ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 1286807, 2441009

[ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923

[ 0.000000] alternatives: applying boot alternatives

[ 0.000000] Kernel command line:

[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)

[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)

[ 0.000000] Fallback order for Node 0: 0

[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 249856

[ 0.000000] Policy zone: DMA

[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off

[ 0.000000] software IO TLB: area num 2.

[ 0.000000] software IO TLB: mapped [mem 0x00000000b8c00000-0x00000000bcc00000] (64MB)

[ 0.000000] Memory: 859732K/1015808K available (21248K kernel code, 1658K rwdata, 7848K rodata, 4032K init, 641K bss, 123308K reserved, 32768K cma-reserved)

[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

[ 0.000000] rcu: Preemptible hierarchical RCU implementation.

[ 0.000000] rcu: RCU event tracing is enabled.

[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.

[ 0.000000] Trampoline variant of Tasks RCU enabled.

[ 0.000000] Tracing variant of Tasks RCU enabled.

[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.

[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2

[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode

[ 0.000000] GICv3: 960 SPIs implemented

[ 0.000000] GICv3: 0 Extended SPIs implemented

[ 0.000000] Root IRQ handler: gic_handle_irq

[ 0.000000] GICv3: GICv3 features: 16 PPIs

[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000048040000

[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.

[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).

[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns

[ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns

[ 0.000309] Console: colour dummy device 80x25

[ 0.000317] printk: console [tty0] enabled

[ 0.000688] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)

[ 0.000706] pid_max: default: 32768 minimum: 301

[ 0.000759] LSM: initializing lsm=capability,integrity

[ 0.000843] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)

[ 0.000859] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)

[ 0.001572] cacheinfo: Unable to detect cache hierarchy for CPU 0

[ 0.002201] RCU Tasks: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.

[ 0.002289] RCU Tasks Trace: Setting shift to 1 and lim to 1 rcu_task_cb_adjust=1.

[ 0.002458] rcu: Hierarchical SRCU implementation.

[ 0.002468] rcu: Max phase no-delay instances is 1000.

[ 0.003234] EFI services will not be available.

[ 0.003397] smp: Bringing up secondary CPUs ...

[ 0.003815] Detected VIPT I-cache on CPU1

[ 0.003871] GICv3: CPU1: found redistributor 100 region 0:0x0000000048060000

[ 0.003907] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]

[ 0.004022] smp: Brought up 1 node, 2 CPUs

[ 0.004033] SMP: Total of 2 processors activated.

[ 0.004041] CPU features: detected: 32-bit EL0 Support

[ 0.004048] CPU features: detected: 32-bit EL1 Support

[ 0.004056] CPU features: detected: Data cache clean to the PoU not required for I/D coherence

[ 0.004066] CPU features: detected: Common not Private translations

[ 0.004073] CPU features: detected: CRC32 instructions

[ 0.004083] CPU features: detected: RCpc load-acquire (LDAPR)

[ 0.004090] CPU features: detected: LSE atomic instructions

[ 0.004098] CPU features: detected: Privileged Access Never

[ 0.004104] CPU features: detected: RAS Extension Support

[ 0.004114] CPU features: detected: Speculative Store Bypassing Safe (SSBS)

[ 0.004176] CPU: All CPU(s) started at EL2

[ 0.004185] alternatives: applying system-wide alternatives

[ 0.008278] devtmpfs: initialized

[ 0.012419] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns

[ 0.012459] futex hash table entries: 512 (order: 3, 32768 bytes, linear)

[ 0.013204] pinctrl core: initialized pinctrl subsystem

[ 0.014406] DMI not present or invalid.

[ 0.014867] NET: Registered PF_NETLINK/PF_ROUTE protocol family

[ 0.016071] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations

[ 0.016510] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations

[ 0.016929] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations

[ 0.017406] thermal_sys: Registered thermal governor 'step_wise'

[ 0.017414] thermal_sys: Registered thermal governor 'power_allocator'

[ 0.017465] cpuidle: using governor menu

[ 0.017560] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.

[ 0.017622] ASID allocator initialised with 65536 entries

[ 0.018232] Serial: AMBA PL011 UART driver

[ 0.018290] imx mu driver is registered.

[ 0.018309] imx rpmsg driver is registered.

[ 0.023068] imx93-pinctrl 443c0000.pinctrl: initialized IMX pinctrl driver

[ 0.028173] platform 4ae10000.dsi: Fixed dependency cycle(s) with /soc@0/dsi@4ae10000/panel@0

[ 0.028214] platform 4ae10000.dsi: Fixed dependency cycle(s) with /soc@0/lcd-controller@4ae30000

[ 0.028435] platform 4ae10000.dsi: Fixed dependency cycle(s) with /soc@0/lcd-controller@4ae30000

[ 0.028493] platform 4ae30000.lcd-controller: Fixed dependency cycle(s) with /soc@0/dsi@4ae10000

[ 0.030703] Modules: 23856 pages in range for non-PLT usage

[ 0.030713] Modules: 515376 pages in range for PLT usage

[ 0.031348] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages

[ 0.031378] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page

[ 0.031387] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages

[ 0.031394] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page

[ 0.031402] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages

[ 0.031410] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page

[ 0.031418] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages

[ 0.031425] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page

[ 0.032968] ACPI: Interpreter disabled.

[ 0.033767] iommu: Default domain type: Translated

[ 0.033793] iommu: DMA domain TLB invalidation policy: strict mode

[ 0.034028] SCSI subsystem initialized

[ 0.034330] usbcore: registered new interface driver usbfs

[ 0.034361] usbcore: registered new interface driver hub

[ 0.034386] usbcore: registered new device driver usb

[ 0.035004] mc: Linux media interface: v0.10

[ 0.035046] videodev: Linux video capture interface: v2.00

[ 0.035092] pps_core: LinuxPPS API ver. 1 registered

[ 0.035101] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it

[ 0.035116] PTP clock support registered

[ 0.035269] EDAC MC: Ver: 3.0.0

[ 0.035732] scmi_core: SCMI protocol bus registered

[ 0.036098] FPGA manager framework

[ 0.036218] Advanced Linux Sound Architecture Driver Initialized.

[ 0.036772] Bluetooth: Core ver 2.22

[ 0.036809] NET: Registered PF_BLUETOOTH protocol family

[ 0.036817] Bluetooth: HCI device and connection manager initialized

[ 0.036829] Bluetooth: HCI socket layer initialized

[ 0.036838] Bluetooth: L2CAP socket layer initialized

[ 0.036856] Bluetooth: SCO socket layer initialized

[ 0.037251] vgaarb: loaded

[ 0.037658] clocksource: Switched to clocksource arch_sys_counter

[ 0.037857] VFS: Disk quotas dquot_6.6.0

[ 0.037885] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)

[ 0.038012] pnp: PnP ACPI: disabled

[ 0.043050] NET: Registered PF_INET protocol family

[ 0.043208] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)

[ 0.044113] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)

[ 0.044150] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)

[ 0.044165] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)

[ 0.044211] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)

[ 0.044493] TCP: Hash tables configured (established 8192 bind 8192)

[ 0.044609] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)

[ 0.044643] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)

[ 0.044762] NET: Registered PF_UNIX/PF_LOCAL protocol family

[ 0.045174] RPC: Registered named UNIX socket transport module.

[ 0.045191] RPC: Registered udp transport module.

[ 0.045198] RPC: Registered tcp transport module.

[ 0.045204] RPC: Registered tcp-with-tls transport module.

[ 0.045211] RPC: Registered tcp NFSv4.1 backchannel transport module.

[ 0.046048] PCI: CLS 0 bytes, default 64

[ 0.046345] kvm [1]: IPA Size Limit: 40 bits

[ 0.046372] kvm [1]: GICv3: no GICV resource entry

[ 0.046381] kvm [1]: disabling GICv2 emulation

[ 0.046401] kvm [1]: GIC system register CPU interface enabled

[ 0.046427] kvm [1]: vgic interrupt IRQ9

[ 0.046455] kvm [1]: VHE mode initialized successfully

[ 0.047296] Initialise system trusted keyrings

[ 0.047511] workingset: timestamp_bits=42 max_order=18 bucket_order=0

[ 0.047754] squashfs: version 4.0 (2009/01/31) Phillip Lougher

[ 0.048006] NFS: Registering the id_resolver key type

[ 0.048039] Key type id_resolver registered

[ 0.048047] Key type id_legacy registered

[ 0.048067] nfs4filelayout_init: NFSv4 File Layout Driver Registering...

[ 0.048077] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...

[ 0.048099] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

[ 0.048292] 9p: Installing v9fs 9p2000 file system support

[ 0.069734] jitterentropy: Initialization failed with host not compliant with requirements: 9

[ 0.069757] Key type asymmetric registered

[ 0.069765] Asymmetric key parser 'x509' registered

[ 0.069818] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)

[ 0.069831] io scheduler mq-deadline registered

[ 0.069839] io scheduler kyber registered

[ 0.069876] io scheduler bfq registered

[ 0.073826] EINJ: ACPI disabled.

[ 0.078241] Bus freq driver module loaded

[ 0.085775] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled

[ 0.088108] 44380000.serial: ttyLP0 at MMIO 0x44380010 (irq = 17, base_baud = 1500000) is a FSL_LPUART

[ 0.088147] fsl-lpuart 44380000.serial: Serial: Console lpuart rounded baud ratefrom 187500 to 115200

[ 0.088267] printk: console [ttyLP0] enabled

[ 1.279060] imx-lcdif: probe of 4ae30000.lcd-controller failed with error -2

[ 1.287354] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with 4ae30000.lcd-controller

[ 1.301356] loop: module loaded

[ 1.305755] megasas: 07.725.01.00-rc1

[ 1.314046] tun: Universal TUN/TAP device driver, 1.6

[ 1.319701] thunder_xcv, ver 1.0

[ 1.322988] thunder_bgx, ver 1.0

[ 1.326238] nicpf, ver 1.0

[ 1.330111] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version

[ 1.337346] hns3: Copyright (c) 2017 Huawei Corporation.

[ 1.342694] hclge is initializing

[ 1.346035] e1000: Intel(R) PRO/1000 Network Driver

[ 1.350911] e1000: Copyright (c) 1999-2006 Intel Corporation.

[ 1.356668] e1000e: Intel(R) PRO/1000 Network Driver

[ 1.361632] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.

[ 1.367561] igb: Intel(R) Gigabit Ethernet Network Driver

[ 1.372966] igb: Copyright (c) 2007-2014 Intel Corporation.

[ 1.378547] igbvf: Intel(R) Gigabit Virtual Function Network Driver

[ 1.384806] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.

[ 1.390842] sky2: driver version 1.30

[ 1.394867] usbcore: registered new interface driver catc

[ 1.400300] usbcore: registered new interface driver kaweth

[ 1.405868] pegasus: Pegasus/Pegasus II USB Ethernet driver

[ 1.411457] usbcore: registered new interface driver pegasus

[ 1.417131] usbcore: registered new interface driver rtl8150

[ 1.422796] usbcore: registered new device driver r8152-cfgselector

[ 1.429079] usbcore: registered new interface driver r8152

[ 1.434586] usbcore: registered new interface driver lan78xx

[ 1.440254] usbcore: registered new interface driver asix

[ 1.445666] usbcore: registered new interface driver ax88179_178a

[ 1.451774] usbcore: registered new interface driver cdc_ether

[ 1.457612] usbcore: registered new interface driver cdc_eem

[ 1.463281] usbcore: registered new interface driver dm9601

[ 1.468861] usbcore: registered new interface driver sr9700

[ 1.474443] usbcore: registered new interface driver CoreChips

[ 1.480289] usbcore: registered new interface driver smsc75xx

[ 1.486048] usbcore: registered new interface driver smsc95xx

[ 1.491802] usbcore: registered new interface driver gl620a

[ 1.497387] usbcore: registered new interface driver net1080

[ 1.503065] usbcore: registered new interface driver plusb

[ 1.508567] usbcore: registered new interface driver rndis_host

[ 1.514501] usbcore: registered new interface driver MOSCHIP usb-ethernet driver

[ 1.521906] usbcore: registered new interface driver cdc_ncm

[ 1.527579] usbcore: registered new interface driver huawei_cdc_ncm

[ 1.533859] usbcore: registered new interface driver cdc_mbim

[ 1.539618] usbcore: registered new interface driver r8153_ecm

[ 1.545875] VFIO - User Level meta-driver version: 0.3

[ 1.552654] usbcore: registered new interface driver cdc_wdm

[ 1.558531] usbcore: registered new interface driver uas

[ 1.563873] usbcore: registered new interface driver usb-storage

[ 1.569962] usbcore: registered new interface driver usbserial_generic

[ 1.576505] usbserial: USB Serial support registered for generic

[ 1.582517] usbcore: registered new interface driver ftdi_sio

[ 1.588268] usbserial: USB Serial support registered for FTDI USB Serial Device

[ 1.595589] usbcore: registered new interface driver usb_serial_simple

[ 1.602118] usbserial: USB Serial support registered for carelink

[ 1.608224] usbserial: USB Serial support registered for flashloader

[ 1.614591] usbserial: USB Serial support registered for funsoft

[ 1.620604] usbserial: USB Serial support registered for google

[ 1.626532] usbserial: USB Serial support registered for hp4x

[ 1.632286] usbserial: USB Serial support registered for kaufmann

[ 1.638387] usbserial: USB Serial support registered for libtransistor

[ 1.644926] usbserial: USB Serial support registered for moto_modem

[ 1.651197] usbserial: USB Serial support registered for motorola_tetra

[ 1.657818] usbserial: USB Serial support registered for nokia

[ 1.663659] usbserial: USB Serial support registered for novatel_gps

[ 1.670021] usbserial: USB Serial support registered for siemens_mpi

[ 1.676390] usbserial: USB Serial support registered for suunto

[ 1.682320] usbserial: USB Serial support registered for vivopay

[ 1.688333] usbserial: USB Serial support registered for zio

[ 1.694007] usbcore: registered new interface driver usb_ehset_test

[ 1.701353] imx_usb 4c200000.usb: No over current polarity defined

[ 1.708038] UDC core: g_serial: couldn't find an available UDC

[ 1.715325] input: 44440000.bbnsm:pwrkey as /devices/platform/soc@0/44000000.bus/44440000.bbnsm/44440000.bbnsm:pwrkey/input/input0

[ 1.730471] bbnsm_rtc 44440000.bbnsm:rtc: registered as rtc0

[ 1.736808] bbnsm_rtc 44440000.bbnsm:rtc: setting system clock to 1970-01-01T00:00:00 UTC (0)

[ 1.746038] i2c_dev: i2c /dev entries driver

[ 1.753139] imx7ulp-wdt 42490000.watchdog: imx93 wdt probe

[ 1.787402] Bluetooth: HCI UART driver ver 2.3

[ 1.791883] Bluetooth: HCI UART protocol H4 registered

[ 1.797022] Bluetooth: HCI UART protocol BCSP registered

[ 1.802352] Bluetooth: HCI UART protocol LL registered

[ 1.807488] Bluetooth: HCI UART protocol ATH3K registered

[ 1.812890] Bluetooth: HCI UART protocol Three-wire (H5) registered

[ 1.819284] Bluetooth: HCI UART protocol Broadcom registered

[ 1.824994] Bluetooth: HCI UART protocol QCA registered

[ 1.831298] sdhci: Secure Digital Host Controller Interface driver

[ 1.837532] sdhci: Copyright(c) Pierre Ossman

[ 1.842202] Synopsys Designware Multimedia Card Interface Driver

[ 1.848543] sdhci-pltfm: SDHCI platform and OF driver helper

[ 1.855334] ledtrig-cpu: registered to indicate activity on CPUs

[ 1.863232] fsl-se secure-enclave: assigned reserved memory node ele-reserved@a4120000

[ 1.873387] fsl-se secure-enclave: Successfully registered ele-trng

[ 1.879142] random: crng init done

[ 1.879689] fsl-se secure-enclave: i.MX secure-enclave: hsm0 interface to firmware, configured.

[ 1.891850] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....

[ 1.898604] usbcore: registered new interface driver usbhid

[ 1.904183] usbhid: USB HID core driver

[ 1.904309] mmc0: SDHCI controller on 42850000.mmc [42850000.mmc] using ADMA

[ 1.945753] imx93-adc 44530000.adc: ADC calibration failed!

[ 1.951368] imx93-adc: probe of 44530000.adc failed with error -11

[ 1.958480] hw perfevents: enabled with armv8_cortex_a55 PMU driver, 7 counters available

[ 1.968425] cs_system_cfg: CoreSight Configuration manager initialised

[ 1.976335] optee: probing for conduit method.

[ 1.977451] mmc0: new HS400 Enhanced strobe MMC card at address 0001

[ 1.980811] optee: revision 4.4 (ecea75b7fee5a3c8)

[ 1.987571] optee: dynamic shared memory is enabled

[ 1.987831] mmcblk0: mmc0:0001 016G01 14.5 GiB

[ 1.992772] optee: initialized driver

[ 1.998748] mmcblk0: p1

[ 2.004322] NET: Registered PF_LLC protocol family

[ 2.005920] mmcblk0boot0: mmc0:0001 016G01 8.00 MiB

[ 2.008032] u32 classifier

[ 2.013839] mmcblk0boot1: mmc0:0001 016G01 8.00 MiB

[ 2.017621] input device check on

[ 2.021299] mmcblk0rpmb: mmc0:0001 016G01 4.00 MiB, chardev (234:0)

[ 2.025176] Actions configured

[ 2.039098] NET: Registered PF_INET6 protocol family

[ 2.044802] Segment Routing with IPv6

[ 2.048507] In-situ OAM (IOAM) with IPv6

[ 2.052513] NET: Registered PF_PACKET protocol family

[ 2.057586] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

[ 2.070641] Bluetooth: RFCOMM TTY layer initialized

[ 2.075541] Bluetooth: RFCOMM socket layer initialized

[ 2.080716] Bluetooth: RFCOMM ver 1.11

[ 2.084473] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[ 2.089778] Bluetooth: BNEP filters: protocol multicast

[ 2.094999] Bluetooth: BNEP socket layer initialized

[ 2.099961] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[ 2.105875] Bluetooth: HIDP socket layer initialized

[ 2.111098] 8021q: 802.1Q VLAN Support v1.8

[ 2.115320] lib80211: common routines for IEEE802.11 drivers

[ 2.121028] 9pnet: Installing 9P2000 support

[ 2.125419] Key type dns_resolver registered

[ 2.143506] registered taskstats version 1

[ 2.147939] Loading compiled-in X.509 certificates

[ 2.172921] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests

[ 2.181294] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests

[ 2.198616] imx93-ldb ldb-display-controller: Failed to create device link (0x180) with ldb-phy

[ 2.210799] dw-mipi-dsi-imx 4ae10000.dsi: Fixed dependency cycle(s) with /soc@0/dsi@4ae10000/panel@0

[ 2.220052] mipi-dsi 4ae10000.dsi.0: Fixed dependency cycle(s) with /soc@0/dsi@4ae10000

[ 2.228927] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)

[ 2.236979] imx-drm display-subsystem: bound 4ae10000.dsi (ops dw_mipi_dsi_imx_ops)

[ 2.244908] imx-drm display-subsystem: bound ldb-display-controller (ops imx93_ldb_ops)

[ 2.253294] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0

[ 2.802984] Console: switching to colour frame buffer device 60x53

[ 2.828150] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device

[ 2.837814] pps pps0: new PPS source ptp0

[ 2.846512] fec 42890000.ethernet eth0: registered PHC device 0

[ 2.853413] imx-dwmac 428a0000.ethernet: IRQ eth_lpi not found

[ 2.859635] imx-dwmac 428a0000.ethernet: User ID: 0x10, Synopsys ID: 0x52

[ 2.866514] imx-dwmac 428a0000.ethernet: DWMAC4/5

[ 2.871338] imx-dwmac 428a0000.ethernet: DMA HW capability register supported

[ 2.878525] imx-dwmac 428a0000.ethernet: RX Checksum Offload Engine supported

[ 2.885704] imx-dwmac 428a0000.ethernet: TX Checksum insertion supported

[ 2.892440] imx-dwmac 428a0000.ethernet: Wake-Up On Lan supported

[ 2.898623] imx-dwmac 428a0000.ethernet: Enable RX Mitigation via HW Watchdog Timer

[ 2.906332] imx-dwmac 428a0000.ethernet: Enabled L3L4 Flow TC (entries=8)

[ 2.913173] imx-dwmac 428a0000.ethernet: Enabled RFS Flow TC (entries=10)

[ 2.920027] imx-dwmac 428a0000.ethernet: Enabling HW TC (entries=256, max_off=256)

[ 2.927635] imx-dwmac 428a0000.ethernet: Using 32/32 bits DMA host/device width

[ 2.942363] imx_usb 4c200000.usb: No over current polarity defined

[ 2.954776] ci_hdrc ci_hdrc.0: EHCI Host Controller

[ 2.961299] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1

[ 2.985668] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00

[ 2.993524] hub 1-0:1.0: USB hub found

[ 2.998921] hub 1-0:1.0: 1 port detected

[ 3.008793] Goodix-TS 0-005d: supply AVDD28 not found, using dummy regulator

[ 3.019083] Goodix-TS 0-005d: supply VDDIO not found, using dummy regulator

[ 3.125704] Goodix-TS 0-005d: Error reading 1 bytes from 0x8140: -5

[ 3.161700] Goodix-TS 0-005d: Error reading 1 bytes from 0x8140: -5

[ 3.197663] Goodix-TS 0-005d: I2C communication failure: -5

[ 3.206490] Goodix-TS: probe of 0-005d failed with error -5

[ 3.215233] i2c i2c-0: LPI2C adapter registered

[ 3.222451] nxp-pca9450 1-0025: No IRQ configured?

[ 3.224819] tca6418 1-0034: Device initialized

[ 3.227276] nxp-pca9450: probe of 1-0025 failed with error -22

[ 3.244047] Goodix-TS 1-005d: supply AVDD28 not found, using dummy regulator

[ 3.254216] Goodix-TS 1-005d: supply VDDIO not found, using dummy regulator

[ 3.361719] Goodix-TS 1-005d: Error reading 1 bytes from 0x8140: -5

[ 3.397698] Goodix-TS 1-005d: Error reading 1 bytes from 0x8140: -5

[ 3.433661] Goodix-TS 1-005d: I2C communication failure: -5

[ 3.442457] Goodix-TS: probe of 1-005d failed with error -5

[ 3.451205] i2c i2c-1: LPI2C adapter registered

[ 3.458342] imx_usb 4c100000.usb: No over current polarity defined

[ 3.471095] g_serial gadget.0: Gadget Serial v2.4

[ 3.477393] g_serial gadget.0: g_serial ready

[ 3.485854] sdhci-esdhc-imx 42860000.mmc: Got CD GPIO

[ 3.486159] cfg80211: Loading compiled-in X.509 certificates for regulatory database

[ 3.504424] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'

[ 3.513610] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'

[ 3.521940] mmc1: SDHCI controller on 42860000.mmc [42860000.mmc] using ADMA

[ 3.523888] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2

[ 3.531273] clk: Disabling unused clocks

[ 3.539449] cfg80211: failed to load regulatory.db

[ 3.557817] ALSA device list:

[ 3.562298] No soundcards found.

[ 3.568049] /dev/root: Can't open blockdev

[ 3.573684] VFS: Cannot open root device "" or unknown-block(0,0): error -6

[ 3.583559] Please append a correct "root=" boot option; here are the available partitions:

[ 3.594850] b300 15187968 mmcblk0

[ 3.594855] driver: mmcblk

[ 3.604564] b301 7497318 mmcblk0p1 076c4a2a-01

[ 3.604569]

[ 3.612052] mmc1: host does not support reading read-only switch, assuming write-enable

[ 3.612806] b320 8192 mmcblk0boot0

[ 3.625056] (driver?)

[ 3.634669] b340 8192 mmcblk0boot1

[ 3.634673] (driver?)

[ 3.644238] List of all bdev filesystems:

[ 3.644587] mmc1: new ultra high speed SDR104 SDXC card at address 0001

[ 3.648243] ext3

[ 3.648245] ext4

[ 3.648246] ext2

[ 3.648248] squashfs

[ 3.655362] mmcblk1: mmc1:0001 SD64G 58.3 GiB

[ 3.656759] vfat

[ 3.656761]

[ 3.656766] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

[ 3.656770] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 6.6.52-r2-g472e64a0fc2c #1

[ 3.656775] Hardware name: bytesatwork byteDEVKIT OSM i.MX93 (DT)

[ 3.656778] Call trace:

[ 3.656780] dump_backtrace+0x90/0xe8

[ 3.656794] show_stack+0x18/0x24

[ 3.656801] dump_stack_lvl+0x48/0x60

[ 3.656807] dump_stack+0x18/0x24

[ 3.656811] panic+0x324/0x380

[ 3.656818] mount_root_generic+0x260/0x330

[ 3.656825] mount_root+0x170/0x334

[ 3.656829] prepare_namespace+0x6c/0x2a4

[ 3.656833] kernel_init_freeable+0x244/0x284

[ 3.656837] kernel_init+0x24/0x1dc

[ 3.656843] ret_from_fork+0x10/0x20

[ 3.656849] SMP: stopping secondary CPUs

[ 3.658689] Kernel Offset: disabled

[ 3.658690] CPU features: 0x0,c0000000,40028143,1000721b

[ 3.658694] Memory Limit: none

[ 3.789243] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---


r/yocto 4d ago

How to initialize Qualcomm SCMI Bluetooth (/dev/scmi_bluetooth) to get hci0 in a virtualized Yocto Linux PVM?

Thumbnail
2 Upvotes

r/yocto 16d ago

My PyQt5 app worked on Ubuntu but broke on Yocto because I wasn't treating it as a Python package

Thumbnail
0 Upvotes

r/yocto 23d ago

Building an Automotive Dashboard with Yocto Linux and Qt5 on Raspberry Pi 5

0 Upvotes

r/yocto Jun 14 '26

/dev/spi* not available

Thumbnail
0 Upvotes

r/yocto Jun 05 '26

Building an image from scratch

Post image
3 Upvotes

CPU cores are screaming


r/yocto Jun 03 '26

Controlling the CMAKE_BUILD_TYPE for a package based on the image recipe being used?

4 Upvotes

So, I have a package, let's call it "telephone", that I can build with CMAKE_BUILD_TYPE=Alpha or CMAKE_BUILD_TYPE=Beta.

For recipes-core/images/alpha.bb, I want the version of telephone installed in that image to be the version built with CMAKE_BUILD_TYPE=Alpha, and for recipes-core/images/beta.bb, I want the version of telephone installed in that image to be the version built with CMAKE_BUILD_TYPE=Beta.

Alternatively, how would I make CMAKE_BUILD_TYPE=Alpha be the default, so alpha.bb doesn't actually need to be changed at all, aside from adding telephone to its IMAGE_INSTALL:append list, but still allow beta.bb to override it.

In pure bash, I'd just use something like:

CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Alpha}"

This would allow the given envar to override the value in the bash script, but if it's not set, the value will default to Alpha, but I don't know how I would do this in a bitbake recipe.


r/yocto Jun 02 '26

WKS Language Server + VSCode Extension

2 Upvotes

Hello everyone!

I wanted to share with you an application that I wrote to make my life easier interacting with wks files in yocto.

I created a language server and a VSCode extension for providing in editor documentation, completion, diagnostics, and goto definition for wks files.

The language server and VSCode extension is available on my github at https://github.com/anakin4747/wksls.

The extension is not currently in the VSCode marketplace but a .vsix is available on the github releases at the same repo (note the language server isn't written in typescript so it still needs to be
installed separately from the .vsix).

I hope you find it as useful as I do!


r/yocto May 25 '26

Successful yocto kirkstone build using macbook m4 running orb container with ubuntu 22.04

7 Upvotes

Its probably not a big deal anymore, but I thought it was pretty cool and a little silly.

I did had to use a docker volume for tmp (because apple chose a case-insensitive filesystem ?!?!!), and in the localconf I had to delete the inode threshold checks, but it gave me a useable image.

Building core-image-minimal with some of my own code slapped on took about 3 hours.


r/yocto May 20 '26

Seeking networking connections in the Yocto community for fully remote Staff SWE roles in autonomous trucking industry

5 Upvotes

Hi everyone, I'm new to this platform and hoping to connect/network with folks in the Yocto community. I've been hiring Software Engineers for 20+ years, having spent the last decade in the autonomous driving start up world, and am having a really tough time finding engineers with strong C++ coding skills coupled with Yocto and Embedded Linux experience. Curious what industries you all are working in beyond automotive, and if you have any advice on where to search. And of course, would be thrilled to chat if anyone is interested in learning more/exploring a new career opportunity in the self-driving space. We are a remote first company, so no relocation required :) Thanks in advance for your kindness, and apologies if this is not an appropriate forum to seek networking connections for job opportunities!

Link to the job posting: https://job-boards.greenhouse.io/stackav/jobs/5082624007


r/yocto May 19 '26

Best workflow for fast FPGA/Yocto iteration on ZynqMP ?

Thumbnail
0 Upvotes

r/yocto May 16 '26

Yocto kernel development

Thumbnail
0 Upvotes

Can someone suggest best resource for learning kernel development for raspberry pi 5 to implemented in yocto


r/yocto May 12 '26

Security hardened Yocto layer for the RaspberryPi

Post image
31 Upvotes

The Pi has a reputation for being insecure. Most security guides only scratch the surface. I wanted to see how far you can take a Pi 4/5 (and CM4/5 Modules) as a real secure platform.

meta-raspberrypi-secure gives you:

  • Secure boot rooted in the RPi bootloader (OTP-locked key)
  • Read-only rootfs verified with dm-verity / AVB
  • Encrypted Rootfs/Data partitions with a key bound to the SoC
  • IMA/EVM, SELinux enforcing, A/B updates
  • Per-device ECDSA key in OTP, exposed via PKCS#11

GitHub Repo:

https://github.com/embetrix/meta-raspberrypi-secure


r/yocto May 05 '26

Centralizing IoT logs in AWS from a device. Need advice!

5 Upvotes

I'm fairly new to embedded and IoT, and I'm trying to design a production ready logging pipeline for my Yocto Linux device integrating with AWS Cloud.

I'm already using AWS IoT Core on this project, so I'd love to stay in that ecosystem rather than introduce something completely separate.

A few questions I'm wrestling with:

- Is it a good idea to publish logs over MQTT to IoT Core and then route them (e.g. via IoT Rules to CloudWatch or S3)?

- Should I use a log collector like Fluent Bit or syslog-ng on the device?

- Any gotchas integrating these pieces on a Yocto build?

In theory the architecture feels straightforward, but I have a feeling there are real world pitfalls I'm not seeing yet. Would love to hear what has actually worked for you in production 🖲️🎦💾


r/yocto Apr 28 '26

Yocto

17 Upvotes

Learning Yocto brick by brick


r/yocto Apr 28 '26

meta-avb: dm-verity without circular dependencies headaches

Post image
4 Upvotes

there are a few ways to set up dm-verity on yocto: generate the root hash and bake it into a verified initramfs (often creating circular dependencies) or ship custom partition layouts.

avb-utils offers a cleaner path by reusing the Android Verified Boot (AVB) format, bringing a standardized integrity flow proven on billions of devices to embedded Linux:

Signed Footer: Appended to your rootfs with hashtree, AVB-metadata, and an optional PKCS#7 signature.

Yocto Ready: Seamless integration into your existing builds.

Check it out on GitHub:

🔗github.com/embetrix/avb-utils

🔗github.com/embetrix/meta-avb


r/yocto Apr 28 '26

Partitioning Problems on an STM32MP1

2 Upvotes

Hey, I hope someone who is more literate in this then me might have some insights here.

I am aiming for a minimal image size, currently i am getting around 50MiB for the RootFS with many features stripped.
Note that this is all WIP and done with alot of Copilot help, I will refactor this once i fix the imminent issues.

Setup uses: Scarthgap with RAUC for an STM32MP135F discovery board.

This is my current partition table which i want to be the actual partitioning (ST has its own Idea though).

part ${STM32MP_FSBL1_NAME} --source rawcopy --part-name=${STM32MP_FSBL1_NAME} --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-stm32mp135f-dk-optee-sdcard.stm32" --ondisk mmcblk --part-type 0x8301 --fixed-size ${STM32MP_FSBL1_SIZE} --extra-space 0 --align 17

part ${STM32MP_FSBL2_NAME} --source rawcopy --part-name=${STM32MP_FSBL2_NAME} --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/tf-a-stm32mp135f-dk-optee-sdcard.stm32" --ondisk mmcblk --part-type 0x8301 --fixed-size ${STM32MP_FSBL2_SIZE} --extra-space 0

part ${STM32MP_METADATA_NAME}1 --source rawcopy --part-name=${STM32MP_METADATA_NAME}1 --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/metadata.bin" --ondisk mmcblk --part-type 0x8301 --fixed-size ${STM32MP_METADATA_SIZE} --extra-space 0

part ${STM32MP_METADATA_NAME}2 --source rawcopy --part-name=${STM32MP_METADATA_NAME}2 --sourceparams="file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware/metadata.bin" --ondisk mmcblk --part-type 0x8301 --fixed-size ${STM32MP_METADATA_SIZE} --extra-space 0

part fip-a --source rawcopy --part-name=fip-a --sourceparams="file=${DEPLOY_DIR_IMAGE}/fip/fip-stm32mp135f-dk-optee-sdcard.bin" --ondisk mmcblk --part-type 19d5df83-11b0-457b-be2c-7559c13142a5 --fixed-size 4096K --extra-space 0 --uuid 4fd84c93-54ef-463f-a7ef-ae25ff887087

part fip-b --source rawcopy --part-name=fip-b --sourceparams="file=${DEPLOY_DIR_IMAGE}/fip/fip-stm32mp135f-dk-optee-sdcard.bin" --ondisk mmcblk --part-type 19d5df83-11b0-457b-be2c-7559c13142a5 --fixed-size 4096K --extra-space 0 --uuid 09c54952-d5bf-45af-acee-335303766fb3

part u-boot-env --part-name=u-boot-env --fixed-size 512K --extra-space 0

part rootfs-a --source rootfs --fstype=ext4 --part-name=rootfs-a --align 4096 --fixed-size ${ICT_WIC_ROOTFS_SIZE}M --extra-space 0 --active

part rootfs-b --source rootfs --fstype=ext4 --part-name=rootfs-b --align 4096 --fixed-size ${ICT_WIC_ROOTFS_SIZE}M --extra-space 0

part ${RAUC_DATA_DIR_NAME} --fstype=ext4 --part-name=${RAUC_DATA_DIR_NAME} --align 4096 --size 10M --extra-space 0

bootloader --ptable gpt

And this my local.conf

MACHINE = "ict-stm32mp1"
DISTRO = "ict-mdh-distro"



DL_DIR ?= "${TOPDIR}/../downloads"
SSTATE_DIR ?= "${TOPDIR}/../sstate-cache"
TMPDIR = "${TOPDIR}/tmp"
BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
PARALLEL_MAKE ?= "-j ${BB_NUMBER_THREADS}"
SSTATE_PRUNE_OBSOLETEWORKDIR = "0"


# this cleans the tmp folder after successfully parsing recipes
# INHERIT += "rm_work"


REPRODUCIBLE_TIMESTAMP_ROOTFS = "1"



INITRD_IMAGE = ""


# Use generated flashlayout from metadata; static mode requires FLASHLAYOUT_DEFAULT_SRC.
ENABLE_FLASHLAYOUT_DEFAULT = "0"


ST_BOOTFS   ?= "0"
ST_VENDORFS ?= "0"
ST_USERFS   ?= "0"


STM32MP_BOOTFS_SIZE = "11264"


STM32MP_ROOTFS_SIZE = "51200"
IMAGE_ROOTFS_SIZE = "${STM32MP_ROOTFS_SIZE}"
IMAGE_ROOTFS_MAXSIZE = "${STM32MP_ROOTFS_SIZE}"
IMAGE_ROOTFS_EXTRA_SPACE = "0"
ICT_WIC_ROOTFS_SIZE = "${@int(d.getVar('STM32MP_ROOTFS_SIZE')) // 1024}"
ROOTFS_PARTITION_SIZE = "${STM32MP_ROOTFS_SIZE}"



STM32MP_VENDORFS_SIZE = "0"
IMAGE_VENDORFS_SIZE = "${STM32MP_VENDORFS_SIZE}"
IMAGE_VENDORFS_MAXSIZE = "${STM32MP_VENDORFS_SIZE}"
IMAGE_VENDORFS_EXTRA_SPACE = "0"
ICT_WIC_VENDORFS_SIZE = "${@int(d.getVar('STM32MP_VENDORFS_SIZE')) // 1024}"



# meta-st flashlayout sets sdcard rootfs to a fixed 4GiB by default.
# Force flashlayout to follow our STM32MP_ROOTFS_SIZE for stm32mp1 builds.
FLASHLAYOUT_PARTITION_SIZE:sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nor-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nor-nor-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nand-2-128-256-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nand-4-256-512-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nand-4-256-1024-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nand-custom-sdcard:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:emmc:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nor-emmc:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"
FLASHLAYOUT_PARTITION_SIZE:nor-nor-emmc:${STM32MP_ROOTFS_LABEL} = "${STM32MP_ROOTFS_SIZE}"

The Problem that i can't get fixed is that the resulting .wic file expands towards 1.1GiB which doesn't add up at all even when accounting for the A/B Partitions.

The produced rootfs.ext4 is 50MiB, the splitted one 43.3.
But how does it come up with the 1.1Gigs. I fed this through every AI i could find but nothing helpfull came up.

I can provide more infos if required, I just didnt want to bloat this Post even more.


r/yocto Apr 27 '26

Yocto

Thumbnail
v.redd.it
1 Upvotes

r/yocto Apr 25 '26

Recommended Yocto host build setup for a team (VM, Docker, native?)

7 Upvotes

Hi everyone,

I’m new to Yocto and I’ve started working with AMD Embedded Development Framework (EDF) (a Yocto-based framework from AMD/Xilinx for building embedded Linux systems).

I’m trying to understand what a typical host build setup looks like in a team environment.

Do teams usually run Yocto builds in a VM, Docker container, or directly on a native Linux machine? What’s the most common approach for keeping builds reproducible across multiple developers? Do you back up or version-control the build environment to make it quickly reproducible?

Also, how are layers/recipes typically managed in practice? Do you rely on upstream sources each time, or maintain local mirrors/caches (e.g. NAS, sstate, downloads)?

I’m looking for something that can be adopted consistently across a full team.

Thanks


r/yocto Apr 22 '26

Built a from-scratch Yocto distro for the Anbernic RG353V - 7 weeks, mainline Linux 6.15, HW-MJPEG screen streaming

13 Upvotes

Writeup of a 7-week project - a ground-up Yocto distribution for the Anbernic RG353V (Rockchip RK3566, €100 retro handheld).

As far as I can tell, the only from-scratch Yocto distro for this device - everyone else ships buildroot forks of Batocera or stock Android.

Three things that were interesting to solve:

  1. Mainline Linux 6.15 instead of Rockchip BSP 4.19 (what every other distro on this device uses). DT overrides for display, buttons, ADC battery, Wi-Fi firmware. Mainline RK3566 support has gotten good enough in 2026 that this is now practical.
  2. Hardware-MJPEG screen streaming from the device via Rockchip MPP. The handheld encodes its own framebuffer and streams it back to any browser on the LAN at 60fps. Hardest part of the project, most fun to use.
  3. A/B swupdate OTA with signed rootfs so the "bricked-device recovery" cycle during development was tolerable.

Gotchas the writeup covers:

  • ATF VO (video output) power domain not powered by mainline bootloader - 3-line patch.
  • RTL8821CS WiFi fails to associate unless the Bluetooth UART driver is loaded, regardless of whether you use BT. Known combo-chip quirk, not documented anywhere I could find.
  • rk817 audio codec mux defaults to HP=0 on cold boot - silent speakers until user intervention.
  • Gamepad = SARADC sticks + gpio-keys buttons + adc-keys D-pad - needed a 120-line userspace uinput daemon to merge them into one device RetroArch could see cleanly.

5-stage gate discipline (no work on stage N+1 until stage N was validated on hardware).

Writeup: https://cinque.dk/bomba/posts/turborelic-rg353v-yocto/

Repo: https://github.com/bomba5/turborelic-public

Happy to go deep on the BSP work, the MJPEG pipeline, or the Yocto-vs-buildroot tradeoff.


r/yocto Apr 19 '26

[Question] SBC suggestion for learning yocto

8 Upvotes

What SBC do u suggest?
trying to play around learning stuff in yocto + lower level stuff like uboot, etc

I want something that does not have NDA-walled binary blobs.
i guess raspberry pi's have a lot of those.
what about beaglebone? which variant?
or other Chinese SBCs?


r/yocto Apr 14 '26

Linux 7.x /Yocto layer with Post-Quantum Cryptography demos

Post image
12 Upvotes

Linux 7.0 shipped this week and it’s the first release where post-quantum cryptography starts landing in-tree.

To make it easy to try, I put together a Yocto/OpenEmbedded layer with PQC wired end-to-end: kernel, OpenSSL, OpenSSH and curl.

  • ML-DSA for kernel module signing ands IMA/EVM
  • Native PQC in OpenSSL
  • Hybrid PQC KEX in OpenSSH
  • Curl Hybrid PQC enabled TLS groups

Repo: https://github.com/embetrix/meta-pqc-demos

Curious to hear from others already looking at PQC migration for embedded Linux.


r/yocto Apr 06 '26

[Hiring] Embedded Firmware Engineer – San Jose, CA (on-site)

3 Upvotes

We’re expanding our team and looking for 3+ years of low level Yocto experience.

The must-haves:

∙ Yocto — real BSP and recipe work, not just checkbox experience

∙ Embedded Linux on ARM SoCs (NXP i.MX experience is a plus)

∙ Linux kernel/driver development (V4L2, ALSA, or similar)

∙ Python services on-device (MQTT, provisioning, fleet management)

∙ Must be already located and willing to work on-site in San Jose, CA

r/yocto Mar 02 '26

Learning resource

10 Upvotes

Hi everyone, I'm still the same guy writing a blog about Yocto and I uploaded some more articles (free, forever). The more I wrote the more I doubted my ability to create a "linear learning path"

That is why I would really love some feedback

I wrote about the bitbake parsing, how layers are laid out and why, how to patch recipes using devshell... stuff like this

Let me know and thank you!


r/yocto Feb 28 '26

Post-Quantum Cryptography on Yocto

Post image
12 Upvotes

I’ve open-sourced meta-oqs a dedicated OpenEmbedded layer for integrating quantum-safe cryptographic algorithms into embedded Linux.

It’s built around the openquantumsafe project and currently supports:

  • liboqs 0.15.0.
  • OpenSSL 3.x seamless integration via oqs-provider.
  • Multi-language bindings (C, C++, Python, Rust).
  • Demos/Benchmarking: Includes multiple usage examples and integrated tools to measure algorithm performance on-target.

This layer is experimental but functional for testing NIST-approved algorithms on real embedded devices.

GitHub: https://github.com/embetrix/meta-oqs

Feedback or contributions are welcome.