0
votes

In my chip vendors recipe they define

SRC_URI += "file://defconfig"

In my own layer, I want to override their defconfig and use my own. I have a bbappend file in my recipe-kernel layer that adds my own defconfig file. My bbappend file:

SECTION = "kernel"
SUMMARY = "Kernel config and device tree customization"

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://defconfig"
SRC_URI += "file://tree_changes.diff"

The tree_changes.diff file is being applied so my bbappend file is being used at least for that.

The problem is that the vendor defconfig is always used. I dont really want to touch the vendors recipes, is there any better way of overriding the defconfig?

The chip vendor (Atmel/Microchip) bbfile is here: https://github.com/linux4sam/meta-atmel/blob/dunfell/recipes-kernel/linux/linux-at91_5.4.bb

1
To override a recipe, the .bbappend is the best way. If it does not work, there is something else. Can you provide us the chip vendor recipe (the original .bb)?PierreOlivier
ok good to know at least im in the right direction. My bbappend file also applies a device tree diff which definately is being applied. I added the chip vendor and lnik to their bb file. I still want to use their bb file as they do other things...I just want to use my own defconfiggcb

1 Answers

1
votes

Could it be that your defconfig file is not located under ${THISDIR}/files/<machine> in your layer but rather under ${THISDIR}/files ?

${THISDIR}/files/<distro> or ${THISDIR}/files/<machine> have a higher priority than just ${THISDIR}/files.

The different defconfig files are located in

  • ${THISDIR}/files/at91sam9
  • ${THISDIR}/files/sam9x60
  • ${THISDIR}/files/sama5
  • ${THISDIR}/files/sama5d4

in vendor meta-layer, so they would still be used.

So you would need to move your defconfig file to ${THISDIR}/files/<your_machine> in your custom layer. Note that FILESEXTRAPATHS_prepend = "${THISDIR}/files:" remains the same in the recipe. Yocto takes care of extending the path.