You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto Dunfell环境下ARM7设备升级Java 17遇Segmentation Fault问题

问题:Yocto适配Java 17至ARM7只读rootfs时的Segmentation Fault问题

当前环境

  • 原Yocto层适配Java 8,目标升级至Java 17
  • 目标设备:ARM7(基于Poky的ARM架构),rootfs为只读模式
  • 当前使用meta-java版本:commit e122acf3e9570ceb055e55feb41e5558463253e4

尝试的适配仓库

1. meta-adoptium

  • 可正常完成构建与部署,但在设备上运行java或java -jar命令时出现Segmentation Fault错误
  • 直接在设备上解压官方Java tar包运行无异常
  • 已修改layer.conf添加Java ARM配置,自定义do_install流程设置文件权限,问题依旧

2. meta-openjdk-temurin

  • 构建阶段报错,推测该仓库不支持Dunfell版本

后续测试与推断

  • 修改do_unpack流程为:
    gunzip -c ${THISDIR}/files/OpenJDK17U-jre_arm_linux_hotspot_17.0.12_7.tar.gz | tar xopf -
    
    将镜像中的Java文件复制到本地再传到设备可正常运行,但刷入.wic镜像后仍报错
  • 修改do_install流程,同时将Java文件复制到/usr/lib/jvm/openjdk-17-jre和/home/java路径:
    • 运行/usr/lib/jvm/openjdk-17-jre/bin/java报错
    • 运行/home/java/bin/java可正常输出
  • 推断结论:问题并非Java文件本身存在异常,而是Yocto针对/usr/lib/jvm路径的后处理流程导致运行错误

内容的提问来源于stack exchange,提问作者Svalinn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 11:32:05