Poky-Tiny
Poky-tiny is a variant of the poky distribution which is stripped down to minimal configuration.
It is intended to be useful for a few different purposes:
- as a demonstration of techniques useful for reducing other images
- as a springboard for very low-end distributions
- as a place to experiment with whole-system optimization techniques
It was written by Darren Hart, and is available by setting your DISTRO in conf/local.conf to DISTRO=poky-tiny.
This page is a work in progress - the following sections would be good to fill out:
== FAQ
- where is poky-tiny defined?
- poky-tiny is defined in <yocto-dir>/meta-yocto/conf/distro/poky-tiny.conf. Some other recipes and images have been modified to support the features in poky-tiny.
- What images are supported?
- What machines (are there any restrictions)?
- What features have been eliminated?
- What is the size difference between poky-tiny and poky (core-image-minimal)?
- Are there differences in the way poky-tiny is customized, from the way default 'poky' is customized?
- eg. gotchas for adding to IMAGE_
== Creating your own tiny-based distro You can create your own distro, based on the tiny work, by copying the poky-tiny.conf file to your own layer, and editing it from there.
Assuming you are calling your layer 'meta-foo', you could do the following:
- create your meta-foo layer (see other docs for this)
- copy the poky-tiny distro configuration file to your own layer
$ install -p meta-foo/conf/distro $ cp meta-yocto/conf/distro/poky-tiny.conf meta-foo/conf/distro/foo-tiny.conf
- edit your conf/local.conf to use your foo-tiny.conf distro
$ vi <build-dir>/conf/local.conf [change it so "DISTRO?=foo-tiny"]
== Controlling LIBC features Inside foo-tiny.conf (derived from poky-tiny.conf), you can specify what LIBC features to support by modifying the DISTRO_FEATURES_LIBC variable.
This variable is declared to be a space-separated list of other DISTRO_FEATURES_LIBC_xxx variables. To turn on or off features in libc, edit the values of these variables.
To see different options that are available, see the file:
== Controlling kernel features
== Controlling busybox features
== Invoking qemu with poky-tiny images Runqemu doesn't understand poky-tiny (or initramfs?). Try executing qemu directly instead:
$ qemu-system-i386 -kernel path/to/kernel -initrd path/to/image.cpio.gz -nographic -append "console=ttyS0 root=/dev/ram0"