Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

因内核未使能 CONFIG_USER_NS 导致在 docker 中使用 bazel 编译 android 14 内核失败(长时间卡在 processwrapper-sandbox) #4690

Open
dongfengweixiao opened this issue Dec 25, 2024 · 9 comments

Comments

@dongfengweixiao
Copy link

如题,
请问 SA6400 DSM 7.2 custom 内核的来源。
事情的缘由是,在 syno 下使用 docker 编译 android 14 的 kernel 时会卡在构建沙箱的步骤,起初怀疑是 docker 的支持有问题。
后来换用 chroot 的debian 编译还是会卡在哪里。

经过搜索发现,构建过程依赖于命名空间

在 sync 5.10.x 内核中,该特性可能与 CONFIG_USER_NS 属性是否开启有关(群晖的内核默认没有开启)。

我想要了解下当前使用的 custom 内核来源在哪里,考虑同步一份内核后开启该选项重新编译后再验证。

Copy link
Contributor

请填写以下信息.
Please fill in the following information.

Install ENV: (You can find it in the boot interface.)

  • DMI:
  • CPU:
  • NIC: (pid & vid)

RR version: (You can find it in the update menu.)

  • RR:
  • addons:
  • modules:
  • lkms:

DSM:

  • model:
  • version:

Issue:

logs:

(## 因为 log中存在 SN/MAC 等一些敏感信息, 当提供完整文件时请自行抹除他们, 当然你也可以发送到我的邮箱. ##)
(## Because the log contains some sensitive information such as SN/MAC, please delete them when providing the complete file. Of course, you can also send it to my email. ##)
...

(请先看一下#173#175#226 的内容)
(Plz review the content of #173, #175, #226 first)
...

(如果你只是说 XXX 不能用, 什么详细信息也不提供, 我也只能说感谢你的反馈.)
(If you just say XXX doesn't work without providing any details, I can only say thank you for your feedback.)
...

@wjz304
Copy link
Contributor

wjz304 commented Dec 25, 2024

Copy link
Contributor

请填写以下信息.
Please fill in the following information.

Install ENV: (You can find it in the boot interface.)

  • DMI:
  • CPU:
  • NIC: (pid & vid)

RR version: (You can find it in the update menu.)

  • RR:
  • addons:
  • modules:
  • lkms:

DSM:

  • model:
  • version:

Issue:

logs:

(## 因为 log中存在 SN/MAC 等一些敏感信息, 当提供完整文件时请自行抹除他们, 当然你也可以发送到我的邮箱. ##)
(## Because the log contains some sensitive information such as SN/MAC, please delete them when providing the complete file. Of course, you can also send it to my email. ##)
...

(请先看一下#173#175#226 的内容)
(Plz review the content of #173, #175, #226 first)
...

(如果你只是说 XXX 不能用, 什么详细信息也不提供, 我也只能说感谢你的反馈.)
(If you just say XXX doesn't work without providing any details, I can only say thank you for your feedback.)
...

@dongfengweixiao
Copy link
Author

https://github.com/RROrg/linux_dsm_epyc7002

hi,如 tg 群中的讨论,我尝试 enable CONFIG_USER_NS 后编译内核,替换 RR3 中的 zImage-dsm,重启设备后能够进入到 rr 的配置页面(通过显示器显示的内容判断),显示找到网卡,但是无法获取到 ip,导致无法远程连接到该设备。

不知道您那边是否可以通过 github action 生成 enable CONFIG_USER_NS 的调试版本以供测试?

@wjz304
Copy link
Contributor

wjz304 commented Dec 30, 2024

@dongfengweixiao
Copy link
Author

bzImage-epyc7002-7.2-5.10.55.gz

谢谢,我验证下。

@dongfengweixiao dongfengweixiao changed the title 讨论:请问SA6400 DSM 7.2 custom 内核的来源 因内核未使能 CONFIG_USER_NS 导致 android 14 使用 bazel 编译内核失败(长时间卡在 processwrapper-sandbox) Dec 30, 2024
@dongfengweixiao dongfengweixiao changed the title 因内核未使能 CONFIG_USER_NS 导致 android 14 使用 bazel 编译内核失败(长时间卡在 processwrapper-sandbox) 因内核未使能 CONFIG_USER_NS 导致在 docker 中使用 bazel 编译 android 14 内核失败(长时间卡在 processwrapper-sandbox) Dec 30, 2024
@dongfengweixiao
Copy link
Author

bzImage-epyc7002-7.2-5.10.55.gz

从测试看,当前使能CONFIG_USER_NS后,在群晖的docker中编译aosp U的内核时,能够使用linux-sandbox,而不是最开始的通用的processwrapper-sandbox。

但是因为缺少https://elixir.bootlin.com/linux/v5.10.55/source/kernel/user_namespace.c,导致 bazel 的编译还是失败。看起来文档 中提及的 如果 /proc/sys/kernel/unprivileged_userns_clone 文件存在且包含 0 很重要,没有 user namespace clone 相关的系统调用,编译过程无法继续。

@dongfengweixiao
Copy link
Author

我这边提交了2个补丁,这几个补丁也许有助于该问题的解决。

但还是那个问题,我这边编译出来的内核启动后无法获取到 IP,导致我没有办法使用我自己编译的内核验证,还请麻烦你那边编译后给我一份二进制文件,我再验证下。

@wjz304
Copy link
Contributor

wjz304 commented Jan 1, 2025

tg @ 我

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants