Clone EMMC modules

Hi there Forum,

I’m hoping someone can explain the right way to clone a configures OS on emmc module. I started with the default OS image and have now applied the many changes we need for our project. I initially used a 32GIG emmc but now want to use 64GIG emmc.

I have used clonezilla many times for SD cards and never an issue going small > big. However, with emmc it seems even clonezilla doesn’t work due to a boot EFI file that the backup of the 32GIG image is not getting?

Is the only option to use dd? What is the correct way to burn emmc modules? I need to burn upwards of 50 emmc modules so keen on clonezilla / partimage so the file / burn time is not so long.

Any suggestions as so far I’m bashing my head it seems :frowning:

Hope to get some ideas soon.

Bye for now

For your future projects - perhaps this would be a better way to make your own custom image.

I have never used clonezilla but DD or etcher and others which I think use the DD code have no problem with small to big.
You just end up with the smaller partition on a not fully used drive that you then need to resize the partition to the full extent.

So guessing its just clonezilla as it needs to be a complete clone.

Taking your 1st dd clone to a .img and if you google I think you can write to multiple devices at the same time.

What you can do is shrink the file system and then dd to the last block +1 then just resize that so you are only writing out used space.

Trim and then use part or gparted to shrink the partition as small as you can get then

sudo fdisk -l

    Disk /dev/sda: 64.0 GB, 64023257088 bytes
    255 heads, 63 sectors/track, 7783 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0000e4b5

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          27      209920   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              27         525     4000768    5  Extended
    Partition 2 does not end on cylinder boundary.
    /dev/sda5              27         353     2621440   83  Linux
    /dev/sda6             353         405      416768   83  Linux
    /dev/sda7             405         490      675840   83  Linux
    /dev/sda8             490         525      282624   83  Linux

sudo dd if=/dev/sda of=/your_directory/image_name.iso bs=8225280 count=526

526 just being blocks + 1. blocksize on sd / emmc is 512 I think from mem

then gparted / part growpart/resize2fs to full drive size.

Thank you for you help Stuart - Much appreciated.

I wasn’t aware dd can do “partial” backups - That’s brilliant!

However, I sadly did something wrong - My fdisk -l didn’t seem to give the data your fdisk -l did.

I used the -u=cylinders to try get the correct info as per

But then using that I tried the dd command as

But although this seemed to burn all okay, the image doesn’t boot.

Any idea where I went wrong on the numbers?

Any help appreciated - Many Thanks :slight_smile:

Yeah your block size bs sector size should be 512 but your count was right.
I think usually is with sd or emmc but fdisk -l is right it was just the example was from a hardrive and not sd or emmc

But before you take an image open up in gparted with ubuntu or a live-usb, resize and pull the partition left so its as small as it can be as much of a DD write is writing blank portions of the disk.