再次实验发现,这可能是个大乌龙。liblol 没有问题,Debian 内核也没有问题。
我今天才发现原来我忘了给我的 Debian sid 安装linux-headers
包,然后执行sudo apt install linux-headers-loong64
,重启后,使用 Debian 上游内核也可以直接跑 QQ 和龙芯浏览器了,微信内置浏览器也可以用了,再也不用加--no-sandbox
了。
原理就是 liblol 由两部分构成,旧世界运行时和内核模块 la_ow_syscall 。绝大多数程序只需要通过旧世界运行时运行, Chromium Sandbox 则既需要旧世界运行时也需要 la_ow_syscall 内核模块。旧世界运行时直接由软件包 liblol 提供, la_ow_syscall 内核模块则是由 liblol-dkms 包自动编译而来的,编译内核模块依赖 linux-headers 。我没有安装 linux-headers ,于是就不能自动编译内核模块。在我安装 linux-headers 后,dkms 就自动完成内核模块的编译和安装了。
我想楼主的 Loongnix 25 是不是也是类似的问题,可以检查一下有没有安装 linux-headers 。