Page 1 of 1

Upgraded to 2.16, now Puppy won't boot

Posted: Sun 20 May 2007, 02:29
by tarambuka
I load Puppy from HD. When 2.15CE was released, then I simply replaced inird.gz, zdrv_214.sfs,vmlinuz and pup_214 and Puppy updated itself with no problems.
Today I tried to do the same with 2.16, but unfortunately it couldn't work.
After succesfully booting and decompressing
An error occurs -
Cannot find Puppy on 'idehd' boot media
PUPMODE=1 PUPDEV=
Exited to initial ramdisk (/dev/ram0)
bin/sh:can't access tty jobcontrol turned off

The very strange thing is that I can't return to previous versions, even if I restore old files. The same error message appears.
I noticed that there is a swap file but I can't locate where it is under Windows
I have a Linux partition and I can see it with a plugin for Total Commander, but there is no swap file in there too.
How can I fix the problem? Thank You.

Posted: Sun 20 May 2007, 04:50
by Bruce B
I'm unable to answer 2.16 specific questions, as it is only a couple days old and I've not had time to play with it.

I can however, point you to its release notes, maybe you can learn something there, while you are waiting for someone here to answer your questions.

http://www.puppylinux.com/download/release-2.16.htm

As far as losing partitions, I think Total Commander's plugin looks for ext2 and ext3 partitions. I think its a great plugin, but I'd want to look for it in Linux.

How about booting an older version of Puppy using the pfix=ram parameter? Then probedisk for the partition to see if its there. If so try and mount it.

Posted: Sun 20 May 2007, 12:22
by Dougal
I assumed we'd start getting these messages soon...

In 2.16 Barry changed the way the init script works and it now expects the sfs file to be in the same directory as initrd.gz.
That directory is specified with the parameter "psubdir", which defaults to "boot", so since you're sfs is probably on the root of the partition (as it always was...) it won't work.

Try searching the forum, it was mentioned in the last few days.

Posted: Sun 20 May 2007, 12:53
by muggins
that's odd dougal, as i've got initrd.gz in /boot & pup_216.sfs in / , for a frugal install, and haven't encounterd any problems? and i haven't altered grub's menu.lst from whatever i had there bfore, except the title. i.e. no use of
"psubdir".

Posted: Sun 20 May 2007, 13:31
by HairyWill
Dougal,
I don't think you've put that quite right.
From the horses mouth
http://www.murga-linux.com/puppy/viewto ... 311#117311

If your initrd.gz and vmlinuz are anywhere else but / or /boot in your partition then you need to use the kernel parameter psubdir=/boot216 or wherever it is you have them. Your .sfs files should always be in the root of the partition.

Posted: Sun 20 May 2007, 14:06
by pupshock
strangely, when i put initrd.gz in hda6/boot, it could not be found
when this line is in menu.lst:
initrd (hd0,5)/initrd.gz.
Puppy was happy only with this line:
initrd (hd0,5)/boot/initrd.gz.
I itially thought it meant that the default location for initrd.gz is
root, and /boot is not searched automatically (must be specified).
An alternative explanation is that the default location for initrd.gz
is in _the same location as vmlinuz_, which is root or /boot.

Anyway, all theory. Someone should test it.

Upgraded...

Posted: Sun 20 May 2007, 20:59
by tarambuka
Gentlemen, I solved the problem! I just renaimed vmlinus, pup_216 etc. and their extensions in lowercase (in the iso file they are with uppercase) and 2.16 started immediately.

Posted: Sun 20 May 2007, 21:09
by GuestToo
not in the iso i have:

# mount -o loop puppy-2.16-seamonkey-fulldrivers.iso /mnt/data
# ls /mnt/data
boot.cat boot.msg initrd.gz isolinux.bin isolinux.cfg pup_216.sfs vmlinuz zdrv_216.sfs
# umount /mnt/data
#

if you copied the files using Windows, then Windows may have changed the case of the file names ... Linux is case sensitive (but you can configure it so it isn't), Windows is not case sensitive

Posted: Mon 21 May 2007, 02:23
by BarryK
G2, yes, this problem also came up in another thread. Presumably the person downloaded the files or put the files in place while running Windows, which copied them to all upper-case characters.

The 'init' script does check for upper-case PUP_216.SFS and ZDRV_216.SFS and renames them, so I don't know why it won't boot. I'll have to setup the same situation and find out why it won't work.
Ah, it doesn't rename INITRD.GZ, and the init script looks for initrd.gz, so that is probably the cause of the failed boot.

Posted: Mon 21 May 2007, 02:38
by pupshock
curioser & curioser.

with initrd (hd0,5)/initrd.gz,
1. initrd.gz can be found in either root or /boot.
2. INITRD.GZ can be found in root but not /boot

but with initrd (hd0,5)/boot/initrd.gz (lowercase)
INITRD.GZ (uppercase) _can_ be found in /boot

the ways of Redmond are mysterious ...

Posted: Mon 21 May 2007, 05:52
by Bruce B
I don't know if this post will help or add mystery.

DOS / WIndows is in a way very case sensitive - the truenames of files and directories are always UPPER CASE.

The mixed case, lower case and long file names you see in Windows are aliases.

I don't know what filesystem you are booting from, you didn't say. Or I would have explained more.

Posted: Mon 21 May 2007, 07:00
by pupshock
b'jeezus ...

all i can say is ex-pee is a piece of s***!
why cant M$ just say it properly;
upper is upper and lower is lower, long or short!

Frugal Installation

Posted: Mon 21 May 2007, 07:26
by vanchutr
Pup216 worked with frugal installtion.

1. Use GRUB on hda1 (C: in Windows)
+ I'd made the directories C:\boot and c:\boot\grub
+ In C:\boot I'd put tw file: vmlinuz and initrd.gz
+ In C:\boot\grub I'd used the menu.lst:

Code: Select all

timeout 0
default 0
title Puppy RAM
    rootnoverify (hd0,0)
    kernel /boot/vmlinuz root=/dev/ram0 init/etc/init ramdisk_size=16384 PFILE=pup_216.sfs PHOME=hda1
    initrd /boot/initrd.gz
+ On C:\ I 'd put the pup_216.sfs
That' s all

2. Use SYSLINUX (On hda5 = D:\ in Windows)
+ Make the directory D:\iso216
+ In D:\iso216 we saw these files: vmlinuz, initrd.gz and the options.txt with this content:

Code: Select all

vmlinuz
root=/dev/ram0
rw
initrd=initrd.gz
vga=normal
ramdisk_size=16384
init=/etc/init
lang=en
apm=power-off
nomce
noapic
noacpi
noscsi
quiet
PMEDIA=idehd
BOOT_IMAGE=pup_216.sfs
+ (Very Important): On C:\ I'd put the pup_216.sfs
+ That's all

Any comments? Thank you

Posted: Mon 21 May 2007, 09:01
by BarryK
Remove all of this, it does nothing:

Code: Select all

init/etc/init ramdisk_size=16384 PFILE=pup_216.sfs PHOME=hda1 
...this is stuff from older Puppy versions.

All you need on that line is:

Code: Select all

kernel /boot/vmlinuz root=/dev/ram0 pmedia=idehd 

Posted: Mon 21 May 2007, 12:10
by vanchutr
Thank you Barry