V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RE1IFE
V2EX  ›  Android

求助安卓内核 Docker/LXC 编译

  •  
  •   RE1IFE · 5 天前 · 1101 次点击

    求助,我想给我的红米 k40pro+( haydn )修补内核提供 docker 支持。拉了最新的 LineageOS 21 的源代码,先是利用官方工具编译了整个系统。然后得到的对应 out 目录下的 kernel .comfig 文件,然后利用.config 通过 make menuconfig 手动把 docker 检测脚本的参数全部打开了。之后替换了 arch/arm64/configs/lahaina-qgki_defconfig 再 mka bootimage 。刷入 boot 后无法启动会开在红米界面和重启。

    真的球球大佬指点一下了😭 已经试了好几天了

    12 条回复    2024-12-11 20:49:29 +08:00
    seers
        1
    seers  
       5 天前 via Android
    你编译完了先不要加 docker 参数能起来吗
    RE1IFE
        2
    RE1IFE  
    OP
       5 天前
    @seers 如果是没有改动配置的情况下,在我自己本地编译的 bootimage 刷入之后是可以正常的启动的。但是改了一些内核参数( docker 容器相关的参数)之后,不管是 Anykernel3 刷入还是编译整个 bootimage 都会卡米然后重启。
    amrnxcdt
        3
    amrnxcdt  
       5 天前
    @RE1IFE #2 只修改了内核参数那就二分法测一下是加哪个参数之后不能启动。可能是内核缺一些功能。
    RE1IFE
        4
    RE1IFE  
    OP
       5 天前
    @amrnxcdt 好的 我再去调整试一试
    s82kd92l
        5
    s82kd92l  
       4 天前
    如果有安装第三方 recovery,重启后进入 recovery,可能可以看到 ramoops/PSTORE 之类的信息。我之前编译内核的时候经常用到
    RE1IFE
        6
    RE1IFE  
    OP
       4 天前
    @s82kd92l 我用 anykernel3 adb sideload 刷入之后,recovery 都进不去了,然后重新刷入 bootimage 之后在 recovery 里 adb 查看的日志主要是:
    [ 57.537987] subsys-pil-tz soc:qcom,ipa_fws: Direct firmware load for ipa_fws.mdt failed with error -2
    [ 57.537996] subsys-pil-tz soc:qcom,ipa_fws: Falling back to sysfs fallback for: ipa_fws.mdt
    [ 57.541366] ueventd: firmware: loading 'ipa_fws.mdt' for '/devices/platform/soc/soc:qcom,ipa_fws/firmware/ipa_fws.mdt'
    [ 57.541758] ueventd: firmware: could not find firmware for ipa_fws.mdt
    [ 57.541771] ueventd: firmware: attempted /etc/firmware/ipa_fws.mdt, open failed: No such file or directory
    [ 57.541783] ueventd: firmware: attempted /odm/firmware/ipa_fws.mdt, open failed: No such file or directory
    [ 57.541794] ueventd: firmware: attempted /vendor/firmware/ipa_fws.mdt, open failed: No such file or directory
    [ 57.541805] ueventd: firmware: attempted /firmware/image/ipa_fws.mdt, open failed: No such file or directory
    [ 57.541856] ueventd: loading /devices/platform/soc/soc:qcom,ipa_fws/firmware/ipa_fws.mdt took 0ms
    [ 57.542015] subsys-pil-tz soc:qcom,ipa_fws: ipa_fws: Failed to locate ipa_fws.mdt(rc:-2)
    [ 57.542022] subsys-pil-tz: subsys_powerup(): pil_boot failed for ipa_fws
    [ 57.542029] ipa ipa3_pil_load_ipa_fws:6875 Unable to PIL load FW for sub_sys=ipa_fws
    s82kd92l
        7
    s82kd92l  
       4 天前 via Android
    @RE1IFE 重刷 pstore 就不准了...
    RE1IFE
        8
    RE1IFE  
    OP
       4 天前
    @s82kd92l 明白明白 但是除了能进 fastboot recovery 也是进不去的。我分别测试了只加 CONFIG_PID_NS=y 、CONFIG_CGROUP_DEVICE=y 都无法进入,但是去除了之后又是可以正常启动的。
    ferstar
        9
    ferstar  
       4 天前 via Android
    RE1IFE
        10
    RE1IFE  
    OP
       4 天前
    @ferstar 我看了一下,但是我这个其中 CONFIG_CGROUP_DEVICE=y 这个配置加上了之后就会重复开机了。还有一些参数也会导致这个问题,但是我没办法一个一个测下来。
    amrnxcdt
        11
    amrnxcdt  
       4 天前
    @RE1IFE #6 如果能看到开机动画,lineageos 用 userdubug 标志构建的系统,在开机动画的时候 adbd 是是会被 init 进程拉起的,参考这篇的附言:/t/1043832 ,可以把早期启动的日志拉出来看看。

    如果没到 adbd 拉起就重启、就没办法了。
    210000ling
        12
    210000ling  
       9 小时 40 分钟前 via Android
    同样难受啊,小米官方,lineageos 编译老是报错。换 crdroidos 编译成功了,打开一看,docker 的相关配置一个没动。明明检查的时候都开启了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   895 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:30 · PVG 06:30 · LAX 14:30 · JFK 17:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.