在 yocto/poky 中使用 SELinux

Posted

技术标签:

【中文标题】在 yocto/poky 中使用 SELinux【英文标题】:using SELinux in yocto/poky 【发布时间】:2018-03-15 06:13:54 【问题描述】:

设置:我正在运行 Ubuntu 16.04,我正在尝试构建一个包含一些来自 meta-selinux 的食谱的映像。我已经尝试按照自述文件和其他帮助进行操作,但我被卡住了。

这是我拥有的图层:

drwxrwxr-x 19 ubuntu ubuntu 4096 Oct  3 18:31 meta/
drwxrwxr-x 14 ubuntu ubuntu 4096 Oct  3 22:49 meta-openembedded/
drwxrwxr-x  5 ubuntu ubuntu 4096 Oct  3 18:31 meta-poky/
drwxrwxr-x  8 ubuntu ubuntu 4096 Oct  3 18:31 meta-selftest/
drwxrwxr-x 16 ubuntu ubuntu 4096 Oct  3 22:51 meta-selinux/
drwxrwxr-x  7 ubuntu ubuntu 4096 Oct  3 18:31 meta-skeleton/
drwxrwxr-x 15 ubuntu ubuntu 4096 Oct  3 22:19 meta-virtualization/
drwxrwxr-x  9 ubuntu ubuntu 4096 Oct  3 18:31 meta-yocto-bsp/
drwxrwxr-x  7 ubuntu ubuntu 4096 Oct  3 23:12 openembedded-core/

我的 bblayers.conf 文件有:

# POKY_BBLAYERS_CONF_VERSION is increased each time  build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "$TOPDIR"
BBFILES ?= ""

BBLAYERS ?= " \
  /yocto/poky/meta \
  /yocto/poky/meta-poky \
  /yocto/poky/meta-yocto-bsp \
  /yocto/poky/meta-openembedded/meta-python \
  /yocto/poky/meta-selinux \
  "

当我尝试做 bitbake core-image-minimal 时,我得到:

ERROR: Layer 'meta-python' depends on layer 'openembedded-layer', but this layer is not enabled in your configuration

所以,我将该层添加到 bblayers.conf。

BBLAYERS ?= " \
  /yocto/poky/meta \
  /yocto/poky/meta-poky \
  /yocto/poky/meta-yocto-bsp \
  /yocto/poky/meta-trio \
  /yocto/poky/meta-openembedded \
  /yocto/poky/meta-openembedded/meta-python \
  /yocto/poky/meta-selinux \
  "

现在我明白了

ERROR: Unable to start bitbake server
ERROR: Last 10 lines of server log for this session (/yocto/poky/build/bitbake-cookerdaemon.log):
    return bb.parse.handle(fn, data, include)
  File "/yocto/poky/bitbake/lib/bb/parse/__init__.py", line 117, in handle
    return h['handle'](fn, data, include)
  File "/yocto/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 134, in handle
    abs_fn = resolve_file(fn, data)
  File "/yocto/poky/bitbake/lib/bb/parse/__init__.py", line 140, in resolve_file
    raise IOError(errno.ENOENT, "file %s not found" % fn)
FileNotFoundError: [Errno 2] file /yocto/poky/meta-openembedded/conf/layer.conf not found

我不知道该去哪里。 meta-openebedded 是从 repo 克隆的,我没有删除错误消息中提到的 /conf/layer.conf。

【问题讨论】:

为什么要结束投票? 【参考方案1】:

在我的 bblayers.conf 中,我应该有

/yocto/poky/meta-openembedded/meta-oe \

而不是

/yocto/poky/meta-openembedded \

【讨论】:

以上是关于在 yocto/poky 中使用 SELinux的主要内容,如果未能解决你的问题,请参考以下文章

Postgresql DB安装和使用问题记录

解决zabbix的web界面zabbix服务器端运行中 显示为 不

在 Observable RxSwift 中使用 'asPromise()' 可以在 PromiseKit Promise 中使用吗?

可以在 SELECT 查询中使用 IF() 但不能在 UPDATE 中使用

如何在 Python 中使用 kivy 在 TabeedPanel 中使用 GridLayout

Vue3中使用Pinia