小编Giz*_*ken的帖子

模块“ashmem”不会在安全启动时加载(但“binder”会在安全启动时加载)

概括

我在UEFI 系统上运行带有默认内核 5.4.0-42-generic(从 Main 安装)的Ubuntu 20.04.1。我想在启用安全启动的情况下加载两个内核模块(“ ashmem ”和“ binder ”)。至少对我来说,“binder”在启用安全启动的情况下加载良好,但在启用安全启动的情况下无法加载“ashmem” 。 两个模块都在禁用安全启动的情况下加载。

细节

内核包(从主安装)

  • linux-headers-5.4.0-42

  • linux-headers-5.4.0-42-generic

  • linux-image-5.4.0-42-generic

  • linux-modules-5.4.0-42-generic

  • linux-modules-extra-5.4.0-42-generic

安全启动已禁用

禁用安全启动后,我可以使用以下命令加载模块“ashmem”:

sudo modprobe ashmem_linux
Run Code Online (Sandbox Code Playgroud)

此外,在禁用安全启动的情况下,我可以使用以下命令加载模块“活页夹”:

sudo modprobe binder_linux
Run Code Online (Sandbox Code Playgroud)

因此,禁用安全启动一切都很好。

启用安全启动

启用安全启动后,我无法使用以下内容加载模块“ashmem”:

sudo modprobe ashmem_linux
Run Code Online (Sandbox Code Playgroud)

尝试这样做后,我得到以下信息:

modprobe: ERROR: could not insert 'ashmem_linux': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

但是,即使启用了安全启动,我仍然可以使用以下方法毫无问题地加载模块“活页夹”:

sudo modprobe binder_linux
Run Code Online (Sandbox Code Playgroud)

所以,我很困惑为什么“binder”在启用安全启动的情况下加载,而“ashmem”在启用安全启动的情况下加载。

值得一提的是,我在使用安全启动时没有遇到任何其他问题。

问题

  1. 有没有办法强制“ashmem”在启用安全启动的情况下加载?

  2. 无法在启用安全启动的情况下加载“ashmem”是功能还是错误?

  3. 如果它是一个错误,那么 Launchpad 上的哪个位置是报告错误的最佳位置?

附录

对于上述内容,我将补充说我在Ubuntu …

kernel modprobe secure-boot anbox

3
推荐指数
1
解决办法
2449
查看次数

ls -1 /dev/{ashmem,binder} 为 /dev/ashmem 产生预期结果,但为 /dev/binder 产生错误

背景

在另一篇文章中,我报告说:

我在UEFI 系统上运行带有默认内核 5.4.0-42-generic(从 Main 安装)的Ubuntu 20.04.1。我想在启用安全启动的情况下加载两个内核模块(“ ashmem ”和“ binder ”)。至少对我来说,“binder”在启用安全启动的情况下加载良好,但在启用安全启动的情况下无法加载“ashmem” 。两个模块都在禁用安全启动的情况下加载。

对于上述内容,我将补充说我在Ubuntu 20.04的初始干净安装期间启用了安全启动(并注册了 MOK)。即便如此,按照Rinzwind提供的优秀建议,我在初始安装运行了以下内容:

sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/`uname -r`/kernel/drivers/staging/android/ashmem_linux.ko
Run Code Online (Sandbox Code Playgroud)

运行上述命令后,我重新运行:

sudo modprobe ashmem_linux

sudo modprobe binder_linux

lsmod | grep -e ashmem_linux -e binder_linux
Run Code Online (Sandbox Code Playgroud)

成功!“ashmem”和“binder”都加载了!由于Rinzwind

更重要的是,Anbox现在开始为我启用安全启动,这是我的最终目标。:)

错误信息

尽管“ashmem”和“binder”现在都加载了,并且Anbox现在在启用安全启动的情况下为我启动(并且似乎可以正常工作),但我仍然运行以下命令:

ls -1 /dev/{ashmem,binder}
Run Code Online (Sandbox Code Playgroud)

我获得了以下信息:

ls: cannot access '/dev/binder': No such file or directory
/dev/ashmem
Run Code Online (Sandbox Code Playgroud)

现在,我仍然很好奇 …

kernel modprobe secure-boot anbox

3
推荐指数
1
解决办法
1509
查看次数

标签 统计

anbox ×2

kernel ×2

modprobe ×2

secure-boot ×2