Yocto Initramfs添加cryptsetup软件包的事务错误

问题描述 投票:1回答:1

我正在Ubuntu 18.04 LTS和meta-tegra层(https://github.com/madisongh/meta-tegra)上使用Yocto Warrior为我的NVIDIA Jetson Nano构建根文件系统。

我想对SD卡上的某个分区进行加密,因此我需要在openembedded层中可用的cryptsetup软件包。我已经将它添加到我的映像中,并且生成的根文件系统已经安装了它。

问题是,我需要将其添加到initramfs中,以便在启动时自动解密我的加密卷。

我得到的错误显示为:

Transaction Summary
================================================================================
Install  50 Packages

Total size: 13 M
Installed size: 52 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
  file /proc conflicts between attempted installs of tegra-minimal-init-1.0-r0.aarch64 and base-files-3.0.14-r89.jetson_nano
  file /sys conflicts between attempted installs of tegra-minimal-init-1.0-r0.aarch64 and base-files-3.0.14-r89.jetson_nano

Error Summary
-------------

我将像这样的initramfs配方的cryptsetup添加到我的bbappend文件中(显示的是整个bbappend文件):

PACKAGE_INSTALL_append = " e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks"
PACKAGE_INSTALL_append = " i2c-tools"
PACKAGE_INSTALL_append = " openssl"
PACKAGE_INSTALL_append = " cryptsetup"

如果我注释掉cryptsetup行,则initramfs任务就可以顺利完成。

这是来自meta-tegra的initramfs的未附加的原始配方文件:

DESCRIPTION = "Minimal initramfs image for Tegra platforms"
LICENSE = "MIT"

TEGRA_INITRD_INSTALL ??= ""
INITRD_FSTYPES ??= "${INITRAMFS_FSTYPES}"

PACKAGE_INSTALL = "\
    tegra-firmware-xusb \
    tegra-minimal-init \
    ${TEGRA_INITRD_INSTALL} \
"

IMAGE_FEATURES = ""
IMAGE_LINGUAS = ""

COPY_LIC_MANIFEST = "0"
COPY_LIC_DIRS = "0"

COMPATIBLE_MACHINE = "(tegra)"

KERNELDEPMODDEPEND = ""

IMAGE_ROOTFS_SIZE = "8192"
#IMAGE_ROOTFS_SIZE = "16384"

inherit core-image

IMAGE_FSTYPES = "${INITRD_FSTYPES}"


如何将cryptsetup成功添加到initramfs配方中?谢谢。

linux embedded-linux yocto bitbake initramfs
1个回答
0
投票

看看https://github.com/madisongh/test-distro,我认为他们正在测试加密的rootfs

© www.soinside.com 2019 - 2024. All rights reserved.