【问题标题】:how to delete deploy/images/beaglebone dir in yocto如何在 yocto 中删除 deploy/images/beaglebone 目录
【发布时间】:2017-08-11 05:38:09
【问题描述】:

在我的 yocto 源中,deploy/images/beaglebone 目录接近 100GB,所以我想释放该内存

请帮助我如何手动或通过命令行删除该部署目录

I want to clean all images(*.tar.gz,*.sdcard, *.ubifs) of previous compilation in yocto deploy/images/beaglebone/

【问题讨论】:

    标签: yocto build-system


    【解决方案1】:

    也许当您在部署目录中有 100GB 时,事情已经走得太远了。

    检查您的 IMAGE_FSTYPES 变量。我的经验表明,删除这些不是符号链接或符号链接目标的文件的所有图像是安全的。避免生成最后一个,以免破坏最后一个构建链接,以及任何与引导加载程序和配置文件相关的内容,因为它们很少会重新生成。

    如果您保留多个具有相同层集的构建,则可以使用通用下载文件夹进行构建。

    DL_DIR ?= "common_dir_across_all_builds/downloads/"

    然后:

    保持 /deploy 干净:

    RM_OLD_IMAGE:通过从 DEPLOY_DIR 变量指向的图像目录中删除相同图像的先前构建版本来回收磁盘空间。在 local.conf 文件中将此变量设置为“1”以删除这些图片:

    RM_OLD_IMAGE = "1"

    IMAGE_FSTYPES 删除您不打算使用的图像类型,您可以随时在需要时启用特定类型:

    IMAGE_FSTYPES_remove = "tar.bz2"

    IMAGE_FSTYPES_remove = "rpi-sdimg"

    IMAGE_FSTYPES_remove = "ext3"

    对于 /tmp/work,不需要所有配方的所有工作文件。您可以指定您对开发感兴趣的那些。

    RM_WORK_EXCLUDE: 启用 rm_work 后,此变量指定不应删除其工作目录的配方列表。有关详细信息,请参阅“rm_work.bbclass”部分。

    INHERIT += "rm_work"

    RM_WORK_EXCLUDE += "home-assistant widde"

    【讨论】:

    • 亲爱的@urnenfeld 感谢您的回复。当我使用 RM_OLD_IMAGE 时,它只是删除最后修改的图像,而不是以前编译更多次的所有图像。所以我想清理所有图像,而不仅仅是最后一个。请提出其他建议。谢谢你。
    • 是的,很遗憾,在您设置此选项之前完成的所有操作都需要手动删除。请注意所有这些选项都转到您的 conf/loca.conf
    • 是的,这只是我在回答中提到的,但有没有其他选择@urnenfeld。
    • 亲爱的@urnenfeld,我只手动删除了 rootfs 文件(.tar.gz 和 *.sdcard,.ext*)而不是其他文件。但请确保不要删除最近编译的 rootfs(使用 ls -l 命令时可以找到软链接会显示)
    • 7 月 20 日 15:52 tke-its-box-image-ITS_Box.emmc -> tke-its-box-image-ITS_Box-20170720101808.rootfs.emmc 7 月 20 日 15:52 tke-its- box-image-ITS_Box.ext4 -> tke-its-box-image-ITS_Box-20170720101808.rootfs.ext4 注意:以上是最后编译的 RFS 的软链接。确保不要删除 .cfg 文件
    【解决方案2】:
    I just removed the files manually like below
    1. goto build/deploy/images/beaglebone
    
    2. $ ll : you will find the softlinks of rootfs with time like
    ......*20170811091521.rootfs.tar.gz
    ......*-20170811091521.rootfs.sdcard etc
    3. Dont delete recently compiled files. except these this you can remove all *.tar.gz, *.sdcard,*.ext4 manually like below,
    
    4. rm beaglebone-20170811091521.rootfs.tar.gz
       rm beaglebone-20170811091521.rootfs.sdcard
       rm beaglebone-20170811091521.rootfs.ext4    etc.
    

    【讨论】:

      【解决方案3】:

      从您的构建根目录rm -fr deploy/images 尝试此操作。 Here 是一个很好的话题讨论

      【讨论】:

      • 谢谢@tony,在图像目录里面有一个自述文件。那就是告诉不要手动删除文件。那该怎么办?
      • 如果你想释放硬盘空间,rm -rf tmp 文件夹。 tmp 文件夹是 ~temporary~ 并将在下次构建期间重新创建
      • 亲爱的托尼,我试过你的链接,我删除了 rm -rf /build/deploy/images 现在它给出了错误。
      • 如果部署目录被删除,我会“bitbake image -c cleanall” & 可能也会删除图像配方的 ${WORKDIR}(至少)。通过这种方式,也许引导文件也被重新生成了
      • @VadalasettiSivanageswararao 很高兴它帮助了你
      猜你喜欢
      • 2022-11-10
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      相关资源
      最近更新 更多