Dimungkinkan untuk menambahkan defconfig sebagai file biasa, sebagai contoh saya menempelkan beberapa bbappend yang berfungsi:
PR = "r7"
BRANCH = "ti-u-boot-2020.01"
SRCREV = "ae8ceb7b6e3acb4bc90f730e33dafc7b65066591"
FILESEXTRAPATHS_prepend := "${THISDIR}:" 
SRC_URI +=  "file://0001-Add-am335x-cmpc30-target.patch \
         file://am335x-cmpc30.dts;subdir=git/arch/arm/dts \
         file://am335x_cmpc30_defconfig;subdir=git/configs/ \
        "
 Jadi baris "file://am335x_cmpc30_defconfig;subdir=git/configs/" benar-benar memasukkan seluruh defconfig ke kode sumber u-boot.
 tidak perlu menyalin seluruh .config pribadi file ke folder build u-boot, jika perlu mengubah beberapa pengaturan di dalam defconfig, sed bekerja dengan sangat baik di dalam do_compile_prepend metode juga. contoh:
`
do_configure_prepend() {
        sed -i -e 's,CONFIG_DEFAULT_DEVICE_TREE=,CONFIG_DEFAULT_DEVICE_TREE= ${BOARD_DEVICE_TREE},g'  ${S}configs/mx7ulp_evk_defconfig
}
 `
 spasi benar-benar OK di dalam pencarian dan ganti pola. ${BOARD_DEVICE_TREE} dapat ditentukan di salah satu file konfigurasi Yocto. metode ini juga berfungsi dengan baik untuk file sumber/header yang sudah ditambal dengan daftar patch berbasis resep.
Secara teknis proses yang Anda jelaskan terdengar benar bagi saya. Namun ada beberapa kendala yang harus diperhatikan, masing-masing hal yang harus diperiksa:
- apakah .bbappend Anda benar-benar diproses?
 
Meskipun ini tampaknya menjadi kasus Anda (Anda mengetahuinya melalui output debug), ini biasanya lebih mudah diperiksa dengan:
bitbake-layers show-appends
 Ini akan memberi Anda daftar lengkap dan terperinci dari semua tambahan yang berlaku dalam situasi pembangunan Anda saat ini.
- Apakah .bbappend benar-benar memiliki efek yang diinginkan?
 
Jika lebih dari satu resep yang terlibat, hal-hal dapat menjadi rumit, dan saling menimpa. Periksa dengan
bitbake -e u-boot-imx
 untuk melihat apa yang sebenarnya terjadi. Ini paling baik digabungkan dengan menyalurkan ke less (atau pager pilihan Anda) dan kemudian mencari nilai yang dimodifikasi, seperti SRC_URI.
- Cari tahu mesin u-boot Anda.
 
Mengingat informasi dari 2., ini agak sepele:periksa variabel yang disebut
UBOOT_MACHINE
 karena inilah yang seharusnya dilihat oleh u-boot.
- Cobalah untuk tidak memberi tahu bitbake apa yang harus dilakukan terlalu detail.
 
Terutama menggabungkan sakelar -f dan -c mungkin memiliki hasil yang tidak terduga, karena pada dasarnya Anda mengotak-atik dependensi tugas. Dalam pengalaman saya, ada sesuatu yang terjadi
bitbake -c clean u-boot-imx && bitbake u-boot-imx
 seharusnya berfungsi lebih baik, karena melewati seluruh dependensi build, termasuk konfigurasi, patching, dan seterusnya.
EDIT / TAMBAHAN
Saya telah memeriksa dengan OE devs, dan masalah utamanya adalah bahwa mekanisme defconfig khusus (linux-)kernel, itu juga mengapa dijelaskan dalam manual kernel-dev.
Jadi untuk memasukkan konfigurasi Anda ke dalam build yang sebenarnya, ada satu setengah solusi.
- Cara yang benar:
 
Siapkan tambalan ke sumber u-boot. Dalam kasus Anda, itu mungkin hanya sedikit modifikasi pada file defconfig yang sudah digunakan. Miliki tambalan dalam format kanonis dan tambahkan ke SRC_URI, maka tambalan itu akan diambil secara otomatis dan lakukan triknya.
- Cara hackish (dan belum teruji, oleh karena itu hanya setengah):
 
Persiapkan konfigurasi Anda dalam format lengkap (bukan versi defconfig yang dipreteli). Kemudian tambahkan ke SRC_URI dan gunakan melalui tugas tambahan di .bbappend:
Andado_compile_prepend() {
  cp YOURFILENAME ${S}/.config
}
 Ini harus menyuntikkan konfigurasi baru secara langsung sebelum kompilasi dimulai. Mungkin perlu sedikit mengutak-atik, tetapi Anda pasti mengerti. Pendekatan lain adalah menyuntikkan defconfig Anda ke file asli.
Karena itu, saya sangat merekomendasikan cara pertama.