Ich bin in der eingebetteten Welt ziemlich neu, also verzeihen Sie mir, wenn das offensichtlich erscheint.
Ich arbeite an einer Platine, die auf dem AT91SAM9260 basiert. Ich habe 256 MB Flash und 64 MB RAM. Das aktuelle Setup flasht zwei uImages. Das erste ist ein reines RAMDISK-Wiederherstellungsimage und das zweite ist das Haupt-uImage. Das erste wird verwendet, um rootfs.ubifs für das Haupt-uImage auf /dev/mtd1 zu flashen.
Eines der Probleme, auf die ich stoße, ist, dass beim Flashen des Root-Dateisystems vom Wiederherstellungsimage nicht genügend Speicher vorhanden ist. Abhängig von der Größe des Root-Dateisystems wird beim Flashen nicht genügend Speicher vorhanden sein. Ich verwende TFTP, um das Image auf das Gerät zu ziehen und es zu flashen. Es muss also zusammen mit dem Wiederherstellungs-uImage im Speicher verbleiben.
Gibt es vielleicht eine effizientere Möglichkeit, dies zu tun? Obwohl das Ziel natürlich darin besteht, unser Root-FS klein zu halten, da es auf ein eingebettetes Gerät übertragen wird, haben einige unserer Kunden andere Anforderungen und haben nichts dagegen, wenn das Betriebssystem etwas mehr Flash-Speicher belegt.
Antwort1
Sie könnten versuchen, vor dem Flashen einige Prozesse (Dienste wie Samba, SNMP usw.) zu beenden (vorausgesetzt, dass nach Abschluss der Aktualisierung ein Neustart durchgeführt wird), um mehr Speicher verfügbar zu machen.