This service is available only in Japanese-language.

linux-imxのカーネルコンフィグレーションの変更

社内からの問い合わせです。

NXP の BSP を使用して、linux-imx のカーネルコンフィグレーションを行ったbbappendの作成を試みて
います。
bitbake linuix-imx -c menuconfig の実行後、bitbake linux-imx -c diffconfig を実行し、生成された
fragment.cfg を arch/arm64/configs/defconfig に追記しまして、このファイルに対するpatchを
作成しました。
do_copy_defconfig のコピー元のファイルは変更されていることは確認できているのですが、肝心の
.config や、defconfig は元のファイルとなっています。

linux-imx_4.14.98.bb 内の copy_defconfig task の定義部分です。
===========================================================================
addtask copy_defconfig after do_unpack before do_preconfigure
do_copy_defconfig () {
install -d ${B}
if [ ${DO_CONFIG_V7_COPY} = "yes" ]; then
# copy latest imx_v7_defconfig to use for mx6, mx6ul and mx7
mkdir -p ${B}
cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/.config
cp ${S}/arch/arm/configs/imx_v7_defconfig ${B}/../defconfig
else
# copy latest defconfig to use for mx8
mkdir -p ${B}
cp ${S}/arch/arm64/configs/defconfig ${B}/.config
cp ${S}/arch/arm64/configs/defconfig ${B}/../defconfig
fi
}
===========================================================================

addtask copy_defconfig after do_unpack before do_preconfigure
の記述されていることから、copy_defconfig task は、do_unpack
完了後に行うように記述されおり、同じくdo_unpack のタスク完了後に
実行するdo_patchとは同時に実行されてしまう可能性があります。

bbappend に以下の記述を行い、task間の依存関係を明記することで、
patchファイルで変更された内容が、.config や defconfig で使用される
ことが確認できております。

===========================================================================
do_copy_defconfig[depends] += "linux-imx:do_patch"
===========================================================================

#同じようなtask構成となっている i.MX搭載のdigi社のBSPでは、
#addtask copy_defconfig after do_patch before do_preconfigure
#となっており、この記述を参考に対応をおこないました。