Não há uma maneira "mágica" de fazer o que você está tentando fazer.
Você precisa saber o tamanho exato dos dados significativos em sua imagem (se as ferramentas que você usa para criar a imagem não criarem um arquivo do tamanho da partição flash, você já deve saber disso) ou localize o fim disso de alguma forma. Como encontrar o fim depende dos dados da sua imagem e das ferramentas que você está usando para fazer isso.
Se as ferramentas que você está usando para instalar a imagem não estiverem gravando todos os blocos no dispositivo mmc
, você poderá criar uma imagem "em branco" que tenha um padrão discernível, como texto ASCII / Unicode XX_BLANK_FIRMWARE_SECTION_XX\n
repetido de novo e de novo. dd
Em seguida, você pode usar um utilitário para descobrir em que lugar da imagem atual essa sequência é iniciada, a partir da qual é possível descobrir o valor da contagem para atribuir hexdump
. Não sei exatamente quais utilitários usar para essa finalidade, mas tenho certeza de que, com um bom uso de %code% ou similar, isso pode ser feito facilmente.
Você pode ter alguns bytes de diferença, mas seria melhor do que copiar o flash inteiro, se realmente quiser evitá-lo.
Pessoalmente, eu acabei de receber um cartão SD de 16GB que pode conter várias imagens.