[yocto] How to config kernel in my own meta layer?
Fan Zhang
fzhang at sgl.com
Thu Dec 21 07:32:21 PST 2017
Greetings,
I have a recipes that requires 128MB of CMA allocation for DMA. I
followed the instruction in
http://www.yoctoproject.org/docs/1.6/kernel-dev/kernel-dev.html#changing-the-configuration
and did the following:
My recipes structure:
meta-mylayer\recipes-my\uio-test\
1. Then in uio-test folder, I have uio-test.bb that created by
recipetool (in general) with some modification. uio-test.bb looks like
this:
#------------------------------------------------------------------
# Recipe created by recipetool
# This is the basis of a recipe and may need further editing in order to
be fully functional.
# (Feel free to remove these comments when editing.)
# Unable to find any files that looked like license statements. Check
the accompanying
# documentation and source headers and set LICENSE and LIC_FILES_CHKSUM
accordingly.
#
# NOTE: LICENSE is being set to "CLOSED" to allow you to at least start
building - if
# this is not accurate with respect to the licensing of the software
being built (it
# will not be in most cases) you must specify the correct value before
using this
# recipe for anything other than initial testing/development!
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
# No information for SRC_URI yet (only an external source tree was
specified)
PV = "2.0.2"
SRC_URI = "file://src"
# NOTE: this is a Makefile-only piece of software, so we cannot generate
much of the
# recipe automatically - you will need to examine the Makefile yourself
and ensure
# that the appropriate arguments are passed in.
do_configure () {
# Specify any needed configure commands here
:
}
do_compile () {
# You will almost certainly need to add additional arguments here
cd ${WORKDIR}/src
oe_runmake
}
FILES_${PN} = "/www/pages /etc/lighttpd.d"
do_install () {
# This is a guess; additional arguments may be required
cd ${WORKDIR}/src
oe_runmake install 'DESTDIR=${D}'
}
DEPENDS = "libgcc boost"
RDEPENDS_${PN} = "libgcc boost-thread boost-system lighttpd
lighttpd-module-cgi"
#------------------------------------------------------------------
2. Also in uio-test folder, I have uio-test.bbappend file with these
contents:
#------------------------------------------------------------------
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://uio-test.cfg"
#----------------------^^^^^^^^^^^^^^^^^^^-------------------------
3. In uio-test/files folder, I have uio-test.cfg with the following
contents:
#------------------------------------------------------------------
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA=y
CONFIG_CMA_AREAS=7
CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=128
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_OF=y
CONFIG_XILINX_DMA_ENGINES=y
CONFIG_XILINX_DMA=y
CONFIG_DMA_API_DEBUG=y
CONFIG_HAS_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_ARM_DMA_MEM_BUFFERABLE=y
CONFIG_ZONE_DMA_FLAG=0
#----------------------^^^^^^^^^^^^^^^^^^^-------------------------
My question: I think the cfg file is being parsed because if I change
the folder name files to something else, bitbake will complaint about
not being able to find uio-test.cfg. However, the final .config in built
do not have the CMA allocated. My meta layer does have a priority higher
than the upstream layers. What else can cause the problem here? Any
suggestions? Thanks.
Fan Zhang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20171221/7712e40d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fzhang.vcf
Type: text/x-vcard
Size: 175 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20171221/7712e40d/attachment.vcf>
More information about the yocto
mailing list