docker - gcp 上的 v4l2loopback 无法 depmod / 编译
问题描述
我正在尝试在 gcp 实例内的 docker 容器上使用 v4l2loopback 制作假网络摄像头。
我正在debian:stretch
使用4.9.0-9-amd64
内核
到目前为止,这些是我尝试编译 v4l2loopback 的步骤:
- `apt install linux-headers-$(uname -r)` 安装正确的头文件
- `apt-get install kmod` 和 `apt-get install make` 所以我可以使用 `make` 和 `depmod` 功能
- `apt-get install aufs-dkms aufs-tools aufs-dev` 获取 `modules.builtin.bin` 文件
完成上述步骤后,我克隆了 v4l2loopback 存储库、运行make && sudo make install
命令和 finallydepmod -a
命令。但是当我跑步时depmod -a
,我收到了这个警告:
depmod: WARNING: could not open /lib/modules/4.9.0-9-amd64/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/4.9.0-9-amd64/modules.builtin: No such file or directory
当我手动检查时,目录内没有modules.order
and 。modules.builtin
/lib/modules/4.9.0-9-amd64
所以当我尝试使用 加载 v4l2loopback 模块时modprobe v4l2loopback
,它给了我这样的错误:
modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file '/lib/modules/4.9.0-9-amd64/modules.builtin.bin'
modprobe: ERROR: could not insert 'v4l2loopback': Operation not permitted
我怎样才能解决这个问题?或者我怎样才能在我的环境中正确编译v4l2loopback
?
解决方案
就我而言,我意识到只能通过insmod
命令而不是加载模块,modprobe
然后您就可以使用了。在这里您可以找到有关这些方法之间差异的说明。
例子:sudo insmod PATH/TO/THE/FILE/v4l2loopback.ko devices=2 card_label="camera1","camera2" exclusive_caps=1,1
推荐阅读
- python - 部分填充 PIL ImageDraw Line
- woocommerce - woocommerce 第三方运输方式
- nuget - 使用 jfrog-cli 递归下载 nuget 包及其依赖项
- docker - 连接到上游 [Mastodon] 时,nginx connect() 失败(111:连接被拒绝)
- python - 可以使训练有素的 ANN(张量流)模型可预测吗?
- elasticsearch - Elasticsearch 放置角色 API
- ruby-on-rails - Rails Active Record Query - 向项目创建者/成员显示项目
- r - 基于其他列在 R 中添加新列
- reactjs - 在 React SSR 的组件之外检索 url 参数
- android - Google Play 控制台无用的错误消息