Cloning entire disc on eMMC fails

I just tried once again to clone the content of my SD card which I used to boot from and install Manjaro on by using dd but it constantly fails. One of the error messages I constantly get is “not enough space”. Both memory cards are 64 GB so if I manage to boot and install on the external one I can’t explain why does this fail by the internal.

I’m also not really sure I’m doing the right thing. When first installing manjaro on my pine book pro the internal memory was completely empty. I just booted from the external memory and installed it on the same card. Then I shut the system down pulled the SD card out and by the restart the install wizard started automatically this time for installing it on the eMMC.

What am I doing wrong?

Provide the whole dd command that you’re trying to use and all of it’s output including error message.
Also output of sudo fdisk -l with both cards inserted

I fiddled with this yesterday - and it turned out to be the long way home.

When you use dd the target disk must be larger than the source - otherwise you will get the not enough space message.

Even if both storage devices is 64G they are not always equal in size. The internal emmc is divided into 3 parts mmcblk2, mmcblk2boot0 and mmcblk2boot1 - at least that is how lsblk -f shows it. This layout will make the emmc storage smaller than the SD card which in turn will throw the message above.

When booted to the sdcard you can use manjaro-arm-installer script to write to the emmc - usually the mmcblk2 device - remember to confirm by using lsblk -f

When you have confirmed the device - use sgdisk --zap-all /dev/mmcblk2 - then run partprobe to reload partition tables or reboot the system to sdcard.

Then you can launch sudo manjaro-arm-installer to install to emmc - you even get the option to encrypt the filesystem - that is if you select ext4.

Disk /dev/mmcblk2: 58.24 GiB, 62537072640 bytes, 122142720 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
Disklabel type: dos
Disk identifier: 0x00000000

Disk /dev/mmcblk2boot0: 4 MiB, 4194304 bytes, 8192 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 /dev/mmcblk2boot1: 4 MiB, 4194304 bytes, 8192 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 /dev/mmcblk1: 59.69 GiB, 64088965120 bytes, 125173760 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
Disklabel type: gpt
Disk identifier: 77EB9E07-165C-4392-828A-9F3828E9DF47

Device           Start       End   Sectors   Size Type
/dev/mmcblk1p1   62500   1000000    937501 457.8M Microsoft basic data
/dev/mmcblk1p2 1000001 125173726 124173726  59.2G Linux filesystem

Disk /dev/zram0: 5.67 GiB, 6084648960 bytes, 1485510 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Command used was:
dd if=/dev/mmcblk1 of=/dev/mmcblk2 bs=64K conv=noerror,sync status=progress

That is why … the two devices is not the same size …

What do I have to do? Arm installer takes an eternity to install and keeps getting error message…

When the arm installer throws errors it is because you didn’t zap the exising partition table.

With that - the installation may take as little 15 minutes - depending on your internet connection - and the chosen mirror.

I meant when installing it not when using it…this doesn’t make any sense…when I first installed Manjaro it automatically cloned the whole thing on the internal memory and the installation procedure started on its own after removing the sd…

I don’t know how it may have worked in the past - I know how it works now - because I only aquired a pinebook pro a short while ago.

You could use a smaller sdcard - e.g. 32G or 16 or 8 - then resize the root partition after you dd’d the image to emmc.

Arm installing procedure keeps throwing me in the same integrity check and inter conflict loop I cannot get out of…Same 20 packages that need to be checked…or updated…

You need to run - before starting the installer

sudo pacman-mirrors ---continent && sudo pacman -Syy

Is there anyway to clone the image from a usb which is just 8 GB…maybe this could help…

You could unpack the xz archive and save the unpacked .img file to the stick.

Then mount the stick while booted to the sdcard - then dd the image from the usb to emmc

sudo pacman-mirrors —continent && sudo pacman -Syyu

Arguments? EU?

it will pick a mirror from the continent - if you are in europe then it will be europe

man pacman-mirrors

It fails to update any packages…

technically you don’t need to update the sdcard - as it only serves a proxy for the installer.

You may have better succes if you are using a specific mirror - e.g. the mirror

sudo pacman-mirrors -aU

but you need a current mirror and the current metadata

sudo pacman -Syy

But if you don’t have a network connection then it will all fail as a network connection is mandatory for the installer to work.

With a fast internet connection and the mirror the install took 10 minutes - just now.

If I hadn’t had a connection it wouldn’t have downloaded packages…

Maybe it behaves different because I used a global image before now I not only used one that was specifically made for pbp but I also chose another desktop environment that this gnome. If I stop the boot sequence by pressing any key u boot loads. Could this be of any help?

Well… I managed to clone the image on the internal memory by cloning it from a smaller USB but… Now the problem is that this hasn’t installed the full version…only…lite…light…recovery… Or however they call the one that’s being installed on the SD card…

1 Like