Puppy HD install woes

Booting, installing, newbie
Post Reply
Message
Author
maleemi
Posts: 4
Joined: Wed 21 Sep 2005, 17:22

Puppy HD install woes

#1 Post by maleemi »

I'm trying to get puppy to work on an old toshiba laptop with no cd-rom or USB.

I copied the four files vmlinuz, usr_cram, image.gz and pupxide to a newly formatted 300mb FAT16 partation and used rawrite to create a boot disk from boot2pup.img

When I boot from the floppy the kernal vmlinuz and the RAM disk image.gz load fine but then I get the following 3 errors:

Puppy cannot find a suitable partition for your personal data files....Press Enter to run puppy totally in ramdisk

Puppy was unable to locate the file usr_cram.fs....it's absence means that X cannot be started but you will at least get the command prompt

Cannot mount home device: Cannot save personal files...this means that puppy was unable to mount a persistent home partition.

Can anyone tell me what is going wrong and how I may fix it?

Best Regards,

Marcel

User avatar
BlackAdder
Posts: 385
Joined: Sun 22 May 2005, 23:29

#2 Post by BlackAdder »

Puppy looks for a FAT32, EXT or EXT3 partition to put its pupxxx file on, so you will have to re-format that drive if you want to store settings, documents etc. , I am afraid. And was that file usr_cram or usr_cram.fs?

Bruce B

#3 Post by Bruce B »

I believe you are mistaken.

maleemi is booting from a floppy disk and the normal search puppy goes through is not applicable.

Reformatting the HD is not necessary. Giving the 300 MB size it would not be particularly easy to format it as FAT32 either. The reason why is MS-DOS Fdisk won't do it. There are ways, but FAT16 is fine.

I think it best if maleemi posts the tiny.exe command arguments, maybe we can see what the problem is.

Guest

#4 Post by Guest »

I'm pretty sure BlackAdder is right, as the partition search is in the boot scripts. So regardless of how you boot the search will be the same.

Tho not having looked at the boot scripts I'm not too sure what method is used to identify a partiton as vfat. I have a MP3 player that is partioned FAT16 but is mounted by the system as vfat and can handle long filenames.

From the Puppy FAQ
When the live-CD boots up, Puppy looks for a vfat, ext2/3 or reiserfs partition, in that order, and if found creates a 256M file on it, named "pup001". This file is actually a complete ext2 filesystem, and Puppy mounts this on /root, and it becomes your home folder and keeps all your personal files and settings. This is a very safe technique and is unlikely to mess up your hard drive as no partitions are being created or modified, just a file created.
Using tiny and booting the LiveCD are basically the same thing, kernel and initrd getting loaded into memory the kernel decompresses itself and then after it has done that the / filesystem is mount and init (which is a script) is run where after a bit of code Puppy does a pivotroot and the rest of the boot process is transferred to busybox's init.

Bruce B

#5 Post by Bruce B »

bladehunter wrote:I'm pretty sure BlackAdder is right, as the partition search is in the boot scripts. So regardless of how you boot the search will be the same.
Respectfully, you are mistaken.
Tho not having looked at the boot scripts I'm not too sure what method is used to identify a partiton as vfat. I have a MP3 player that is partioned FAT16 but is mounted by the system as vfat and can handle long filenames.
Correct and that's how I do it also.
From the Puppy FAQ

When the live-CD boots up, Puppy looks for a vfat, ext2/3 or reiserfs partition, in that order, and if found creates a 256M file on it, named "pup001". This file is actually a complete ext2 filesystem, and Puppy mounts this on /root, and it becomes your home folder and keeps all your personal files and settings. This is a very safe technique and is unlikely to mess up your hard drive as no partitions are being created or modified, just a file created.
I'm not arguing or even discussing the live-CD and its search sequence, so why bring it into the discussion? Unless you think has a relationship with booting with a boot manager, which apparently you do.
Using tiny and booting the LiveCD are basically the same thing, kernel and initrd getting loaded into memory the kernel decompresses itself and then after it has done that the / filesystem is mount and init (which is a script) is run where after a bit of code Puppy does a pivotroot and the rest of the boot process is transferred to busybox's init.
I don't think much of tiny.exe, nevertheless the USER defines the location of vmlinux, initrd plus the arguments which specify the pupxxx name, size and location.

I use GRUB and again the USER defines all the aforementioned items.

With the appropriate boot loader such as GRUB, I control where I put vmlinux, image.gz and pupxxx/usr_cramfs. I can put these files on FAT16, FAT32, ext2, ext3, and reiserfs. Not to mention combinations of filesystems. (I don't mess with NTFS). I also control the size and name of the pupfile. I can in addition, use extra supported kernel parameters. Most importantly, in this scenerio, there is no search sequence at all. Except that Puppy expects usr_cram.fs to be where you specified the location of the pupxxx file.

That's how it works, and I should think you, of all people, would know this.

Guest

#6 Post by Guest »

If you give a PFILE=anyfile-none-262144...........with tiny.exe, GRUB, Lilo or any other boot manager Puppy will search for a partition, then create the pupfile on that partition and expect to find usr_cram.fs there, if not it will try the cdrom.

It doesn't matter what method you use to load Puppy, PFILE & PHOME (if defined) will be passed as an enviroment variable the the scripts will use.

Hell I could load vmlinuz & image.gz via pxe and the search will happen if PHOME isn't defined.......

If PHOME=hda1 or whatever then it will use THAT partion to mount as /mnt/home and that is where Puppy will expect to find usr_cram.fs and pup001 (or create one if it doesn't exist).

And considering all the boot scripts are contained in image.gz except, rc.local after the second boot, Puppy doesn't really know if the kernel and initrd have been loaded by isolinux, GRUB, lilo or any other boot manager or even tiny. They all do the same thing at the end of the day, load a kernel and a initrd if it's been specified.

User avatar
BlackAdder
Posts: 385
Joined: Sun 22 May 2005, 23:29

#7 Post by BlackAdder »

Oh dear. I didn't mean to start a debate. :oops:
Adopts apologetic puppy posture with head on ground between front paws

Maybe if maleemi could let us know what parameters are being passed to the tiny program, it would be a step towards helping solve the problem.

Bruce B

#8 Post by Bruce B »

bladehunter wrote:If you give a PFILE=anyfile-none-262144...........with tiny.exe, GRUB, Lilo or any other boot manager Puppy will search for a partition, then create the pupfile on that partition and expect to find usr_cram.fs there, if not it will try the cdrom.
IF you use a boot manager AND IF you give it incomplete parameters as in the example you cited above you would have some problems. The problems will be very similar to the symptoms maleemi described in the parent post.

And - that is precisely why in my first post I wrote: "I think it best if maleemi posts the tiny.exe command arguments, maybe we can see what the problem is."
It doesn't matter what method you use to load Puppy, PFILE & PHOME (if defined) will be passed as an enviroment variable the the scripts will use.
And if you are giving the proper (complete) arguments to the boot loader, the location of PHOME will also be in the boot loader instructions. Why would someone define PFILE and PHOME but not the location? Likely because they don't know what they are doing and need some help.
Hell I could load vmlinuz & image.gz via pxe and the search will happen if PHOME isn't defined.......
And again, this is why I asked to see maleemi's tiny.exe parameters.
If PHOME=hda1 or whatever then it will use THAT partion to mount as /mnt/home and that is where Puppy will expect to find usr_cram.fs and pup001 (or create one if it doesn't exist).
If you know all this, then why did you argue in the first place to this effect: "I'm pretty sure BlackAdder is right, as the partition search is in the boot scripts. So regardless of how you boot the search will be the same."

There won't be a search if the location is defined. It does make a difference how you boot.
And considering all the boot scripts are contained in image.gz except, rc.local after the second boot, Puppy doesn't really know if the kernel and initrd have been loaded by isolinux, GRUB, lilo or any other boot manager or even tiny. They all do the same thing at the end of the day, load a kernel and a initrd if it's been specified.
In my first response, I disagreed that reformatting the hard drive to FAT32 is necessary, and asked to see tiny.exe's arguments.

In my second response, I explained in reasonable detail how it actually works, when using a boot manager such as tiny.exe and especially grub.

If you disagree with anything I actually wrote, please state with specificity what I wrote and how you disagree.

PS BlackAdder, it is not a debate. It is a technical (and potentially educational) discussion about how things work. Don't feel bad.

silly Blade

#9 Post by silly Blade »


And if you are giving the proper (complete) arguments to the boot loader, the location of PHOME will also be in the boot loader instructions. Why would someone define PFILE and PHOME but not the location? Likely because they don't know what they are doing and need some help.
Hey this is how the cd boots by not giving PHOME.....Now if you only have one partition this is where usr_cram.fs is expected to be, right ?

It's only when you have multiple partitions that you really need to define PHOME, right ?

I had a quick squiz at the boot scripts and Barry uses probepart to find a valid partition, now I can't tell what method probeaprt uses to decide whether a partition has been formatted vfat or fat.

Mayhaps if the 300MB partition was reformatted with a Win95B (osr2) boot disk or Win98 the trouble may not come up. Could probepart be looking into the File Allocation Table to work how the partition was formatted to decide whether it is vfat (long file names) for just fat (8.3) ?

With my Puppy on my Laptop I have mutliple partitions and multiple versions of puppy so I define PFILE and PHOME just so I know it will be the same time and time again.

Bruce B

#10 Post by Bruce B »

silly Blade wrote: Hey this is how the cd boots by not giving PHOME.....Now if you only have one partition this is where usr_cram.fs is expected to be, right ?
If you boot from CD, it will use the usr_cram.fs on the CD, if there isn't one where Puppy decides to make the pupxxx file.

Back with version .9x?, I couldn't get it to use a FAT16 partition at all automatically. Since those days, I've taken control of where things go.
It's only when you have multiple partitions that you really need to define PHOME, right ?
Or you could just cooperate with the nature of Puppy. In the parent post, it seems Puppy wouldn't (couldn't) find a suitable partition even though there was one.
I had a quick squiz at the boot scripts and Barry uses probepart to find a valid partition, now I can't tell what method probeaprt uses to decide whether a partition has been formatted vfat or fat.
My guess is if it is FAT16, it calls it 'msdos'. If it is FAT32 it calls it 'vfat'.
Mayhaps if the 300MB partition was reformatted with a Win95B (osr2) boot disk or Win98 the trouble may not come up. Could probepart be looking into the File Allocation Table to work how the partition was formatted to decide whether it is vfat (long file names) for just fat (8.3) ?
Can't do it with an OSR2 or Win98 boot disk. MS FDISK requires the partition be in the neighboorhood of > 520 MB before it will make a FAT32.

FWIW - FAT16 handles long file names and Puppy runs fine on FAT16 partitions.
With my Puppy on my Laptop I have mutliple partitions and multiple versions of puppy so I define PFILE and PHOME just so I know it will be the same time and time again.
Equally.

Sharke
Posts: 22
Joined: Wed 17 Aug 2005, 02:43
Location: Brisbane Australia

#11 Post by Sharke »

Maleemi
Obviously the posters so far are all experts on how to boot puppy . I feel sure one of them will get
around to answering yor question.
Regards
Sharke
Puppy Full Speed Aheadnewsharkee@hypermax.net.au

Guest

#12 Post by Guest »

I just registered here to ask a very similar question. Booting from CD on a Toshiba Satellite Pro 4200 with fat32 partition and 192 mb RAM. Puppy announces that it will copy usr_cram.fs to ramdisk:
Copying usr_cram.fs from CD to /...

cp: writing '/usrcram.fs' : no space left on device
Mounting usr_cram.fs file on /usr
attempt to access beyond end of device
07:00: rw=0, want =90261, limit=59224
attempt to access beyond end of device
07:00: rw=0, want =90261, limit=59224
attempt to access beyond end of device
07:00: rw=0, want =90261, limit=59224

SQUASHFS error: sn_bread failed reading block 0x16065
SQUASHFS error: unable to read cache block [58195:abd]
SQUASHFS error: unable to read inode [58195:abd]
SQUASHFS error: Root inode create failed
mount: Mounting /dev/loop0 on /usr failed: invalid argument
SUCCESS ALL PERSONAL FILES WILL BE AUTO SAVED IN HOME DEVICE
This means that Puppy was unable to mount a partition in /root
cp: cannot start '/root0/.etc/modprobe.conf0' : No such file or directory
mount: Mounting none on /usr failed: No such device

Failed]

Pausing for 60 seconds...
Setting Hostname: puppypc
loading "us" (USA) keyboard map...done
/root/ .etc/rc.d/rc.local0: /usr/sbin/hwclock: No such file or directory
Note: /etc/modules.conf is more recent than /lib/modules/2.4.29/modules.dep
Note: /etc/modules.conf is more recent than /lib/modules/2.4.29/modules.dep
Note: /etc/modules.conf is more recent than /lib/modules/2.4.29/modules.dep
parport0: PC-style at 0x378 (0x778) [PCSPP, TRISTATE]
parport 0: irq 7 detected
Setting up interface lo...
ln: /root/.thumbnails: File exists


Busybox v0.60.5 (2004.09.18-2:04+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Sorry, cannot start X. File /usr/X11R6/bin/X missing.
If X is supposed to be installed, probably Puppy was unable to mount usr_cram on /usr.fs on /usr

#
I am such a newb to linux that it's embarassing, but it looks to be reporting a RAM error???

Have run memtest and it's clean.

So far no linux boot cd has run succesfully on this machine.

I am going to dig out an old Tecra and see if it will run on that (I'll try an even older one of I can find a boot floppy), but "Toshiba" seems to be the common problem.

Any ideas?

Praxis

[/quote]

User avatar
Ian
Official Dog Handler
Posts: 1234
Joined: Wed 04 May 2005, 12:00
Location: Queensland

#13 Post by Ian »

Guest ,which version of Puppy are you trying to boot.

Guest

#14 Post by Guest »

Sharke wrote:Maleemi
Obviously the posters so far are all experts on how to boot puppy . I feel sure one of them will get
around to answering yor question.
Regards
Sharke
LOL.....I know eveyone is trying to be helpfull and I do appreciate the efforts :lol:

I ended up pulling the HD from the geriatric Toshiba, hooking it up to my semi-modern Dell Latitude via USB then formatting a FAT32 partition and copying the Puppy files.

Once the HD was re-installed in the Toshiba, Puppy booted just fine (if somewhat slowly) from the floppy.

Now I just need to get puppy to boot directly from the HD and recognize a 802.11g wireless card and I'm set.

Best Regards,

Marcel

Post Reply