Перепрошивка rootfs на встраиваемом Linux с ограниченным объемом оперативной памяти

Перепрошивка rootfs на встраиваемом Linux с ограниченным объемом оперативной памяти

Я новичок в мире встраиваемых систем, поэтому простите, если это покажется очевидным.

Я работаю на плате на базе AT91SAM9260. У меня 256 МБ флэш-памяти и 64 МБ ОЗУ. Текущая установка прошивает два uImage. Первый — это образ восстановления только RAMDISK, а второй — основной uImage. Первый используется для прошивки rootfs.ubifs на /dev/mtd1 для основного uImage.

Одна из проблем, с которой я столкнулся, — это нехватка памяти при прошивке rootfs из образа восстановления. В зависимости от размера rootfs, при прошивке заканчивается память. Я использую TFTP, чтобы перенести образ на устройство и прошить его. Поэтому он должен находиться в памяти вместе с uImage восстановления.

Может быть, есть более эффективный способ сделать это? Хотя цель состоит в том, чтобы сохранить нашу rootfs небольшой, очевидно, учитывая, что она размещается на встроенном устройстве, некоторые из наших клиентов имеют другие потребности и не возражают против того, чтобы ОС занимала больше флэш-памяти.

решение1

Вы можете попробовать завершить некоторые процессы (службы, такие как samba, snmp ...) перед прошивкой (предполагая, что перезагрузка выполняется после завершения обновления), чтобы получить больше доступной памяти.

Связанный контент