PuppyThis forum is for the discussion of Puppy Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've recently started thoroughly testing different Linux versions. I'm currently working on Puppy and some of the Puplets running from a USB pen drive. I'm having a strange issue though. I have my USB partitioned into two partitions 1 - (150 MB) that contains super grub disk and 1 - (7.8 GB) that contains the differing puplets. So here is the deal. I had 3 puplets running great. Then I added 3 more and now when I boot from my USB no matter what puplet i choose to boot I may or may not get the one i selected. It's extremely strange. I'm not using but maybe 750 MB of the 7.8 GB as well. Anyways, Here is my grub menu:
# You can edit this file to add your own distribution
# You can choose default to 0 to select first entry
# which it is usually the entry for the default distro
#
#
# You can also set timeout to something as 10
#
# This is the shortcut to call Super Grub Disk (commented)
#title Super Grub Disk
## The two commands: setgrubdevice and usbshift are needed
## so that SGD works well.
#usbshift
#configfile $(grub_device)/boot/sgd/menu.lst
#
# Just after default and timeout statements you have to put
# setgrubdevice so that grub device is correctly set.
default 0
timeout 2
setgrubdevice # This is compulsory
#sgdgfxmenu /boot/grub/message
foreground ffffff
background 0c00ff
color white/brown yellow/cyan
title Super Grub Disk
# The two commands: setgrubdevice and usbshift are needed
# so that SGD works well.
usbshift
configfile $(grub_device)/boot/sgd/sgd.lst
title Puppy Linux
root (hd1,1)
kernel /puppy/vmlinuz
initrd /puppy/initrd.gz
append pmedia=usbdevice
title TigerPup
root (hd1,1)
kernel /tigerpup/vmlinuz
initrd /tigerpup/initrd.gz
append pmedia=usbdevice
title MacPup
root (hd1,1)
kernel /macpup/vmlinuz
initrd /macpup/initrd.gz
append pmedia=usbdevice
title Fire Hydrant Puppy Linux
root (hd1,1)
kernel /fhpup/vmlinuz
initrd /fhpup/initrd.gz
append pmedia=usbdevice
title Pinoy Puppy Linux
root (hd1,1)
kernel /pinoypup/vmlinuz
initrd /pinoypup/initrd.gz
append pmedia=usbdevice
title Puppxgen
root (hd1,1)
kernel /puppxgen/vmlinuz
initrd /puppxgen/initrd.gz
append pmedia=usbdevice
One thing that might be causing this problem is that sometimes people who make puplets dont rename their pupXXX.sfs .Example a regular puppy will have a pup420.sfs on the live cd, A remaster can change that to pup420macfox.sfs but if they didn't it will still be pup420.sfs so you could have several puplet with the same name on the .sfs
Try putting each puplet with it's own kernel/initrd in a seperate folder with short but differing names-
Also check out "Multicd-4.4.sh"-just google "multicd.sh" and check it out.
Make an example cd with multicd.sh , extract the iso it makes and check out the folder layout-this should help.
Runtt21 - what's interesting to me is that I see the files it's pulling in and the puplets themselves are different. I'm not sure, but it's as if the sfs files corrupter each other. The sfs files were all different if i recall correctly.
linus72 - they are in there own directories as indicated in my grub configuration file.
I tried redoing the data on the same drive configuration and a couple versions appear to have corrupted my other puplets. I have no clue why though. Oh well I'm just going to have to figure out another method. I'll research the recommendation by linus72. I'll post back and let everyone know what the final solution is.
I have also ran into this problem when making a "multidistro" folder.
It's very much like "spagetti" programming, in that once you figure out the mistake-fixing it can be an issue.
To illustrate, when I made my superduper little distro containing
DSL/DSL-N/Feather/+ NetbootCD-2.2 something went wrong when I added Slax and edited the isolinux.cfg/syslinux.cfg.
After I added Slax nothing would work right and when I would try to boot DSL, DSL-N or Feather would try booting instead and I'd get a kernel panic.
Removing Slax and editing out Slax did not help-as if there was a residual presence left. Slax would even still show up on the menu even though I edited it out of the isolinux.cfg file!
I have found that removing everything from the "bad" folder and putiing it in a new folder sometimes fixed it>(?)
I had to recreate the whole thing again-from scratch.
Now, when I make a multidistro I do it one distro at a time, and make multiple folders so that when something goes amiss I can just go back to the last one that worked.
An example-first I combine DSL and feather using multicd.sh, there is also issues with Multicd.sh-as the isolinux.cfg did not come out right and feather wouldn't boot. So, I fixed the .cfg file until it boots.
After getting it working I take that folder containing DSL/feather and put it somewhere safe-also making a copy of it to add more distr's to.
I then take the folder I copied and add another distro-DSL-N, I add the two isolinux.cfg files together and now I have DSL/Feather/DSL-N working.
Now, again I take that folder and put it away with the other working folder of DSL/feather.
So, now I have 2 folders that work-DSL/Feather and DSL/DSL-N/Feather.
I again copy the working DSL/DSL-N/Feather and add another distro to that folder and edit the isolinux.cfg/syslinux.cfg till it boots on Qemu.
I run everything through Qemu/Vbox to make sure it works, then put them on USB and see if they work.
So, trying to be short-put two pups together and get'em working, save that working folder somewhere and make a copy of it.
Now, add your third pup to the copied working folder, if it works then save it somewhere and copy it.
Add another pup, etc.
That's what I do, so if anything goes wrong I just delete the folder that didn't work, go get the original folder that works and again try to add a distro till I get it working.
It's a process and can be aggravating.
I don't think that's your problem, but "spagetti" programming is mine-in a way.
I will try what you are doing to see if I can do it.
I was reading up on MultiCD and it doesn't seem to really do anything more than what I'm already doing.... It simply extracts the iso and places it into a folder for each distro and then tries to make the boot menu entry. I might try your technique of building 1 then add another and then another to see where the problem comes in. I mean it worked beautifully with 3 puplets. I believe its something to do with couple versions that I downloaded (pinoy and fire hydrant) I mean i was running Puppy, TigerPup, and MacPup wonderfully for a few days before I was interested in trying out some others. (I guess I could always just create my own puplet as I like a lot of features of different versions). Anyways I plan to try to rework my USB drive. When I figure out where the problem is I'll post the problem and hopefully a solution.
I too have had problems with the sgd.lst file that Super Grub created. When I looked at this file it showed that it was trying to boot from hd0.0. This however was my hidden Acer partition lableled PQSERVICE. This is the pre-installed and hidden factory files for Vista. I relabeled it to hd0.1 but this was Drive C where I had installed some previous Puppy's so once again I had a problem. Finally I relabeled them to hd0.2 and this was my Drive D where I had the distros I wanted. This was fine until I burnt the distro to CD and it just went back to Drive D. In my case it needed to be pointed to the CD so when I changed pmedia to "pmedia=idecd" the next burn worked fine. I can't remember if I deleted the HD0.2 as I this was awhile ago and I can't find my CDs to check.
I noticed the "append" part of "pmedia=usbdevice" and I am wondering what the "append" bit is about. If you made it simply "pmedia=usbdevice" would puppy go straight to your 8Gb USB pendrive and not add it onto your "root (HD1.1) where it's maybe finding another copy of sgd.lst, distros or other file(s) it is conflicting with.
It would seem that HD1.1 is pointing SG to your HARD DRIVE, while "pmedia=usbdevice" is pointing PUPPY to your 8GB USB pendrive. Can "root (HD1.1)" be changed to "root(USB0.0)" or something similar instead. Thus pointing it only to the USB and not to HD at all.
I get what you are saying. The append is just a different structure it interprets it through grub and sets the root device it's just cleaner looking to me. I ended up just reverting to 3 versions of puppy on my USB like I had before. I was going to build the logic to boot from ISO but decided I it wasn't really worth the headache because I really didn't need 6 versions of puppy on a USB PenDrive lol. It was just a wishful thought. I could in fact prolly do it if I had more time to play around with it. with work that's near impossible. but still I'll try again real soon and post the solution.
title Puppy Linux
root (hd1,1)
kernel /puppy/vmlinuz psubdir=puppy
initrd /puppy/initrd.gz
append pmedia=usbdevice
GRUB support the parameter "psubdir" and you can use it. Note that "psubdir=puppy", you won't use "psubdir=/puppy" (no slash (/) before puppy)
May this help you?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.