【问题标题】:Insufficient space error on Intel Galileo running yocto运行 yocto 的 Intel Galileo 出现空间不足错误
【发布时间】:2025-12-18 12:55:02
【问题描述】:

我想在我的运行 yocto (iot-devkit-1.5-i586-galileo) 的英特尔 Galileo Gen 2 板上安装一个带有 npm 的新节点库。这在之前已经完美运行了几次,但是我已经到了一个地步,npm 告诉我我的系统上没有足够的空间,我真的不敢相信,因为我使用的是 8GB SD 卡并且 yocto 只需要最多 1.3GB。

当我运行 npm install geoip-lite 时,我收到以下错误:

当我运行 df -h 时,我得到以下信息:

【问题讨论】:

    标签: node.js iot yocto intel-galileo


    【解决方案1】:

    除非你告诉它,否则 Yocto 不会创建更大的 rootfs(你可以想象,如果没有明显的原因,如果图像是 4GB,那么拥有 2GB SD 卡的人会很生气)。

    您可能应该在图像配方中使用IMAGE_ROOTFS_EXTRA_SPACE = "1048576" 来设置所需的可用空间量(以千字节为单位),但请阅读IMAGE_ROOTFS_SIZE documentation 以获得更大的图景。

    【讨论】:

      【解决方案2】:

      好吧,您的 rootfs 已满(100% 已使用)。 npm install 写入rootfs,所以问题很清楚。所以要么从 rootfs 中删除不必要的位,要么增加 rootfs 的大小。

      【讨论】:

        【解决方案3】:

        我不太喜欢IMAGE_ROOTFS_EXTRA_SPACE =,因为我在 Amazon EC2 中编译了图像,这会大大增加文件 (*.sdcard *.rootfs) 的下载大小。

        我通常做的是将rootfs压缩成tar球并下载到本地。

        在我的 SD 卡中,我使用 fdisk 设置了 2 个分区,一个用于内核,另一个用于 Rootfs。将dd command 用于uboot,将内核.dtb.bin 放入第一个分区,然后将rootfs 压缩包解压缩到第二个分区。

        这样做,我确保我使用了 SD 卡中的每个空间。而且,如果需要,我更容易更改 rootfs。

        【讨论】:

          最近更新 更多