Page 1 of 1

Puppy won't boot: 'pup_421.sfs not found'

Posted: Sat 13 Jun 2009, 23:04
by chade76
forewarned .I dont have a floppy drive or cd drive to boot from.

I am booting from a flash drive on my other pc to the ide drive from my 366MHz Pentium II Vaio PCG-Z505R which is also connected via usb to ide converter. and putting back to my laptop as needed.

I have seen this post
and this one which is the creators of puppy laptop.

So what do I need to do? what am I missing? should I use a older version of puppy? Help please.
I also have grub loaded and ext2 on first partion , ext3 on second, and a 2 gig swap .

Posted: Sun 14 Jun 2009, 16:28
by mikeb
Try the retro version. The newer kernel may not be detecting your hard drive properly

mike

Posted: Sun 14 Jun 2009, 16:58
by chade76
yep tried it same thing.

Im wondering if since I am running the reg verion on my flash. if when I do install to HD and it ask for the iso to use and I tell it the retro if its still using the reg version.

Posted: Sun 14 Jun 2009, 17:19
by rjbrewer
A 2gb swap partition is extremely large and has caused problems
on other old laptops.

Posted: Sun 14 Jun 2009, 18:24
by mikeb
good question but as a frugal it 'should' use the right files.
Anther thing to check would be the created menu.lst in /boot that's created...could post it here to check its not trying to boot the flash stick etc.
One machine needed pmedia=scsihd in the kernel boot line for frugal to work...flash stick and full install were fine.

vmlinuz should be around 1.7MB for the retro kernel.

mike

Posted: Sun 14 Jun 2009, 21:44
by Bruce B
Seek and do not find

vmlinux -
Puppy doesn't search for this file. It relies on
directives for the location.

initrd.gz - Puppy doesn't search for this file. It relies on
directives for the location.

pup_421.sfs - Puppy searches for this file. In a rough
sense the sequence is;

1) discover all the storage media on your computer

2) mount media, as needed, search it two levels deep,
unmount the media. Deferring to finds on fast media.

================

I modified init script to only search the media where the
pup_xxx.sfs actually is on my computer, by making use of
the PDEV1= variable

(that worked great, so;)

I then modified it again to eliminate all searching by utilizing
the both PDEV1= and the PSUBDIR=

Thus the location of pup_xxx.sfs is as explicit as the
location of vmlinux and initrd.gz

The programming logic in this scenerio is; if you know
where something is, no need to search.


~

Posted: Sun 14 Jun 2009, 22:29
by chade76
ok so how did you modify it?

Posted: Sun 14 Jun 2009, 23:18
by Bruce B
chade76,

The file is init inside initrd.gz

The CD Disc is read only.

The ISO can be taken apart and put back together.

------------------

I manually install Puppy on the hard disk. This leaves
initrd.gz on writeable media where it can be opened and
modified.

This modified line filters out all media except the one
defined on the kernel line as PDEV1=

PCPARTSALL="`probepart_init -k | grep $PDEV1`"

Was probably like this:


PCPARTSALL="`probepart_init -k`"


By using PDEV1= as a filter, Puppy only knows of the
existence of one partition out of many. Thus any mounting
and searching will be limited to that one partition.

Now lots of line wrapping to follow, in Puppy everything in
dark red is one line, keep that in mind, here is Puppy's
search for the file it doesn't find for you.

FND_PUPXXXSFS="`find /mnt/data -maxdepth 2 -mount
-type f -name pup_${PUPPYVERSION}*.sfs | grep -v ' ' |
sed -e 's%^/mnt/data%%g' | tr '\n' ' '`"



Next in dark blue is the modification, Puppy is not allowed
to search and not find. I give it a directive where the
pup_xxx.sfs file actually is.

FND_PUPXXXSFS=/${PSUBDIR}/pup_400.sfs

================

Explained again for more clarity:

I use PDEV1 to limit any and all searching to one partition,
that partition is defined on the kernel line at boot time,
meaning, with this modification, I can install Puppy most
anywhere I want by using the value appropriate to the
variable

I use the PSUBDIR= variable to explicitly instruct Puppy
the location of pup_400.sfs (I'm using 4.00)

The PSUBDIR= is a variable used by Puppy for other
purposes as is the PDEV= , but as you can see, these
variables can be used to (1) make a broad search narrow
and (2) eliminate a search altogether, with a specific
directive.

Bruce

~

Posted: Thu 18 Jun 2009, 03:41
by chade76
yep bruce was right and im back.

at the booting kernal part I am now getting
"kernel panic - not syncing: No init found. try passing init= option to kerna l I get it right after the kernal boot so it doesnt even give searching for drives

any ideas?

Posted: Thu 18 Jun 2009, 04:22
by chade76
root (hd0,0)
filesystemtype ext2fs, partion type 0x83
kernal/boot/vmlinuz root=/dev/sda1 PMEDIA=idehd
[linux-bzImage, setup=0x2a00, size=0x18a82c]


unlzmang linux... done
booting kernel.
kernel panic - not syncing: no init fouind. try passing init= option to kernel.

Posted: Thu 18 Jun 2009, 05:46
by 8-bit
Clairification needed:
Is this hard drive you want to use with your laptop one that you took out of the laptop and connected to a usb converter to install Puppy on it on another computer?
Or is this a usb hard drive that you are wanting to use as a usb connected hard drive on your laptop?
If your intention is to remove the hard drive from the usb converter to install back into your laptop, and you tried to do a frugal install to it,
you should have the files vmlinuz, initrd.gz and puppyxxx.sfs on it as well as grub installed complete with menu.lst.
Your menu.lst file should look like:
title Linux
root (hd0,0)
kernel vmlinuz root=/dev/ram0 pmedia=idehd
initrd initrd.gz

This is assuming you do not have the files in a subdirectory.
My example menu.lst should work for that if you come up with a menu when you boot.
If you do not, grub is not installed correctly.
If you did a full install (not frugal), the menu.lst would look different and
syslinux would also be a file on the drive.

Posted: Thu 18 Jun 2009, 13:11
by mikeb
Seems like initrd.gz is not being found..check references to it.

mike

Posted: Fri 19 Jun 2009, 01:05
by chade76
hard drive I want to use with laptop that i took out of the laptop and connected to a usb converter to install Puppy on it on another computer..when doing install does not give me option for frugal or full. I would like to do a full install since I only have 64mb of ram.

Posted: Fri 19 Jun 2009, 01:06
by chade76
mikeb wrote:Seems like initrd.gz is not being found..check references to it.

mike
how do i check ref to it?

Posted: Fri 19 Jun 2009, 02:18
by mikeb
In the menu.lst there will be a line for initrd.gz.
You could post the contents of the file here.
install does not give me option for frugal or full.
this usually means there is no ext or ext3 partition to install to .
If only fat or ntfs then frugal is the only option.
Gparted can be used to make such partitions.

mike

Posted: Fri 19 Jun 2009, 02:48
by chade76
installing to ext2

Posted: Fri 19 Jun 2009, 14:06
by chade76
drive has 2 partions ext2 (0,0) ext3 (0,1)

Posted: Fri 19 Jun 2009, 15:30
by chade76
also If I want to use this http://www.puppylinux.org/downloads/puplets/gallibox how do I do that ? same way?

Solution to this for me

Posted: Fri 03 Jul 2009, 22:26
by bkenn
I installed a frugal install to a hard disk (dual boot) on an Acer netbook. I got the "Searching for puppy files...pup_421.sfs not found" error. Comparing the grub entry to another install I have I found that the Acer grub entry said psubdir=puppy. That could have been a typo on my part but I believe that is what was suggested by the grub wizard. I changed the entry to psubdir=puppy421 and it worked! Thought I would share since I came here looking for answers. Thanks!

Posted: Sat 04 Jul 2009, 00:23
by chade76
i found the reason for mine.. it was quite simple from the start..
When I had the hard drive connected to my pc via usb. i installed pupper with a mbr as you should. BUT the mbrs boot had pmedia=usbhd not pmedia=idehd so even with grub it was still looking for the wrong media type.