Hey, welcome to Linux Forums. What exact kind of cloning are you trying to do? If you want to do an exact byte-for-byte clone, your source and destination partitions must be the same size. I usually make an image of my operating system like this:
Code:
dd if=/dev/sda1 of=/mnt/external-source/my-os.img
You'll have to repeat this for every partition you need to copy. Then I copy the image(s) onto the destination host (if it's only supposed to be running a single operating system, I boot off a Linux LiveCD first.) Then I do something like
Code:
dd if=my-os.img of=/dev/sda1
etc.
If you want to simply copy files, that's fairly straightforward, too. Mount the destination partition on your source host, something like this (this example uses NFS):
Code:
mount -t nfs 192.168.1.2:/media/partition2 /mnt/pnt
Then just cp the files, taking care to preserve permissions and symbolic links:
You'll probably have to use --exclude-dir on the /dev and other pseudofilesystems, though, and then recreate the nodes with mknod.
Finally, you don't want to forget about your bootloader... it might already work if you installed it to your root partition and it's been marked 'active'; if it's installed to your MBR, you might have to use dd to copy it:
Code:
dd if=/dev/sda of=mbr-of-os.img bs=446 count=1
Then copy the image to the other computer, and copy it into its MBR:
Code:
dd if=mbr-of-os.img of=/dev/sda bs=446 count=1
Or, you could chroot into your environment and use the 'grub' and 'lilo' installer tools to reinstall it. Or, you could boot off a Linux CD and reinstall the bootloader from there. Or, I could stop making suggestions. :P
Hope that helped and made some sense to you, sorry if it didn't (it's 3:45 AM here).