Genimage Page
In the world of software development, we are spoiled by instant gratification. You write a line of Python, hit Ctrl+Enter, and the REPL spits back an answer. You compile a Go binary, and ten seconds later, you have a file you can run.
But in the basement of the engineering world—the realm of Embedded Linux—things move slower. You aren't just writing code for a server; you are forging the digital soul of a physical device. A medical monitor. A car infotainment system. A smart thermostat.
And to bring that device to life, you need to build its brain: the SD card image, the eMMC dump, or the NOR flash binary. For years, this process was a nightmare of shell scripts, dd commands, manual partition tables, and prayers. Then came Genimage.
Genimage calls host tools. Install dosfstools (provides mkfs.vfat) and mtools on your build machine. genimage
partition rootfs in-partition-table = true image = "rootfs.ext4" size = 256M filesystem = ext4 mountpoint = "/"
When you run genimage sdcard.conf, it generates sdcard.img – a raw disk image you can dd directly to an SD card or eMMC.
While not part of core Yocto, the meta-genimage layer adds a genimage class, allowing recipes to generate images during the build. In the world of software development, we are
The Embedded Engineer’s "Swiss Army Knife" for Filesystem Creation
Stop scripting your embedded Linux images. Start using GenImage. 🛠️
GenImage turns complex dd + mkfs commands into a clean, configurable YAML file. Need an SD card image with a FAT32 boot partition and ext4 rootfs? One config file. One command. Reproducible builds. When you run genimage sdcard
✅ Supports ext4, squashfs, ubifs, FAT, ISO
✅ Preserves file permissions
✅ Perfect for CI/CD
Example:
genimage --config my-board.cfg --rootpath ./rootfs/
#EmbeddedLinux #DevOps #BuildTools #Yocto #Buildroot
