I'm fairly new to the embedded world, so forgive me if this seems obvious.

I'm working on a board based off of the AT91SAM9260. I have 256MB of flash and 64MB of RAM. The current setup flashes two uImages. The first if a RAMDISK only recovery image, and the second is the main uImage. The first is used to flash rootfs.ubifs onto /dev/mtd1 for the main uImage.

One of the problems I'm encountering is running out of memory while flashing the rootfs from the recovery image. Depending on the size of the rootfs, it runs out of memory while flashing. I'm using TFTP to pull the image over onto the device and flash it. So, it must reside in memory along with the recovery uImage.

Is there a more efficient way of doing this perhaps? While the goal is to keep our rootfs small, obviously, given it's going onto an embedded device, some of our customers have different needs and don't mind some more of the flash being taken up by the OS.


You could try to kill some process (services as samba, snmp ...) before flashing (assuming that rebooting is performed when update is complete) to get more memory available.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.