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.

[参考译文] PROCESSOR-SDK-AM69:Yocto SDK 工具链:没有创建 unistd_64.h 的规则

Guru**** 2434410 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1548021/processor-sdk-am69-yocto-sdk-toolchain-no-rule-to-make-unistd_64-h

器件型号:PROCESSOR-SDK-AM69


工具/软件:

您好、

我为 AM69 运行 PROCESSOR-SDK-LINUX v11。 我的目标是创建一个具有内核头的 Yocto SDK 工具链、交叉编译树外内核模块、以便其他人 独立于 Yocto 进行开发。

但是、我的 SDK 无法生成“unistd_64.h",“,因此、因此我无法继续。 您能帮助解决我缺少的问题吗?

主机是 x86_64 Ubuntu 22.04 Docker 容器。

我的步骤:

  1. 使用克隆 repos
    oe-layersetup.sh -f processor-sdk-linux-11_00_10_01.txt

  2. 在 local.conf 中设置
    MACHINE =“AM69-SK"</s>“
    toolchain_target_task:append =“ kernel-devsrc“

  3. 删除元铬层

  4. 使用以下工具构建 SDK:
    bitbake -c opulate_sdk tisdk-default-image

  5. 解压构建的 SDK
    arago-2025.01-toolchain-2025.01.sh

  6. 源环境
    源环境 setup-aarch64-oe-linux

  7. cd sysroots/aarch64-oe-linux/lib/modules/6.12.17-ti-00773-gcdcaeac783e3/build/

  8. 制作脚本
    做好准备

其输出为:


mscherban@ :~/ /oe-layersetup/build/deploy-ti/sdk /sysroots/aarch64-oe-linux/lib/modules/6.12.17-ti-00773-gcdcaeac783e3/build$ tc make 脚本
SYNC include/config/auto.conf
HOSTCC 脚本/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
lex scripts/kconfig/lexer.lex.c
Yacc scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD 脚本/kconfig/conf
HOSTCC 脚本/DTC/DTC.o
HOSTCC 脚本/DTC/flattree.o
HOSTCC 脚本/DTC/fstree.o
HOSTCC 脚本/DTC/data.o
HOSTCC scripts/dcc/livetree.o
HOSTCC 脚本/DTC/treesource.o
HOSTCC 脚本/DTC/srcpos.o
HOSTCC 脚本/DTC/CHECKS.o
HOSTCC 脚本/DTC/util.o
LEX 脚本/DTC/DTC-lexer.lex.c
Yacc 脚本/ddc/dcc-parser.tab。[ch]
HOSTCC 脚本/DTC/DTC-lexer.lex.o
HOSTCC scripts/dcts/dcts-parser.tab.o
HOSTLD 脚本/DTC/DTC
HOSTCC scripts/dcc/libfdt/fdt.o
HOSTCC scripts/dcc/libfdt/fDT_RO.o
HOSTCC scripts/dcc/libfdt/fDT_WIP.o
HOSTCC scripts/dcc/libfdt/fDT_SW.o
HOSTCC scripts/dcc/libfdt/fDT_RW.o
HOSTCC scripts/dcc/libfdt/fdt_streror.o
HOSTCC scripts/dcc/libfdt/fdt_empty_tree.o
HOSTCC scripts/dcc/libfdt/fDT_ADDRESS.o
HOSTCC scripts/dcc/libfdt/fDT_OVERLAY.o
HOSTCC scripts/dcc/fdtoverlay.o
HOSTLD 脚本/DTC/fdtoverlay
HOSTCC 脚本/SELinux/genheaders/genheaders
HOSTCC 脚本/SELinux/mDP/mDP
HOSTCC 脚本/kallsyms
HOSTCC 脚本/可排序
HOSTCC 脚本/ASN1_COMPLER
mscherban@ :~/ /oe-layersetup/build/deploy-ti/sdk /sysroots/aarch64-oe-linux/lib/modules/6.12.17-ti-00773-gcdcaeac783e3/build$ tc make prepar
UPD include/config/kernel.release
wrap arch/arm64/include/generated /uapi/asm/kvm_para.h
wrap arch/arm64/include/generated /uapi/asm/errno.h
wrap arch/arm64/include/generated /uapi/asm/ioctl.h
wrap arch/arm64/include/generated /uapi/asm/ioctls.h
wrap arch/arm64/include/generated /uapi/asm/ipcbuf.h
wrap arch/arm64/include/generated /uapi/asm/msgbuf.h
wrap arch/arm64/include/generated /uapi/asm/poll.h
wrap arch/arm64/include/generated /uapi/asm/resource.h
wrap arch/arm64/include/generated /uapi/asm/sembuf.h
wrap arch/arm64/include/generated /uapi/asm/shmbuf.h
wrap arch/arm64/include/generated /uapi/asm/siginfo.h
wrap arch/arm64/include/generated /uapi/asm/socket.h
wrap arch/arm64/include/generated /uapi/asm/sockios.h
wrap arch/arm64/include/generated /uapi/asm/stat.h
wrap arch/arm64/include/generated /uapi/asm/swab.h
wrap arch/arm64/include/generated /uapi/asm/termbits.h
wrap arch/arm64/include/generated /uapi/asm/termios.h
wrap arch/arm64/include/generated /uapi/asm/types.h
make[2]:***没有规则使目标“arch/arm64/include/generated/uapi/asm/unistd_64.h",“,"all"、"all"都“都需要“需要。 STOP
Make[1]:***[ /oe-layersetup/build/deploy-ti/sdk /sysroots/aarch64-oe-linux/usr/lib/modules/6.12.17-ti-00773-gcdcaeac783e3/build/Makefile tc:1225:uapi-asM-generic]错误 2.
make:***[Makefile:224:__sub-makE]错误 2.

谢谢你

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

    搜索后,我发现在 OE 核心层这个提交,但它不是在 scarthgap 分支,它听起来是什么缺失:

     https://git.openembedded.org/openembedded-core/commit/meta/recipes-kernel/linux/kernel-devsrc.bb?id=b3c24a31c29aa74a9d63a0ea0bcaccca73db870b

    对于如何在我们自己的定制层中修补此漏洞、您有什么建议吗?

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

    我能够使用新的 kernel-devsrc.bbappend 解决此问题:

    do_install:append(){
    (
    CD ${S}

    如果[“${arch}"=“=“arm64"];则“则
    # 6.12+
    cp -a --父级 arch/arm64/kernel/vdso/vgetrandom.c $kerneldir/build/ 2>/dev/null ||:
    cp -a --paramar/arm64/kernel/vdso/vgetrandom-chacha.S $kerneldir/build/ 2>/dev/null ||:

    cp -a --paramarch/arm64/tools/syscall_64.tbl $kerneldir/build/ 2>/dev/null ||:
    cp -a --paramarch/arm64/tools/syscall_32.tbl $kerneldir/build/ 2>/dev/null ||:

    chown -R root:root ${D}
    和数据
    )
    }