-   Puppy (
-   -   Booting Puppy Live from the hard drive (

ChooseLife 09-23-2007 01:05 AM

Booting Puppy Live from the hard drive
Hello everyone,

I have a laptop without cdrom/floppy and without USB boot option.
The laptop has a few Linux distros installed and now I'm trying to get Puppy working on it.

First distro (Mandrake) was installed via PXE/TFTP. Since then I used the following technique to install other Live-cd distros:

1. Boot into Mandrake
2. Create a partition
2. Mount Live-cd and copy all files from CD to the new partition
4. Add corresponding record to GRUB
5. Boot into Live Cd from HDD and install on yet another partition, if needed

That worked fine for a few livecd's, but does not seem to be that straightforward for Puppy this time.

So, what exactly I'm doing and what I'm getting:

Step 1. Downloaded SimplePup.iso to Mandrake
Step 2. Created /dev/hda8
Step 3.

# mount -t iso9660 -o loop SimplePup.iso /mnt/cd
# mkfs.msdos -T 16 /dev/hda8
# mount /dev/hda8 /mnt/hda8
# cp -r /mnt/cd/* /mnt/hda8
# echo title Simple Puppy >> /boot/grub/menu.lst
# echo kernel (hd0,7)/vmlinuz root=/dev/ram0 initrd=image.gz ramdisk_size=100000 PFILE=pupSIMP-none >> /boot/grub/menu.lst
# echo title Simple Puppy in RAM >> /boot/grub/menu.lst
# echo kernel (hd0,7)/vmlinuz root=/dev/ram0 initrd=image.gz acpi=off ramdisk_size=100000 PFILE=no >> /boot/grub/menu.lst

then I rebooted and realized that GRUB does not get FAT16 partitions
So I booted back to Mandrake and did
Step 4.

# mount -t iso9660 -o loop SimplePup.iso /mnt/cd
# mkfs -t ext2 /dev/hda8
# mount /dev/hda8 /mnt/hda8
# cp -r /mnt/cd/* /mnt/hda8
# (umount and reboot)

Then I try to boot into Puppy, initial loading works ok, but then I get (same messages for both PFILE=pupSIMP-none and PFILE=no):


IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 8192 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
FAT: bogus logical sector size 27785
UMSDOS: msdos_read_super_failed, mount aborted.
FAT: bogus logical sector size 27785
FAT: bogus logical sector size 27785
Kernel panic: VFS: Unable to mount root fs on 01:00

From what I understand, Puppy loader attempts to mount root fs as FAT, and fails, because it is ext2 and not fat. Am I correct?

Next big question is - how to get this solved? Is it possible to boot Puppy LiveCD off ext3 partition via GRUB?

As the last resort, I should be able to get my PXE/TFTP setup running again, but kind of lazy right now + would like to solve this problem

Any suggestions are appreciated.

P.S. I tried ext3 prior to ext2 - that did not work either

DavidTangye 09-25-2007 07:33 PM

Installing Puppy is simpler than that.

Copy 4 files onto the hard disk somewhere, then set grub's menu.lst entry to boot it. This is equivalent to a Puppy 'frugal install', which is the best Puppy install to do.

Files to copy are;

the initial ramdisk and kernel: initrd.gz vmlinuz
puppy: pup_217.sfs and zdrv_217.sfs, (plus add devx_217.sfs openoffice-2.2.0.sfs too if you wish for extra stuff)

My /boot/grub/menu.lst entry here shows where I place the files:


title Puppy Linux - Boot into a New Setup
rootnoverify (hd0,0)
kernel /puppy-217/vmlinuz ro root=/dev/ram0 initrd=/puppy-217/initrd.gz ramdisk_size=93952 psubdir=/puppy-217 pfix=ram
initrd /puppy-217/initrd.gz

title Puppy Linux - Normal Boot
rootnoverify (hd0,0)
kernel /puppy-217/vmlinuz ro root=/dev/ram0 initrd=/puppy-217/initrd.gz ramdisk_size=93952 psubdir=/puppy-217 PDEV1=hda1 PMEDIA=idehd
initrd /puppy-217/initrd.gz

ChooseLife 10-10-2007 12:26 AM

David, thank you for advise, I have made some progress now, but not quite there yet.

I just got time to try your suggestion. I was able to boot into Puppy, but it did not pick up usr_cram.fs file (I am trying Simple Puppy). Late in boot process it says ¨Puppy was unable to locate usr_cram.fs¨

All 3 files (image.gz, vmlinuz and usr_cram.fs) are located in /boot/puppy on hda1. Grub record is:

title Puppy Linux
root (hd0,0)
kernel /boot/puppy/vmlinuz ro root=/dev/ram0 initrd=/boot/puppy/image.gz ramdis
k_size=100000 phome=hda1 psubdir=/boot/puppy pfix=ram
initrd /boot/puppy/image.gz

I then tried putting those files on hda8 and modifying the grub entry to ¨root (hd0,7)¨ and ¨phome=hda8¨

Still same error message. Where does the loader look for the fs image and why is it not seeing it in $phome/$psubdir?

DavidTangye 10-11-2007 07:06 PM

I am fairly sure that 'usr_cram.fs' was the Puppy 1.x 'Puppy' (user) file, replaced by the 'Puppy file' pup_(vvv).sfs, eg pup_217.sfs, in version 2.00 onwards. If on booting you are getting a message about it, then your system must be finding an old version 1 of Puppy (ie a version 1 initrd.gz and vmlinuz) on your system.

Edit: I just reread your msg: I have not heard of 'Simple Puppy'. It must be based on Puppy version 1. I suggest getting the original distro for a start, from

ChooseLife 10-11-2007 09:28 PM

Thank you, I will give the main version of Puppy a try.

Interestingly, your link made me discover a new Web site! :)

I've been using all this time, because it is the first page coming up in Google, and because I'm used that Linux projects host on .org domains.

And Simple Puppy can be found in the download section of

ChooseLife 10-13-2007 04:32 PM

Yeah, puppy-3.00-seamonkey booted without a problem

And I was glad to find out that Puppy is as instant on my P3 500MHz/128Mb RAM laptop, as it was on a Pentium-D laptop I tried it on originally. It is a whole new experience - when system responds to the actions without any delay. DSL, Slax and others are not comparable to Puppy speed-wise.

However, I was rather disappointed to learn that Puppy could not pick up my noname 100Mbps ethernet card, which had no problems working with generic drivers under a dozen of other Linux distros.. Now I need to look up what modules those distos used and then google :) But that is my next challenge and does not belong to this thread


All times are GMT -5. The time now is 04:15 PM.