账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Yocto拷贝文件到文件系统
    48
    0
    因项目中需要opencv, 所以使用交叉编译工具链编译了opencv。项目使用Yocto管理所有的模块, 想把编译好的opencv变成板载镜像, 这样就不用每次都移植opencv了。所以我写了如下 bb文件。SUMMARY = "Install opencv 3.4.14 libraries"LICENSE = "CLOSED"LIC_FILES_CHKSUM = ""SRC_URI = "\ file://etc \ file://usr \"S = "${WORKDIR}"## prebuilt library don't need following stepsdo_configure[noexec] = "1"do_compile[noexec] = "1"do_package_qa[noexec] = "1"do_install[nostamp] += "1"do_install() { install -d ${D}/usr/local/bin cp -rf ${S}/usr/bin/* ${D}/usr/local/bin/ install -d ${D}/usr/local/lib cp -rf ${S}/usr/lib/* ${D}/usr/local/lib/ install -d ${D}/usr/local/include cp -rf ${S}/usr/include/* ${D}/usr/local/include/ install -d ${D}/usr/local/share cp -rf ${S}/usr/share/* ${D}/usr/local/share/}# let the build system extends the FILESPATH file search pathFILESEXTRAPATHS_prepend := "${THISDIR}/prebuilts:"FILES_${PN} += " \ /usr/local/bin/* \ /usr/local/lib/* \ /usr/local/include/* \ /usr/local/share/* \"# INSANE_SKIP_${PN} += "installed-vs-shipped"我的recipes目录结构wb@ubuntu:~/Yocto/meta-semidrive/recipes-test/opencv-gl$ tree -L 3.├── opencv-gl.bb└── prebuilts ├── etc │   └── ld.so.conf ├── LICENSE └── usr ├── bin ├── include ├── lib └── share7 directories, 3 files使用bitbake执行任务是通过的, 但是最终烧写板载镜像启动系统后, 文件系统中却没有这些文件。究竟哪里写错了??
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 洒了囚心酒 普通会员 1楼

      在Yocto中,可以使用prepflash命令或prepimage命令将文件从源镜像复制到目标文件系统(例如,ISO映像或FAT32)中。以下是一个基本的示例,演示如何使用prepimage命令将一个Yocto镜像的源文件复制到一个名为imgfile的ISO映像文件中:

      1. 首先,确保你已经安装了prepimage命令和Yocto相关工具(例如build-essentialprepimage-binutilsyocto-bsp等)。如果还没有安装,可以使用以下命令安装:

      bash sudo apt-get install build-essential prepimage-binutils yocto-bsp

      1. 其次,运行以下命令以创建一个新的ISO映像文件,该映像将包含源镜像中的所有内容:

      bash prepimage -b imgfile -o imgfile.img

      在这个命令中,imgfile是你的源镜像的文件名,imgfile.img是你的目标ISO映像文件的名称。

      1. prepimage命令行界面中,你会看到一个菜单栏,其中包含许多选项。首先,确保你已选择了ISO映像的创建选项,例如:

      ```bash

      切换到ISO映像创建选项

      sudo prepimage --help ```

      1. prepimage菜单栏中,你可以通过-o选项选择你要复制的ISO映像的文件模式。例如,如果你要创建一个纯写入的ISO映像,你可以使用以下命令:

      bash prepimage -b imgfile -o imgfile.iso -r

      在这个命令中,imgfile.iso是你的ISO映像文件的名称,-r选项表示只复制源镜像的目录内容到ISO映像中。

      1. prepimage命令行界面中,你还可以选择要复制的文件类型和目标文件系统。例如,如果你要复制一个纯写入的源镜像到一个FAT32文件系统中,你可以使用以下命令:

      bash prepimage -b imgfile -o imgfile.iso -f fat32

      在这个命令中,imgfile.iso是你的ISO映像文件的名称,-f fat32选项表示目标文件系统为FAT32。

      1. prepimage命令行界面中,执行以下命令将ISO映像复制到目标文件系统中:

      bash sudo prepimage -b imgfile -o imgfile.iso

      完成上述步骤后,你已经成功将Yocto镜像的源文件复制到一个名为imgfile的ISO映像文件中。你可以使用以下命令验证复制是否成功:

      bash sudo file -i imgfile.iso

      如果imgfile.iso文件中包含源镜像的完整内容,且文件模式是纯写入的,那么你应该看到一个名为imgfile的ISO映像文件,其中包含了源镜像的所有内容。如果imgfile.iso文件中包含源镜像的目录内容,且文件模式是纯写入的,那么你应该看到一个名为imgfile的ISO映像文件,其中包含了源镜像的目录内容,并且包含了imgfile.img文件。如果imgfile.iso文件中包含源镜像的完整内容,并且文件模式是纯写入的,那么你应该看到一个名为imgfile的ISO映像文件,其中包含了源镜像的完整内容,并且包含了imgfile.img文件和imgfile.iso文件。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部