OK, my experiences
yes you most likely need another sd card, unless you are so lucky you can get a usb boot
This is a bit hit or miss
Whatever block device you are writing to has to be unmounted, and you are writing to whole block device, not a partition
I prefer something like .... xzcat someImage.xz | dd of=/dev/emmc bs=1M status=progress
You can unxz, takes more space and the original xz is deleted at the end
DO NOT neglect the bs=, writing 512B chunks takes forever, not so good for media either
All images have a uboot package in 1st 16M, all uboots are not created equal, it's a bit of a crap-shoot
You can rsync a booted sd, exclude sys dev proc run ,, make empty directories for them on the target
(and take care where "/" go,, ie rsync -a sd/bin/ emmc/bin, you don't want /bin/bin)
(and edit fstab extlinux.conf and mbr partition table to suit emmc AND install some uboot, 2 or 3 files)
all this done as root of course
Do use a reasonable quality sd card, lots of crap out there
yes you most likely need another sd card, unless you are so lucky you can get a usb boot
This is a bit hit or miss
Whatever block device you are writing to has to be unmounted, and you are writing to whole block device, not a partition
I prefer something like .... xzcat someImage.xz | dd of=/dev/emmc bs=1M status=progress
You can unxz, takes more space and the original xz is deleted at the end
DO NOT neglect the bs=, writing 512B chunks takes forever, not so good for media either
All images have a uboot package in 1st 16M, all uboots are not created equal, it's a bit of a crap-shoot
You can rsync a booted sd, exclude sys dev proc run ,, make empty directories for them on the target
(and take care where "/" go,, ie rsync -a sd/bin/ emmc/bin, you don't want /bin/bin)
(and edit fstab extlinux.conf and mbr partition table to suit emmc AND install some uboot, 2 or 3 files)
all this done as root of course
Do use a reasonable quality sd card, lots of crap out there