【问题标题】: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。