[yocto] how to build external firmware for kernel
lothar at denx.de
lothar at denx.de
Tue Aug 6 05:45:48 PDT 2013
Am 2013-08-05 16:38, schrieb Paul Eggleton:
> On Monday 05 August 2013 14:41:04 lothar at denx.de wrote:
>> How may I work with the STAGING_KERNEL_DIR, since I first run the
>> firmware.bb and then the kernel.bb. I think I did not understand well,
>> how I may achieve this. Do I need to install the firmware blob into
>> something like $STAGING_KERNEL_DIR/firmware? How may I proceed here,
>> could you please explain a bit more?
>
> Sorry, I misunderstood your original explanation - in that case you
> cannot use
> STAGING_KERNEL_DIR because it will only exist after the kernel has been
> built.
>
> It seems a bit odd that you'd need to build the firmware first and
> then use that
> as an input to the kernel build - is it baking the firmware into the
> module
> instead of loading the firmware at runtime like most other drivers?
>
> Cheers,
> Paul
Hi,
I think I found a solution to my issue myself, at least it works out. I
don't
know if it is nice.
Rethinking about the problem, and playing around with the information of
the
answer Paul gave me I did the following modifications.
## in firmware.bb now I do the following
(...)
do_install(){
install -d ${base_libdir}/firmware/imx/sdma || die "something wrong
with firmware path"
install -m 755 sdma-imx53.bin
${base_libdir}/firmware/imx/sdma/sdma-imx53.bin
}
## in kernel.bb
(...)
DEPENDS = "firmware-native"
do_configure_prepend(){
## set option to use the firmware
echo 'CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx53.bin"' >>
${WORKDIR}/defconfig
## fetch the firmware blob
cp -arv ${STAGING_DIR_NATIVE}/lib/firmware/imx ${S}/firmware/ || die
"no sdma-firmware found"
}
then the kernel compilation works just perfectly
BR,
L
More information about the yocto
mailing list