我在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”在启用安全启动的情况下不加载。
值得一提的是,我在使用安全启动时没有遇到任何其他问题。
有没有办法强制“ashmem”在启用安全启动的情况下加载?
无法在启用安全启动的情况下加载“ashmem”是功能还是错误?
如果它是一个错误,那么 Launchpad 上的哪个位置是报告错误的最佳位置?
对于上述内容,我将补充说我在Ubuntu …
在另一篇文章中,我报告说:
我在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)
现在,我仍然很好奇 …