Adding support to a new machine definition

Creating a new machine to be used by Poky is a straightforward task. It essentially provides the information needed for a machine to work. The bootloader, kernel, and hardware support drivers must be checked before starting to integrate the board into the BSP layer.

The Yocto Project supports x86-32, x86-64, ARM32, ARM64, MIPS, MIPS64, and PowerPC, representing the most currently-used embedded architectures.

The prevailing set of variables used in a machine definition is as follows:

  • TARGET_ARCH: This sets the machine architecture, for example, ARM and i586
  • PREFERRED_PROVIDER_virtual/kernel: This overrides the default kernel (linux-yocto) in case you need to use a specific one
  • SERIAL_CONSOLES: This defines serial consoles and their speeds
  • MACHINE_FEATURES: This describes hardware features, so the software stack needed is included in the images by default
  • KERNEL_IMAGETYPE: This is used to choose the kernel image type, for example, zImage and uImage
  • IMAGE_FSTYPES: This sets the generated filesystem image types, for example, tar.gz, ext4, and ubifs

You can see examples of machine definition files inside the Poky source code in meta-yocto-bsp/conf/machine/. When describing a new machine, we should pay special attention to specific features supported by it in MACHINE_FEATURES. This way, the needed software to support these features is installed into the images. The current available values for MACHINE_FEATURES are listed as follows:

  • acpi: Hardware has ACPI (x86/x86_64 only)

  • alsa: Hardware has ALSA audio drivers

  • apm: Hardware uses APM (or APM emulation)

  • bluetooth: Hardware has integrated BT

  • efi: Support for booting through EFI

  • ext2: Hardware HDD or Microdrive

  • irda: Hardware has IrDA support

  • keyboard: Hardware has a keyboard

  • pcbios: Support for booting through BIOS

  • pci: Hardware has a PCI bus

  • pcmcia: Hardware has PCMCIA or CompactFlash sockets

  • phone: Mobile phone (voice) support

  • qvga: Machine has a QVGA (320x240) display

  • rtc: Machine has a real-time clock

  • screen: Hardware has a screen

  • serial: Hardware has serial support (usually RS232)

  • touchscreen: Hardware has a touchscreen

  • usbgadget: Hardware is USB gadget device compatible

  • usbhost: Hardware is USB host compatible

  • vfat: FAT filesystem support

  • wifi: Hardware has integrated Wi-Fi

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.240.178