Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sun 23 Nov 2014, 16:14
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
How to make a multiboot usb flash drive
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [4 Posts]  
Author Message
Michalis

Joined: 08 Jan 2008
Posts: 237
Location: Greece

PostPosted: Tue 23 Mar 2010, 16:48    Post subject:  How to make a multiboot usb flash drive  

Couple days ago I tried for first time to boot puppy from a flash drive for testing reasons. I tried to install puppy431 and quirky010 simultaneously by using the "puppy universal installer", but unfortunately couldn't use both of them. So I searched a litle bit around and found the solution that is extremely easy after all. Just follow my steps:



1. Installation of the first puppy with the bootloader
a. Load one of the puppies that you want to install in the usb flash drive.
b. Go Menu->Setup->Puppy universal installer
c.At the screen which will appear choose the first option "USB Flash drive"

The next steps (till 2) are easy to follow by reading the messages, but I'm just making them very analytic (maybe too much):
d. Will pop a screen asking you which drive to install to, choose the one you want
e. Then Will follow a window asking you at which partition you want to install, select it by clicking on it.
f. After that will appear an information window, just to be sure that you didn't do any mistake
g. A window will come out asking you where are the files of the puppy you want to install, with 2 options "cd" and "directory". If you have load the puppy from a live cd just click the "CD" option, else the "Directory" option. Click on the iso and it will be automatically mounted under "/mnt/", navigate to it and select the "vmlinuz" file and click ok.
h. In the following window I've chosen the default option and worked. In case it doesn't work with you you'll have to try the other options.
i. If the partition doesn't have the flag "boot" will ask you to make it by using gparted. You have to do it. So click "GParted", right click on the partition you want to install to, select "Manage Flags" and select the "boot" flag and close gparted.
j. Next window just select the "default"
k. Will pop up a window, in the first option if you are sure just click "enter". Next if you want to wipe the contents of that partition click a character and then enter, else if you want to keep them just press "enter". At the next option I suggest to type a character and then press "enter". and when it finishes again "enter" to close.

That's it you have finished with the installation of the first puppy at the usb flash drive



2. Now you have a flash drive or a partition with the following files:
initrd.gz
ldlinux.sys
pup/quirky/"whatever you have chosen to install".sys
syslinux.cfg
USBFLASH
vmlinuz

a. Make a folder with whatever name you want, but with only western (english) characters let's say puppy, and move in the folder the next files:
initrd.gz
pup/quirky/"whatever you have chosen to install".sys
USBFLASH
vmlinuz

b. Right click at the syslinux.cfg and open it as text.
You'll see something like the next:
Code:
default vmlinuz initrd=initrd.gz pmedia=usbflash pfix=copy nosmp

change it to:
Code:
PROMPT 1
TIMEOUT 0
DEFAULT 1
DISPLAY menu.txt

LABEL 1
KERNEL /the subfolder you made/vmlinuz
APPEND initrd=/the subfolder you made/initrd.gz pmedia=usbflash pfix=copy nosmp psubdir=the subdir you made


c. Make a new text file called "menu.txt", in the same place with the syslix.cfg, not in a subfolder
click on it and paste the following:
Code:
1.- "the name you want to call it, e.x: Puppy Linux 431"


Save it and you are ready to add more



3.Adding more puppies/live linuxes
a. You open the iso, make a new folder and put inside the next files:
initrd.gz
pup/quirky/"whatever you have chosen to install".sys
vmlinuz
Also copy inside the folder the "USBFLASH" file.

b. Open the file "syslinux.cfg" as a text and add the following:
LABEL (A number for any linux you install), for example:
KERNEL /the name of the folder you made previously/vmlinuz, for example:
APPEND initrd=/the name of the folder you made previously/initrd.gz pmedia=usbflash pfix=copy nosmp psubdir=the name of the folder you made previously

So you will have something like that:
"LABEL 2
KERNEL /quirky010/vmlinuz
APPEND initrd=/quirky010/initrd.gz pmedia=usbflash pfix=copy nosmp psubdir=quirky010"

The nosmp option can be omitted if you are using an smp processor
Save the file with the changes


c. Open the "menu.txt" and add the following:
The number you chose at the previous step, ".- " (a fullstop, a dash and a space) and the name you want to be seen in the monitor when choosing which to boot. For example:
"2.- Quirky Linux 010"




This way you'll have as many puppies, woofs, quirkies you want in a single usb thumb drive, each on a separate folder.

upnorth gives us also a slightly different configuration directions, how to use Plop bootloader, kolibri os and menuet os


In my case I have installed puppy-431 and quirky-010 and the configuration files are,

syslinux.cfg:
Code:
PROMPT 1
TIMEOUT 0
DEFAULT 1
DISPLAY menu.txt

LABEL 1
KERNEL /puppy431/vmlinuz
APPEND initrd=/puppy431/initrd.gz pmedia=usbflash pfix=copy psubdir=puppy431

LABEL 2
KERNEL /quirky010/vmlinuz
APPEND initrd=/quirky010/initrd.gz pmedia=usbflash pfix=copy psubdir=quirky010



and menu.txt:
Code:
1.- Puppy Linux 431
2.- Quirky Linux 010



so when booting from the flash drive I get the options:
1.- Puppy Linux 431
2.- Quirky Linux 010
boot:_

and I just type the number I want to boot from and press "enter".



I hope it's clear enough to follow the steps. But if you have any questions or suggestions in order to make it clearer please tell me.[/quote]

Last edited by Michalis on Wed 31 Mar 2010, 09:55; edited 1 time in total
Back to top
View user's profile Send private message 
T_Hobbit


Joined: 27 May 2006
Posts: 400
Location: Portugal - Lisbon

PostPosted: Tue 23 Mar 2010, 18:51    Post subject:  

You need to add "psubdir=subdir you make" to the end of the APPEND line. See my signature post.
_________________
T_Hobbit
Idea Rebuilding old DOS Machine for Wing Commander Privateer and Puppy Exclamation Old spare parts to give away - anyone interested Question
Back to top
View user's profile Send private message 
upnorth


Joined: 11 Jan 2010
Posts: 262
Location: Wisconsin UTC-6 (-5 DST)

PostPosted: Tue 23 Mar 2010, 19:36    Post subject:  

Thanks for the HOWTO, Michalis. Very Happy

Here is a slightly different configuration that uses the vesamenu.c32 module of syslinux:
Code:
timeout 100
PROMPT 0
UI vesamenu.c32

label puppy
menu label PUPPY431
SAY Now booting PUPPY from SYSLINUX...
kernel vmlinuz
append initrd=initrd.gz pmedia=usbflash pfix=copy nosmp


There are a couple of novel things people can add to their sticks as well. One is the Plop Boot Manager which can be chained to or can chain to other boot loaders.
My menu entry looks like this:

label plp
menu label PLOP
linux plpbt.bin

Plop bootloader is only 42K.

When written to floppy disk or added to your hard drive's Grub menu.lst, plop boot manager can be used as an alternative to wakepup.

The others are kolibri os and menuet os, both of which are only 1440K each.
These use the memdisk module of syslinux.

label kolibri
menu label kolibri
kernel memdisk
append initrd=/kolibri/kolibri.img

label menuet
menu label menuet
kernel memdisk
append initrd=/kolibri/M64-091J.IMG

Kolibri is the only one of these two that works on my antique computer. Menuet is 64 bit.

Thanks again, Michalis.
Back to top
View user's profile Send private message Visit poster's website 
Michalis

Joined: 08 Jan 2008
Posts: 237
Location: Greece

PostPosted: Wed 31 Mar 2010, 09:42    Post subject:  

Thanks for your suggestions

T_Hobbit, I think that in syslinux "psubdir=subdir you make" isn't necessary. I haven't found anywhere anyone using syslinux referring to it, maybe you need it because you are using unetbootin. Anyway just to be sure I added it to the the How to.


upnorth if you have also over linuxes in mind please bring them over Very Happy
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [4 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0666s ][ Queries: 12 (0.0049s) ][ GZIP on ]