# Simple configuration (dunfell)

**URL:** <https://hub.mender.io/t/simple-configuration-dunfell/2991>\
**Category:** General Discussions\
**Created:** [December 15, 2020, 12:43pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991 "2020-12-15T12:43:07Z")\
**Posts on this page:** 10\
**Page:** 2

<div class="post-metadata">

**Author:** ![deffo](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@deffo](https://hub.mender.io/u/deffo)\
**Post date:** [March 4, 2021, 3:47pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/21 "2021-03-04T15:47:30Z")

</div>

One might think so, yes but I just changed the order in bblayers.conf to:

```
${TOPDIR}/../sources/meta-mender/meta-mender-core \
${TOPDIR}/../sources/meta-security \
${TOPDIR}/../sources/meta-intel \

```

But `bitbake -e` now shows `EFI_PROVIDER="systemd-boot"` again. Don’t know why tbh. Thanks for your help, though.

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [March 4, 2021, 4:29pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/22 "2021-03-04T16:29:03Z")

</div>

It’s probably the layer priority. Just reordering them in bblayers.conf won’t change that. You can use `bitbake-layers show-layers` to dump out all the layers and their priorities.

Drew

---

<div class="post-metadata">

**Author:** ![deffo](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@deffo](https://hub.mender.io/u/deffo)\
**Post date:** [March 5, 2021, 2:17pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/23 "2021-03-05T14:17:44Z")

</div>

You’re right, but mender has a higher priority:

```
meta-mender-core /root/build_dir/build/../sources/meta-mender/meta-mender-core 6
meta-intel /root/build_dir/build/../sources/meta-intel 5
meta-up-board /root/build_dir/build/../sources/meta-up-board 6
```

---

<div class="post-metadata">

**Author:** ![kacf](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/kacf/32/146_2.png) [@kacf](https://hub.mender.io/u/kacf)\
**Post date:** [March 5, 2021, 2:55pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/24 "2021-03-05T14:55:40Z")

</div>

Ok, then I propose you post the output of the command I suggested earlier, so we can see how it’s actually calculated:

```bash
bitbake -e core-image-minimal | grep -B100 EFI_PROVIDER=

```

---

<div class="post-metadata">

**Author:** ![deffo](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@deffo](https://hub.mender.io/u/deffo)\
**Post date:** [March 5, 2021, 3:23pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/25 "2021-03-05T15:23:19Z")

</div>

Sure, here you go:

```
#
# $DPKG_ARCH [2 operations]
# set? /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:11
# "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
# set /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:12
# [vardepvalue] "${DPKG_ARCH}"
# pre-expansion value:
# "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
DPKG_ARCH="amd64"
#
# $DPKG_BUILDCMD
# set /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:9
# [_defaultval] "dpkg-deb"
DPKG_BUILDCMD="dpkg-deb"
#
# $EFI
# set /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:14
# "${@bb.utils.contains("MACHINE_FEATURES", "efi", "1", "0", d)}"
EFI="1"
#
# $EFIDIR
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:2
# "/EFI/BOOT"
EFIDIR="/EFI/BOOT"
#
# $EFIIMGDIR
# set /root/build_dir/build/../sources/poky/meta/classes/image-live.bbclass:62
# "${S}/efi_img"
EFIIMGDIR="/root/build_dir/build/tmp/work/up_squared-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0/efi_img"
#
# $EFI_BOOT_IMAGE [5 operations]
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:12
# "bootINVALID.efi"
# override[x86-64]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:13
# "bootx64.efi"
# override[x86]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:14
# "bootia32.efi"
# override[aarch64]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:15
# "bootaa64.efi"
# override[arm]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:16
# "bootarm.efi"
# pre-expansion value:
# "bootx64.efi"
EFI_BOOT_IMAGE="bootx64.efi"
#
# $EFI_BOOT_IMAGE_aarch64
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:15
# "bootaa64.efi"
EFI_BOOT_IMAGE_aarch64="bootaa64.efi"
#
# $EFI_BOOT_IMAGE_arm
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:16
# "bootarm.efi"
EFI_BOOT_IMAGE_arm="bootarm.efi"
#
# $EFI_BOOT_IMAGE_x86
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:14
# "bootia32.efi"
EFI_BOOT_IMAGE_x86="bootia32.efi"
#
# $EFI_BOOT_IMAGE_x86-64
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:13
# "bootx64.efi"
EFI_BOOT_IMAGE_x86-64="bootx64.efi"
#
# $EFI_CLASS
# set /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:16
# "${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}"
EFI_CLASS="systemd-boot"
#
# $EFI_FILES_PATH
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:9
# "${EFI_PREFIX}${EFIDIR}"
EFI_FILES_PATH="/boot/efi/EFI/BOOT"
#
# $EFI_PREFIX [2 operations]
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:6
# "/boot"
# override[mender-image]:set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-image.inc:26
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
# pre-expansion value:
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
EFI_PREFIX="/boot/efi"
#
# $EFI_PREFIX_mender-image
# set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-image.inc:26
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
EFI_PREFIX_mender-image="/boot/efi"
#
# $EFI_PROVIDER [4 operations]
# set? /root/build_dir/build/../sources/meta-intel/conf/machine/include/meta-intel.inc:44
# "systemd-boot"
# set? /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-grub.inc:14
# "${_MENDER_EFI_PROVIDER_DEFAULT}"
# set? /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:15
# "grub-efi"
# override[x86-x32]:set /root/build_dir/build/../sources/meta-intel/conf/machine/include/meta-intel.inc:45
# "grub-efi"
# pre-expansion value:
# "systemd-boot"
EFI_PROVIDER="systemd-boot"
```

---

<div class="post-metadata">

**Author:** ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)\
**Post date:** [March 5, 2021, 4:01pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/26 "2021-03-05T16:01:57Z")

</div>

I guess it has to do with ordering of the ‘?=’ operations. I think you may just have to force it set in your local.conf.

---

<div class="post-metadata">

**Author:** ![deffo](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@deffo](https://hub.mender.io/u/deffo)\
**Post date:** [March 5, 2021, 4:13pm UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/27 "2021-03-05T16:13:22Z")

</div>

Yes, that’s what I’m doing currently. Not perfect, but it works.

---

<div class="post-metadata">

**Author:** ![kacf](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/kacf/32/146_2.png) [@kacf](https://hub.mender.io/u/kacf)\
**Post date:** [March 8, 2021, 8:07am UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/28 "2021-03-08T08:07:16Z")

</div>

Interesting, so the priority of `?=` is reverse, it’s the first one that stands, instead of the last one. This almost seems like a bug in Bitbake, it breaks layer priority.

I’m thinking it means that maybe it’s better if meta-mender does not mess with the default, but instead sets it only when it’s really needed. Does the patch below work for you?

```diff
diff --git a/meta-mender-core/classes/mender-setup-grub.inc b/meta-mender-core/classes/mender-setup-grub.inc
index 140ffb83..4909e0ef 100644
--- a/meta-mender-core/classes/mender-setup-grub.inc
+++ b/meta-mender-core/classes/mender-setup-grub.inc
@@ -11,10 +11,8 @@ PREFERRED_RPROVIDER_virtual/grub-bootconf ?= "grub-mender-grubenv"
 
 # Set EFI_PROVIDER. Not all MACHINE configs use it but notably
 # intel-corei7-64 does and without this we use the default of systemd-boot.
-EFI_PROVIDER ?= "${_MENDER_EFI_PROVIDER_DEFAULT}"
-_MENDER_EFI_PROVIDER_DEFAULT = ""
-_MENDER_EFI_PROVIDER_DEFAULT_mender-grub = "grub-efi"
-_MENDER_EFI_PROVIDER_DEFAULT_mender-grub_mender-bios = ""
+EFI_PROVIDER_mender-grub = "grub-efi"
+EFI_PROVIDER_mender-grub_mender-bios = ""
 
 python() {
     if d.getVar('MENDER_GRUB_STORAGE_DEVICE'):

```

---

<div class="post-metadata">

**Author:** ![deffo](https://avatars.discourse-cdn.com/v4/letter/d/ec9cab/32.png) [@deffo](https://hub.mender.io/u/deffo)\
**Post date:** [March 8, 2021, 11:34am UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/29 "2021-03-08T11:34:40Z")

</div>

Yeah, seems to work:

```
# set? /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:11
# "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
# set /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:12
# [vardepvalue] "${DPKG_ARCH}"
# pre-expansion value:
# "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
DPKG_ARCH="amd64"
#
# $DPKG_BUILDCMD
# set /root/build_dir/build/../sources/poky/meta/classes/package_deb.bbclass:9
# [_defaultval] "dpkg-deb"
DPKG_BUILDCMD="dpkg-deb"
#
# $EFI
# set /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:14
# "${@bb.utils.contains("MACHINE_FEATURES", "efi", "1", "0", d)}"
EFI="1"
#
# $EFIDIR
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:2
# "/EFI/BOOT"
EFIDIR="/EFI/BOOT"
#
# $EFIIMGDIR
# set /root/build_dir/build/../sources/poky/meta/classes/image-live.bbclass:62
# "${S}/efi_img"
EFIIMGDIR="/root/build_dir/build/tmp/work/up_squared-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0/efi_img"
#
# $EFI_BOOT_IMAGE [5 operations]
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:12
# "bootINVALID.efi"
# override[x86-64]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:13
# "bootx64.efi"
# override[x86]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:14
# "bootia32.efi"
# override[aarch64]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:15
# "bootaa64.efi"
# override[arm]:set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:16
# "bootarm.efi"
# pre-expansion value:
# "bootx64.efi"
EFI_BOOT_IMAGE="bootx64.efi"
#
# $EFI_BOOT_IMAGE_aarch64
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:15
# "bootaa64.efi"
EFI_BOOT_IMAGE_aarch64="bootaa64.efi"
#
# $EFI_BOOT_IMAGE_arm
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:16
# "bootarm.efi"
EFI_BOOT_IMAGE_arm="bootarm.efi"
#
# $EFI_BOOT_IMAGE_x86
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:14
# "bootia32.efi"
EFI_BOOT_IMAGE_x86="bootia32.efi"
#
# $EFI_BOOT_IMAGE_x86-64
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:13
# "bootx64.efi"
EFI_BOOT_IMAGE_x86-64="bootx64.efi"
#
# $EFI_CLASS
# set /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:16
# "${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}"
EFI_CLASS="grub-efi"
#
# $EFI_FILES_PATH
# set /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:9
# "${EFI_PREFIX}${EFIDIR}"
EFI_FILES_PATH="/boot/efi/EFI/BOOT"
#
# $EFI_PREFIX [2 operations]
# set? /root/build_dir/build/../sources/poky/meta/conf/image-uefi.conf:6
# "/boot"
# override[mender-image]:set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-image.inc:26
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
# pre-expansion value:
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
EFI_PREFIX="/boot/efi"
#
# $EFI_PREFIX_mender-image
# set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-image.inc:26
# "${MENDER_BOOT_PART_MOUNT_LOCATION}"
EFI_PREFIX_mender-image="/boot/efi"
#
# $EFI_PROVIDER [5 operations]
# set? /root/build_dir/build/../sources/meta-intel/conf/machine/include/meta-intel.inc:44
# "systemd-boot"
# set? /root/build_dir/build/../sources/poky/meta/classes/live-vm-common.bbclass:15
# "grub-efi"
# override[x86-x32]:set /root/build_dir/build/../sources/meta-intel/conf/machine/include/meta-intel.inc:45
# "grub-efi"
# override[mender-grub]:set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-grub.inc:14
# "grub-efi"
# override[mender-grub_mender-bios]:set /root/build_dir/build/../sources/meta-mender/meta-mender-core/classes/mender-setup-grub.inc:15
# ""
# pre-expansion value:
# "grub-efi"
EFI_PROVIDER="grub-efi"
```

---

<div class="post-metadata">

**Author:** ![kacf](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/kacf/32/146_2.png) [@kacf](https://hub.mender.io/u/kacf)\
**Post date:** [March 9, 2021, 9:25am UTC](https://hub.mender.io/t/simple-configuration-dunfell/2991/30 "2021-03-09T09:25:36Z")

</div>

Thanks for confirming. Then I propose [this fix](https://github.com/mendersoftware/meta-mender/pull/1321).

[Previous page](https://hub.mender.io/t/simple-configuration-dunfell/2991.md?page=1)
