Move osmc home to hdd

A possible approach might be to create a partition on the hdd which is as large or larger than the root partition on your SD card. Then clone the full root partition from the card to the new partition using dd.

Run lsblk from a console. The output will look something like this, even shorter on a typical single boot system. You can identify the correct source device by the mountpoint being only “/”.

Note the names of your root partition and the target hdd from this list. Better double check the target partition – dd will kill all previous files there!

In the console run dd if=/source of=/target bs=1M replacing source with the partition on your SD and target with the new hdd. Usually this would be “dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=1M” but again: be very carefull with the target. This may take a few minutes and look like the console froze. It did not, just don’t close it.

Booting from USB, I strongly recommend using label or UUID as an identifier. For that you need to create a label on your new root partition i.e. with the command e2label /dev/sda1 rootOSMC in the console.

After copying, you need to go to the boot partition cd /boot and edit the files cmdline.txt and os_config.json.

The cmdline.txt should contain only one line being something like this

root=/dev/mmcblkp2 osmcdev=rbp2 rootfstype=ext4 rootwait quiet

Change the part root= to point to the hdd.

The file will then look like

root=LABEL=rootOSMC osmcdev=rbp2 rootfstype=ext4 rootwait quiet

In the os_config.json similarly edit

“description” : “”,
“flavour” : “OSMC_Pi2”,
“imagefolder” : “/settings/os/OSMC_Pi2”,
“keyboard” : “de”,
“language” : “de”,
“partitions” : [
“release_date” : “”,
“videomode” : 0


“partitions” : [

After a reboot your full system with all programs and configs will be running from the hdd. Another call of lsblk will show the hdd mounted to root (just “/”) as in the screenshot above. No further adjustments whatsoever needed. :grin: