> For the complete documentation index, see [llms.txt](https://explore-vineeth.gitbook.io/mywiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://explore-vineeth.gitbook.io/mywiki/programming/yocto/minimal-rootfs.md).

# Minimal Rootfs

How to create minimal roots using Yocto Project. It is useful in silicon bringup.

There are multiple libc providers&#x20;

* GNU glibc
* musl
* ulibc&#x20;

#### glibc + devmem + insmod

```
MACHINE = "versal-net-generic"
#TCLIBC = "musl"
VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
VIRTUAL-RUNTIME_login_manager = "busybox"
VIRTUAL-RUNTIME_init_manager = "busybox"
VIRTUAL-RUNTIME_initscripts = "initscripts"
VIRTUAL-RUNTIME_keymaps = "keymaps"
#INIT_MANAGER = "sysvinit"

EXTRA_IMAGDEPENDS:remove = "virtual/plm"
IMAGE_INSTALL:remove = "plm-firmware psm-firmware"
#IMAGE_INSTALL:append = " kernel-modules"
IMAGE_FSTYPES:remove = "wic.qemu-sd"

DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " systemd sysvinit"
```

change TLIBC to use different versions

`bitbake core-image-minimal`
