In un commento a RooTer menzioni che A) hai ridotto la dimensione iniziale della partizione gparted, ma ddcopia comunque l'intera scheda e B) che desideri includere entrambe le partizioni nell'immagine.
Il problema "A" è facile da spiegare: stai ancora copiando l'intera carta perché è ciò che si /dev/mmcblk0riferisce. Le singole partizioni sono ovviamente /dev/mmcblk0p1e /dev/mmcblk0p2. Questa è la complicazione nel problema "B", ma non è possibile semplicemente ddogni partizione e concatenare i due file insieme, a causa della tabella delle partizioni all'inizio della /dev/mmcblk0 quale indicizza l'inizio e la lunghezza di ciascuna partizione. Senza quello, l'immagine sarà inutilizzabile.
Tuttavia, è possibile ottenere la lunghezza di ciascuna partizione fdisk -le utilizzarla per determinare alcuni parametri per dd. Per esempio:
> fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 16.1 GB, 16138633216 bytes
4 heads, 16 sectors/track, 492512 cylinders, total 31520768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00017b69
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 26746879 13312000 83 Linux
Le unità "Start" e "End" sono settori e si noti che la dimensione del settore è data, 512 byte. Per /dev/mmcblk0p2, 26746879 (l'ultimo settore) - 122880 (il primo settore) = 26623999/2 (per 2 settori per kB) / 1024 (kB per MB) / 1024 (MB per GB) = 12.69, che ho fatto crescere la partizione usando gparted a 12 GB, quindi questo sembra corretto (in realtà dovrei usare 1000 e non 1024 come divisore con memoria, che funziona a 13.31 GB, ma sospetto che partizionato e alcuni altri strumenti usano anche 1024).
Quindi la prima cosa che vuoi controllare è che la tua seconda partizione abbia davvero le dimensioni più piccole su cui la imposti. Quindi, basta usare quei numeri con dd; per me sarebbe:
dd if=/dev/mmcblk0 of=rpi.img bs=512 count=26746880
Ho un settore in più lì per evitare qualsiasi tipo di off da un malinteso su come ddfunziona. C'è un modo semplice per verificare se ha funzionato:
> fdisk -l rpi.img
Disk rpi.img: 102 MB, 102400000 bytes
255 heads, 63 sectors/track, 12 cylinders, total 200000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00017b69
Device Boot Start End Blocks Id System
rpi.img1 8192 122879 57344 c W95 FAT32 (LBA)
rpi.img2 122880 26746879 13312000 83 Linux
Nota che qui c'è un po 'di discrepanza: i settori "Inizio" e "Fine" corrispondono alla tabella delle partizioni originale, ma la dimensione totale nella parte superiore delle statistiche è di soli 102 MB! Questo perché in realtà l'ho usato count=200000come parametro ddperché non volevo davvero preoccuparmi di una copia da 12 GB (notare anche "totale 200000 settori"). Il motivo per cui la tabella in fondo non riflette questo è perché fdisk sta ottenendo le sue informazioni dai dati della partizione copiati alla lettera all'inizio dell'immagine sulla scheda SD, che, come ho già detto nel secondo paragrafo, è vitale mantenere. Se avessi (correttamente) copiato il resto, i numeri sarebbero copacetici e l'immagine sarebbe stata praticabile.
Provalo. :)