This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-TDA4VM:自定义内核配置和工作流程

Guru**** 2393725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1496406/sk-tda4vm-custom-kernel-config-and-workflow

器件型号:SK-TDA4VM

工具与软件:

我正在尝试以可重复、可编写脚本的方式创建定制内核、以便检查 CM、我对 TI 工具链和工作流程并不熟悉。  我以为我有一个可行的解决方案,但我的内核变化实际上没有任何效果。  以下是我的流程。  请告诉我怎么做错了。

1.  创建了 git.ti.com/.../oe-layersetup.git (提交 ed9d4cc),创建了我自己的主分支,并将我的新主分支设置为默认。
2. 在 repo 根目录中创建了一个包含以下内容的 Makefile 文件:

Makefile_DIR :=$(abpaths $(dir $(lastword $(Makefile_list)))
a72_IPK_DIR:=$(Makefile_path) build/arago-tmp-default-glibc/deploy/ipK/aarch64/
r5_IPK_DIR:=$(Makefile_path) build/arago-tmp-default-BareMetal-k3r5/deploy/ipk/

.phony: installable-packages-list

全部:
   @./ oe-layertool-setup.sh -f configs/processor-sdk-analytis/processor-sdk-analysis-10.01.00-config.txt;\
   echo 'arago_brand ="edgeai">> build/conf/local.conf;\
   echo 'image_install:append =" vim"">> build/conf/local.conf;\
   cd build;\
   源 conf/setenv;\
   MACHINE="j721e-sk" bitbake -k tisdk-edgeai-image

我将其检查到 CM 中、将其克隆回、运行"make"并成功创建可加载映像并成功引导。  这证明我至少可以创建一个映像。  这是正确的工作流程吗?

接下来、我想实现将所有 IMX 摄像头驱动程序作为模块构建。  因此、我创建了以下定制层。

Sources/meta-Windhover
├──配置
│  └──layer.conf
├──coping.mit
├──README
└──crecipes-kernel
    └──Linux
        ├──linux-ti-staging
         │   └──camera-modules.cfg
        └──linux-ti-stage_%.bbappend

layer.conf:

#我们有一个 conf 和 classes 目录,添加到 BBPATH
BBPATH .=":${LAYERDIR}"

#我们有食谱-*目录,添加到 BBFILES
BBFILES +="${LAYERDIR}/recips-*/*.bb \
${LAYERDIR}/食谱-*/*.bbappend"

BBFILE_COLLECIES +="meta-Windhop"
BBFILE_PATTERN_META-Windhover ="^${LAYERDIR}/"
BBFILE_PRIORY_META-Windhover ="20"

LAYERDEPENDS_META-Windhover ="core meta-ti-bsp"
LAYERSERIES_COMPAT_META-Windhover ="围巾间隙"

linux-ti-stage_%.bbappend:

FILESEXTRAPATH:prepend :="${THISDIR}/${PN}:"

src_URI +="file://camera-modules.cfg"

camera-modules.cfg:

CONFIG_VIDEO_IMX208=m
CONFIG_VIDEO_IMX214=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX274=m
CONFIG_VIDEO_IMX290=m
CONFIG_VIDEO_IMX296=m
CONFIG_VIDEO_IMX319=m
CONFIG_VIDEO_IMX334=m
CONFIG_VIDEO_IMX335=m
CONFIG_VIDEO_IMX355=m
CONFIG_VIDEO_IMX390=m
CONFIG_VIDEO_IMX412=m
CONFIG_VIDEO_IMX415=m

最后,我将两行添加到 Makefile 中的"全部"配方中:

machine="j721e-sk" bitbake-layers add-layer ../sources/meta-windhover;\
machine="j721e-sk" recipetool newappend ../sources/meta-windhover linux-ti-staging;\

首先、请告诉我是否有更好的工作流程。  我确认"Build/conf/bblayers.conf "包含我的新层。  当我运行"make"时、它会成功创建一个启动映像。  但是、当我运行"zcat /proc/config.gz | grep config_video_imx"时、我看到我的所有更改都没有生效。  我在做什么错?   

附注:很抱歉开机自检格式化。  我尝试使用" 代码"块,但发现一些文本我必须放在块中导致块实际上从帖子中消失。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的"linux-ti-stage_%.bbappend"文件是否正确?   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mathew:

    与 Yocto 的配置片段标准构建过程相比、配置片段的 ti 构建过程是非标准的。

    完全替换 defconfig 会更容易。 您可以创建自己的 defconfig (带有配置片段添加项)、并将其放置在正确的目录中。 文件结构如下:

    meta-jared
    ├── conf
    │   ├── distro
    │   │   └── jared.conf
    │   └── layer.conf
    └── recipes-kernel
        └── linux
            ├── linux-ti-staging-6.6
            │   └── k3
            │       └── defconfig
            └── linux-ti-staging_6.6.bbappend

    我的 linux-ti-stage_6.6.bbappend:

    FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.6:"
    
    SRC_URI:remove = "file://defconfig"
    SRC_URI:append = "file://defconfig;subdir=."

    此致!
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢。  我将在再次构建时尝试该操作。  https://git.yoctoproject.org/meta-ti 目前将返回500页。  等待它恢复。

    我实际上上面的设置可以正常工作、但我还不确定是什么修复了它。    服务器恢复运行后、我将隔离实际修复的服务器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mathew:

    听起来不错。 服务器重新启动后、请告诉我您为修复您的设置所做的工作。

    最好知道未来的问题。

    此致!
    Jared