Q: Why do some image recipes require MACHINE definition?
$ bitbake x11-image
results in this error
| ============================================================================ | Arago is a virtual machine for multiple platforms and it can't have a kernel | Please specify MACHINE=... on the command line with the actual machine name | for which to build the kernel, e.g. MACHINE=omap3evm bitbake virtual/kernel | ============================================================================
- A: The reason is because upstream images (e.g. x11-image and opie-image) depend on kernel modules.
This brings in the whole kernel in to the build. But in Arago the default machine is "arago", which is a unified OMAP/DaVinci virtual machine and has a protection against building an unknown kernel. Specific kernels are supposed to be built with proper machine specified through the MACHINE= variable. That also prevents kernel images from getting into /boot directory of the filesystem.
One way for you would be to build a machine-specific filesystem image by setting MACHINE= to something meaningful, like davinci-dvevm:
$ MACHINE=davinci-dvevm bitbake x11-image