Sou bastante novo no mundo incorporado, então me perdoe se isso parece óbvio.
Estou trabalhando em uma placa baseada no AT91SAM9260. Tenho 256 MB de flash e 64 MB de RAM. A configuração atual exibe duas uImages. O primeiro é uma imagem de recuperação apenas de RAMDISK e o segundo é o uImage principal. O primeiro é usado para atualizar rootfs.ubifs em /dev/mtd1 para o uImage principal.
Um dos problemas que estou encontrando é ficar sem memória ao atualizar o rootfs da imagem de recuperação. Dependendo do tamanho do rootfs, ele fica sem memória durante o flash. Estou usando o TFTP para colocar a imagem no dispositivo e atualizá-la. Portanto, ele deve residir na memória junto com o uImage de recuperação.
Existe uma maneira mais eficiente de fazer isso, talvez? Embora o objetivo seja manter nossos rootfs pequenos, obviamente, visto que ele está indo para um dispositivo incorporado, alguns de nossos clientes têm necessidades diferentes e não se importam com mais flash sendo ocupado pelo sistema operacional.
Responder1
Você pode tentar encerrar algum processo (serviços como samba, snmp ...) antes de atualizar (assumindo que a reinicialização seja executada quando a atualização for concluída) para obter mais memória disponível.