我对嵌入式世界还很陌生,所以如果这看起来很明显,请原谅我。
我正在开发基于 AT91SAM9260 的电路板。我有 256MB 闪存和 64MB RAM。当前设置闪烁两个 uImage。第一个是 RAMDISK 仅恢复映像,第二个是主 uImage。第一个用于将 rootfs.ubifs 闪存到 /dev/mtd1 作为主 uImage。
我遇到的问题之一是从恢复映像刷新 rootfs 时内存不足。根据 rootfs 的大小,它会在刷新时耗尽内存。我正在使用 TFTP 将映像拉到设备上并刷新它。因此,它必须与恢复的 uImage 一起驻留在内存中。
也许有更有效的方法吗?虽然我们的目标是保持 rootfs 较小,但显然,考虑到它要进入嵌入式设备,我们的一些客户有不同的需求,并且不介意操作系统占用更多的闪存。
答案1
您可以尝试在刷新之前终止某些进程(如 samba、snmp 等服务)(假设更新完成后执行重新启动)以获得更多可用内存。