官术网_书友最值得收藏!

Knowing the local.conf file

When we initialize a build environment, it creates a file called build/conf/local.conf, which is a powerful tool that can configure almost every aspect of the build process. We can set the machine we are building for, the toolchain host architecture to be used for a custom cross-toolchain, optimize options for maximum build time reduction, and so on. The comments inside the build/conf/local.conf file are a very good documentation and reference of possible variables, and their defaults. The minimal set of variables that we probably want to change from the default is the following:

MACHINE ??= "qemux86"

The MACHINE variable is where we determine the target machine we wish to build for. At the time of writing this book, Poky supports the following machines in its reference BSP:

  • beaglebone: This is BeagleBone, that is the reference platform for 32-bit ARM
  • genericx86: This is a generic support for 32-bit x86-based machines
  • genericx86-64: This is a generic support for 64-bit x86-based machines
  • mpc8315e-rdb: This is an NXP MPC8315 PowerPC reference platform
  • edgerouter: This is EdgeRouter Lite, that is the reference platform for 64-bit MIPS

The machines are made available by a layer called meta-yocto-bsp. Besides these machines, OpenEmbedded-Core also provides support for the following:

  • qemuarm: This is the QEMU ARM emulation
  • qemuarm64: This is the QEMU ARM64 emulation
  • qemumips: This is the QEMU MIPS emulation
  • qemumips64: This is the QEMU MIPS64 emulation
  • qemuppc: This is the QEMU PowerPC emulation
  • qemux86-64: This is the QEMU x86-64 emulation
  • qemux86: This is the QEMU x86 emulation

Other machines are supported through extra BSP layers and these are available from several vendors. The process of using an extra BSP layer is shown in Chapter 10, Exploring External Layers.

The local.conf file is a very convenient way to override several default configurations over all the Yocto Project's tools. Essentially, we can change or set any variable, for example, add additional packages to an image file. Though it is convenient, it should be considered as a temporary change as the build/conf/local.conf file is not usually tracked by any source code management system.

There are several variables which can be set inside the build/conf/local.conf file. It is worth taking some time and reading the generated file comments to get a general idea.

主站蜘蛛池模板: 行唐县| 秭归县| 嘉善县| 广宗县| 龙口市| 濮阳县| 广水市| 沈丘县| 宝山区| 阿鲁科尔沁旗| 修武县| 金秀| 景洪市| 固阳县| 竹北市| 玉龙| 潞西市| 青岛市| 滨海县| 榆社县| 白河县| 应用必备| 崇左市| 三亚市| 皮山县| 文登市| 时尚| 凤城市| 邢台市| 张家港市| 吴旗县| 临汾市| 雅安市| 合阳县| 北宁市| 通辽市| 广宁县| 乌兰察布市| 雅安市| 永昌县| 惠安县|