I recently downloaded Puppy Linux which is almost 280MB .iso file. I had a 4GB USB drive. So I fired up good old dd command to burn the iso to the live usb. Everything went well, however, after live boot, all I was left with was 4MB ish disk space in the USB. Then I formatted it, burned a Debian distro in the same USB, and live booted and also got the same 4MB ish space left. Are there any ways to get around, because I think PuppyLinux would most probably not use all of the space as same as a 3GB .iso file from a Debian distro.

2 Answers 2


Puppy Linux

  • Puppy Linux suggest that you start with the simplest method, cloning, to a USB drive. This will be a live-only drive without persistence. The drive space behind the cloned image will not be used.

  • The next step for Puppy Linux in a USB drive is done in a two step procedure starting from a live-only drive.

    • Boot into Puppy in the first drive
    • Create a suitable partition and file system with gparted
    • Open the Puppy Installer from Setup in the main menu ...

From this link:

So you want to install Puppy

Naturally you can actually install Puppy if you wish. Once you boot Puppy and are happy with what you see it is time to open the Puppy Installer from Setup in the main menu. There are 3 main types of install; frugal, USB and traditional full install.


USB Install (Recommended)

This type of install copies the main puppy files from the boot media (either optical or USB) to your chosen USB drive. Firstly, you should insert the USB drive that you want to use for installation. Again using the graphical partition manager GParted you need to make sure that there is a suitable partition on the USB drive. This can be formatted to fat32 Windows™ style filesystem (good for portability if you want to use the drive as storage to be used between Linux and Windows™) or one of the supported Linux filesystems. (Note: not all Puppies support the f2fs filesystem. The installer is intelligent enough to know this.) Again, you are prompted for the location of your boot media files (either an iso image, optical media or just the files themselves) and once confirmed these are copied to a folder in your chosen USB drive. A bootloader is then installed and once finished you can reboot into your new system. This can be booted on any computer you like! This is also a type of frugal installation.

Again, this will be a pristine system that requires you to save your session at shut down if you want to keep your settings. Once saving the session is complete, a pupsave file or folder is created. On you next boot your files and settings will be exactly as you left them at last shutdown.


  • Also a Debian live iso file can be cloned to create a live-only drive, where the drive space behind the cloned image will not be used.

  • But it is possible to create a new partition in the unallocated drive space behind the cloned image. This can be used as a partition for persistence or as a simple data partition.

    You can do it manually with fdisk and mkfs, or automatically with mkusb-plug

  • Another alternative is to use mkusb-dus alias mkusb version 12 to create a more advanced persistent live drive with a 'usbdata' partition and a partition for persistence.


With dd you write the disk image including partition table as is. Since the Puppy image is minimised to the required content, the partition size of the ISO is independent from your USB size and only contains Puppy (plus 4MB free).

I'm not aware of a direct option on booted Puppy to expand the partition to full USB size (like it is available of Raspberry Pi images). One option could be to mount the USB on another Linux and expand the partition with gparted.

Other option would be to do a proper install on the USB drive (not just dd the iso) as described in the Puppy manuals: Puppy Linux Installation and Usage.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .