저는 임베디드 세계에 익숙하지 않기 때문에 이것이 당연해 보인다면 양해해 주시기 바랍니다.
AT91SAM9260을 기반으로 회로 기판을 개발 중입니다. 256MB 플래시와 64MB RAM이 있습니다. 현재 설정에서는 두 개의 uImage가 깜박입니다. 첫 번째는 RAMDISK 복구 이미지 전용이고 두 번째는 기본 uImage입니다. 첫 번째는 rootfs.ubifs를 기본 uImage로 /dev/mtd1에 플래시하는 데 사용됩니다.
제가 겪고 있는 문제 중 하나는 복구 이미지에서 rootfs를 새로 고칠 때 메모리가 부족하다는 것입니다. rootfs의 크기에 따라 새로 고칠 때 메모리가 부족해질 수 있습니다. 저는 TFTP를 사용하여 이미지를 장치로 가져와 플래시합니다. 따라서 복원된 uImage와 함께 메모리에 상주해야 합니다.
어쩌면 더 효율적인 방법이 있을까요? 우리의 목표는 분명히 rootfs를 작게 유지하는 것이지만 임베디드 장치에 사용된다는 점을 고려하면 일부 고객은 서로 다른 요구 사항을 갖고 있으며 OS가 더 많은 플래시 메모리를 차지하는 것을 개의치 않습니다.
답변1
새로 고치기 전에(업데이트가 완료된 후 재부팅이 수행된다고 가정) 일부 프로세스(Samba, snmp 등의 서비스)를 종료하여 더 많은 여유 메모리를 확보할 수 있습니다.