How to make a USB BankPup with no auto-save? (Solved)

Booting, installing, newbie
Message
Author
Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

How to make a USB BankPup with no auto-save? (Solved)

#1 Post by Mercedes350se »

Following on from and not hijacking

http://www.murga-linux.com/puppy/viewtopic.php?t=57618

I want to frugal install Puppy 3.01 - I have grown rather fond of it - to a USB drive and be able to:

1. Select either the full HD install or the frugal install during boot

2. Use the frugal install without saves during the session and save only at the end if I so choose - the method of doing this has been discussed in the above and other threads so should be 'easily' implemented.

I have copied initrd.gz, pup_301.sfs, vmlinuz and zdrv_301.sfs to the USB drive.

What do I need to do to achieve "1" above?
Last edited by Mercedes350se on Mon 02 Aug 2010, 07:10, edited 1 time in total.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#2 Post by Mercedes350se »

Due to the lack of response I have decided to experiment.

1. Created 4 partitions on a 4GB USB stick

2. Formatted them and made the first partition bootable

3. From LiveCD and using PUI installed to sdb1 (it is the 2nd USB stick in the computer - I assume frugal install as the pop up box mentioned only the 4 files that I would expect for a frugal install

4. Modified menu.lst to

# timeout 5
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title XXXX Puppy
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 ro vga=normal
# Linux bootable partition config ends
# Linux bootable partition config begins
title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sdb1 ro vga=normal pmedia=usbflash

The problem is that boot starts and then I get the message:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

What to do?

Brown Mouse
Posts: 564
Joined: Tue 09 Jun 2009, 21:06

#3 Post by Brown Mouse »

Mercedes350se wrote:Due to the lack of response I have decided to experiment.

1. Created 4 partitions on a 4GB USB stick

2. Formatted them and made the first partition bootable

3. From LiveCD and using PUI installed to sdb1 (it is the 2nd USB stick in the computer - I assume frugal install as the pop up box mentioned only the 4 files that I would expect for a frugal install

4. Modified menu.lst to

# timeout 5
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title XXXX Puppy
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 ro vga=normal
# Linux bootable partition config ends
# Linux bootable partition config begins
title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sdb1 ro vga=normal pmedia=usbflash

The problem is that boot starts and then I get the message:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

What to do?
Perhaps it is pointing to the wrong hd.
Should it possibly be (hd1,0)

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#4 Post by rcrsn51 »

title XXXX Puppy
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 ro vga=normal

title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sdb1 ro vga=normal pmedia=usbflash
It sounds like you currently have a full install of Puppy on your hard drive. In addition to the file vmlinuz that is currently in your /boot folder, add the file initrd.gz.

Assuming that you have the same Puppy version on the flash drive as on your hard drive, try the following menu.lst entry.

Code: Select all

title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz pmedia=usbflash
initrd /boot/initrd.gz

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#5 Post by rhadon »

I always get this wrong kind of entry in the menu.lst if I install frugal Puppy, Grub and MBR to a usb stick. I would change the menu.lst as rcrsn51 mentioned. For frugal install usually the puppy files are not in the folder /boot. So maybe you must change the paths. Perhaps you also have to change

Code: Select all

root (hd0,0)
as Brown Mouse wrote.

hd0,0 means the first drive (your hd) and the first partition.
hd1,3 e.g. means the second drive and the fourth partition.

~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#6 Post by rcrsn51 »

rhadon wrote:For frugal install usually the puppy files are not in the folder /boot. So maybe you must change the paths. Perhaps you also have to change

Code: Select all

root (hd0,0)
as Brown Mouse wrote.
You can put the boot files anywhere you want as long as you specify the correct paths.

Since Mercedes350se already has her vmlinuz file in /boot, it's easiest to put the initrd.gz file there too. It is required because her USB install is frugal. (Full installs on a USB device are only possible after considerable modifications.)

Since those two files are being read off the hard drive, the root (hd0,0) command is correct.

On some machines, it might be possible to use root (hd1,0) and put all the files on the USB drive. But that will only work if the BIOS detects the USB device at bootup as a secondary hard drive. In which case, you might as well boot directly off the USB device and leave your hard drive GRUB setup unchanged.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#7 Post by Mercedes350se »

Thank you all for your suggestions.

What I have is both vmlinuz and initrd.gz in /boot on the USB stick sdb1

root (hd0,0) is correct. Anything else does not work. Well it does not lead to "Uncompressing ... etc"

If I add

initrd /boot/initrd.gz

then it (initrd /boot/initrd.gz) is printed on the screen and then

Error ?? - File not found message

(I did not take particular note of the number). initrd.gz is definitely on sdb1 in /boot so I am confused.

I have spent several hours scouring the net but to no avail - frustration is beginning to set in!

Determination is still as strong as ever though.

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#8 Post by rhadon »

Try to copy initrd.gz from usb stick to /boot/ of your hd, please. As I understand, hd0,0 points to your hd. There Puppy searches for this files now. This should work.

If you are curious enough you can go to the grub command line by hitting the c key during grub meu (as declared at the bottom of the menu) and type:

Code: Select all

find /boot/initrd.gz
This should return all drives where grub can find the file. With this command you can find out easily the correct drive and path, typos and if grub can detect your usb or not. Back with esc.

@rcrsn51
It seems to me that you have had a better point of view about the problems of Mercedes350se :wink: . Using vmlinuz and initrd from hd and the rest from usb works as long as you use the same puppy. It fails if you want to install another one. That was the reason I preferred using hd1,0 (if it's detected by grub of course).
btw. there is a difference between booting completely from usb and booting from usb via grub menu of hd. With my Gericom I can't boot from usb directly (only in Superfloppy mode but that's another story) but I can boot from usb if I use the grub menu of my hd.
Please correct me if I'm wrong.

~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#9 Post by Mercedes350se »

Two things.

1. Tried rhadon's suggestion. File not found. Very interesting because I know there is no initrd.gz on the hd but there definitely is on sdb1. Easy to check using pfind.

2. The closest I have come to a solution is a reference to the fact that the kernel is looking for somewhere to place the files but the USB drive is too slow - hence kernel panic.

Questions.

1. Does this sound plausible?

2. If so how do you slow down the boot process so the USB stick can be ready?

3. rhadon What is the content of your menu.lst? You say that you can boot from USB using the grub menu on the hd. This is exactly what I am trying to do.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#10 Post by Mercedes350se »

Two things.

1. Tried rhadon's suggestion. File not found. Very interesting because I know there is no initrd.gz on the hd but there definitely is on sdb1. Easy to check using pfind.

2. The closest I have come to a solution is a reference to the fact that the kernel is looking for somewhere to place the files but the USB drive is too slow - hence kernel panic.

Questions.

1. Does this sound plausible?

2. If so how do you slow down the boot process so the USB stick can be ready?

3. rhadon What is the content of your menu.lst? You say that you can boot from USB using the grub menu on the hd. This is exactly what I am trying to do.

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#11 Post by rhadon »

Mercedes350se wrote:1. Tried rhadon's suggestion.
Which one? To copy initrd.gz to hd or the find command or both?

What happens if you copy initrd.gz to your hd? This should work for you.

If not: what does the find command return? Should be "hd0,0" or "hd1,0" or both.
If only hd0,0 though initrd.gz is also on your stick, than grub doesn't detect your usb stick. If nothing returns, be sure to write the exact path: if Pmount shows /boot/initrd.gz than type exact this to the grub command line.
...but the USB drive is too slow - hence kernel panic.
I remember I've read something about that some times ago but have forgotten because I've never had this problem. I'm not sure whether this is your problem.

Maybe rcrsn51 can help. I belive that he knows more about this stuff than I :wink: .

My menu entry is vers simple:

Code: Select all

title test usb Linux (sdb1)
rootnoverify (hd1,0)
kernel /vmlinuz pmedia=usbflash 
initrd /initrd.gz
BUT the main question is:

can grub detect your usb stick or not?

Only if it can: Where on your usb stick are the puppy files? If they are in a folder like /boot/ than you must change the path for kernel and initrd in your entry.

I tried to describe in detail as possible but I'm not an english native. So maybe there is enough space for misunderstandings. If so, I apologise.

~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#12 Post by Mercedes350se »

rhadon thank you for your help.

After a lot of searching and, I would say a great deal of luck, I followed the method in

http://www.murga-linux.com/puppy/viewtopic.php?t=42388

This seems to work BUT it appears to be running in RAM. Terrific if it is. How can I found out for certain?

I was asked if I wanted to save the session so now I have a pupsave on sdb2. Is this the indication I need?

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#13 Post by rhadon »

Congratiulation :lol:

There are many ways to reach the goal.

What's so terrific about running in ram? Maybe a misunderstanding?

Usually Puppy is running in ram, a small message during boot process confirms this.

From time to time (default is every 30 min.) Puppy saves all changes to the stick. The same happens if you shutdown. You can change this value in Menu -> System -> Puppy Event Manager -> Save session if you want.

Your pupsave file is only an indication that you have installed frugal. This means, that everything you add, copy, delete or change on this partition happens in this file. The more files you add, free space in your save file goes more and more down.

There is one exception. It's the folder /mnt/home. Everything you add or change here (or in subfolders) will be stored on your stick outside the save file.

I think it's important to know if you are new to frugal :wink:

Usually I use the same place for my save file where my other puppy files are. That's easier if you have installed more puppies. But it's not important, Puppy will find your save file everywhere.

~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#14 Post by rcrsn51 »

@Mercedes350se: Just out of curiosity, could you please post the menu.lst entry that finally worked for you?

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#15 Post by Mercedes350se »

@rcrsn51

# timeout 5
color light-gray/blue black/light-gray
# End GRUB global section
# Linux bootable partition config begins
title XXX Puppy
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1 ro vga=normal
# Linux bootable partition config ends
# Linux bootable partition config begins
title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz root=/dev/sdb1 ro vga=normal
initrd /boot/initrd.gz

1. Now that BANKPUP boots I would like a step by step explanation of why/how it works.

2. I now have on sdb1:

/sdb1/boot
/sdb1/extlinux.conf
/sdb1/extlinux.sys
/sdb1/initrd.gz
/sdb1/pup_301.sfs
/sdb1/vmlinuz
/sdb1/zdrv_301.sfs

and in /sdb1/boot there is:

/extlinux.conf
/extlinux.sys
/initrd.gz
/pup_301.sfs
/vmlinuz
/zdrv_301.sfs

Which of these can be safely deleted?

I have just noticed that after all of the hassle 3.01 does not appear to have a Menu -> System -> Puppy Event Manager -> Save session entry so that I can stop saves to the stick during the session.

looseSCREWorTWO
Posts: 812
Joined: Thu 04 Feb 2010, 13:16
Location: Australia, 1999 Toshiba laptop, 512mb RAM, no HDD, 431 Retro & 421 Retro

#16 Post by looseSCREWorTWO »

you could try this method to put Puppy on the Flash Drive:
http://www.pendrivelinux.com/put-lucid- ... m-windows/

Then to switch the flash to 301, just copy these files from your HDD to the Flash Drive:
initrd.gz
vmlinuz
pup-301.sfs

there may be another file: zdrv ??? something like that ??? copy that across to the Flash Drive and it should work with 301.
Steve

Mercedes350se
Posts: 790
Joined: Wed 16 Apr 2008, 11:28

#17 Post by Mercedes350se »

looseSCREWorTWO

Thank you but I have finally got it to work as posted above.

The reason for asking how/why it works is that following the suggestion by rhadon and putting initrd.gz in /boot on the hd it would appear that both vmlinuz and initrd.gz are executed from the hd.

If that is the case then only pup_301.sfs and zdrv_301.sfs would need to be on the USB stick. Corrections/comments gratefully received in the search of knowledge.

Further searching regarding the "in session saving" lead me to a page by Barry in which he stated in bold type that there are "no in session saves" to the USB stick - this was referring to Puppy2. I did not book mark the page and cannot find it again while writing this.

Is this the same for 3.01?
Have I mis-interpreted the reference to turning the 30 minute saves off to save the flash media?
If not, why were 30 minute saves introduced?

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#18 Post by rhadon »

@Mercedes350se,

sorry for the wrong information :oops: .
The Puppy Event Manager is a feature of newer Puppies. It's a long time ago that I used 3.01. So I'm also not sure, the 30 min. are valid to 3.01.

To save everything immediately is good if power fails, system freezes or something else. On the other hand the lifetime of usb sticks will be reduced by permanently saving or changing files. So the 30 min. are a compromise (I think).

For me it was never important to change this. Sometimes I was glad, that changes were saved automatically and sometimes I was glad that I could do a hard reset and my changes didn't take effect :D .

The best way depends of the actual situation (sometimes always wrong :cry: ).
If that is the case then only pup_301.sfs and zdrv_301.sfs would need to be on the USB stick.
Right.
The great advantage of a frugal installation is that you have to handle only 4 files + pupsave (in your case). Try it out. Delete the files of your stick, if it fails it's easy to copy back from hd.

~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#19 Post by rcrsn51 »

Mercedes350se wrote:The reason for asking how/why it works is that following the suggestion by rhadon and putting initrd.gz in /boot on the hd it would appear that both vmlinuz and initrd.gz are executed from the hd.
Yes, that was the key step.
If that is the case then only pup_301.sfs and zdrv_301.sfs would need to be on the USB stick.
In some Puppy versions, that is true. But some versions need to see the initrd.gz file again on the target drive. The various extlinux files you currently see are needed if you are booting directly off the flash drive, which you are not.

Because you have called this setup BankPup, I am assuming that you are concerned about security issues and want to ensure that your pupsave never picks up any malware. Here is a possibility

Code: Select all

title BANKPUP
root (hd0,0)
kernel /boot/vmlinuz pmedia=usbflash pfix=ram
initrd /boot/initrd.gz 
The "pfix=ram" option completely ignores your savefile. You will need to do the initial setup each time, but you have 100% confidence that your system is clean.

On the other hand, if the only site you visit using this setup is your bank, it's highly unlikely that you would ever pick up any malware.

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#20 Post by rhadon »

In the Release notes for Puppy Linux version 3.01 you can read
True flushing to Flash drive. If you install Puppy to a USB Flash drive, Puppy will run in RAM and save periodically (every 30 minutes) to the 'pup_save' file.
~ Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

Post Reply