# Pudd: Puppy universal dd

This is the first version of Pudd, and it is expected many enhancements will follow.

## Some notes on terminology

The words "disk drive" or "hard drive" refer to the entire physical drive, whereas a "partition" is part of the drive that can hold a "filesystem".

For example, in the Unix/Linux world, an entire drive may be named like this: /dev/sda, whereas the partitions inside it may be named /dev/sda1, /dev/sda2, etc.

The problem with this terminology is that in the Windows/DOS world the word "drive" may refer to a partition, not the entire drive. For example, "drive C:" is really a partition. It is more correct to refer to C: as a "logical drive", which is also a term used in the Windows/DOS world.

It is also necessary to distinguish between a partition and a filesystem, which again is blurred in the Windows/DOS world. You can create a partition in a hard drive, then create a filesystem inside it. Examples of filesystems are msdos, vfat, ntfs, ext2, ext3 and reiserfs.

A point of confusion here is the DOS "format" program. This actually creates a msdos filesystem in a partition. The DOS "fdisk" program can create and delete partitions. (note that Linux also has a "fdisk" program, and it is in Puppy)

## Copying drives or partitions

When I use the word "drive" I am normally referring to the entire drive. I use "partition" when I am referring to a partition.

Pudd can copy an entire drive or a partition. There are some restrictions here, that I hope to alleviate in future versions of Pudd:

- A drive can only be copied to another identical drive. For example, you can copy a 2GB SD card to another 2GB SD card (I don't know yet if there are any problems copying between different models/makes of SD card, or other types of Flash cards).
- A partition can be copied to another partition that is the same size or bigger. There are some details to be worked out here: for now, they must be set to have the same filesystem type. The source filesystem will overwrite whatever is in the destination partition. So far, Pudd can only resize ext2, ext3 and ext4 filesystems to fill the destination partition.

Pudd allows you to copy a drive/partition to a file, then you could copy the file to a drive/partition. However, you cannot mix the two. That is, you cannot copy a drive to a file then file to partition, as the file will contain the image of the entire drive, not just a single partition.