一个OpenHarmony rk3568编译问题

编译命令:

./build.sh --product-name rk3568 --ccache --no-prebuild-sdk --gn-args build_product_type=DEBUG --enable_notice_collection=false --gn-args load_test_config=false

在编译到内核时可能会报如下错误:

  GEN     .tmp_initcalls.lds
  LTO     vmlinux.o
  MODPOST vmlinux.symvers
WARNING: modpost: vmlinux.o(___ksymtab_gpl+rockchip_clk_register_armclk+0x0): Section mismatch in reference from the variable __ksymtab_rockchip_clk_register_armclk to the function .init.text:rockchip_clk_register_armclk()
The symbol rockchip_clk_register_armclk is exported and annotated __init 
Fix this by removing the __init annotation of rockchip_clk_register_armclk or drop the export.

  MODINFO modules.builtin.modinfo
  GEN     modules.builtin
  LD      .tmp_vmlinux.btf
ld.lld: error: undefined symbol: __aarch64_cas4_acq_rel
>>> referenced by hdf_vnode_adapter.c:294 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:294)
>>>               vmlinux.o:(HdfVNodeAdapterIoctl)
>>> referenced by hdf_vnode_adapter.c:303 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:303)
>>>               vmlinux.o:(HdfVNodeAdapterIoctl)
>>> referenced by hdf_vnode_adapter.c:428 (/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10/../../../../drivers/hdf_core/framework/core/adapter/vnode/src/hdf_vnode_adapter.c:428)
>>>               vmlinux.o:(HdfDeviceSendEventToClient)
>>> referenced 1 more times
  BTF     .btf.vmlinux.bin.o
pahole: .tmp_vmlinux.btf: No such file or directory
  LD      .tmp_vmlinux.kallsyms1
ld.lld: error: .btf.vmlinux.bin.o: unknown file type
make[2]: *** [/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/src_tmp/linux-5.10/Makefile:1225: vmlinux] Error 1
make[1]: *** [arch/arm64/Makefile:208: rk3568-toybrick-x0-linux.img] Error 2
make[1]: Leaving directory '/home/smile/OpenHarmony-v4.1.1-Release/out/kernel/OBJ/linux-5.10'
make: *** [Makefile:192: __sub-make] Error 2

解决方法:

vim kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch

找到 +MAKE="make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu-" ,删除掉CROSS_COMPILE=aarch64-linux-gnu-

其它解决方法可以尝试:rk3568 arm、arm64编译失败undefined symbol: __aarch64_cas4_acq_rel · Issue #I6VB7R · OpenHarmony/build - Gitee.com

### 回答1: openharmony-rk3568一个基于RK3568芯片的开源操作系统,它支持多种设备,包括智能家居、智能电视、智能音箱等。它的设计目标是提供一个安全、稳定、高效的操作系统,同时支持多种应用程序和开发工具。它的开源性质使得开发者可以自由地修改和定制系统,以满足不同的需求。 ### 回答2: OpenHarmony一个开源的分布式操作系统,可以支持多种硬件平台,而RK3568是一款较新的高性能芯片,两者的结合可以为用户带来更好的操作体验。 首先,OpenHarmony可以将不同的硬件设备以及网络连接在一起,形成一种分布式的系统架构,将数据、计算和存储等资源分散处理,从而提高系统的效率和安全性。而RK3568作为一款高性能芯片,拥有强大的处理能力和图形处理能力,可以为OpenHarmony提供更快速、更稳定的运行环境,同时还可以实现更丰富的用户体验。 同时,OpenHarmony的分布式架构使得它可以支持多种应用场景,例如智能家居、智慧城市、智慧交通等领域,而RK3568的高性能和强大的图形处理能力,则可以为这些应用场景提供更好的支持和优化,从而实现更好的用户体验和效果。 总之,OpenHarmonyRK3568的结合,可以为用户提供更快速、更稳定、更安全、更丰富的操作体验,为智能化的未来应用场景提供更好的支持和优化。 ### 回答3: OpenHarmony-RK3568是一款基于鲲鹏架构的开源操作系统,针对高性能应用而设计。其核心使用了华为自主研发的鸿蒙内核,结合了物联网、人工智能、云计算等多种技术,可快速实现设备快速开发和低成本生产。 该操作系统基于RK3568芯片,是一款高性能的处理器,其支持多种语言和多媒体压缩编解码功能,可实现流畅的视频播放和游戏体验。OpenHarmony-RK3568不仅适用于家庭娱乐设备,还可用于工业控制、智能家居等行业。 相比于其他操作系统,OpenHarmony-RK3568一个开放的平台,可充分利用华为丰富的资源和技术优势,灵活应用于各种不同的场景。此外,华为还为开发者提供了详细的开发文档、SDK和开发工具,帮助他们快速开发应用程序和系统服务,打造自己的智能设备生态系统。 总的来说,OpenHarmony-RK3568是一款高性能、灵活开放的操作系统,为设备制造商和开发者提供了不同的可能性。它将带来更好的用户体验和更低的开发成本,是未来智能设备行业的重要一环。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值