How can I boot an iso with grub4dos?

Using applications, configuring, problems
Message
Author
der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#16 Post by der-schutzhund »

Have a hard drive on a laptop partitioned from scratch:
1. partition fat32
2. part. ntfs
3. swap

An iso is in the first Partition (fat32) in / ISOS /
Lazy is a frugal inst. in / PhyTechL-202

three menu.lst - entries have been tested with grub4dos:

title PhyTechL-202-005 iso
map /ISOS/LazYPuppy-202-DE-005.iso (0xff)
map --hook
root (0xff)
kernel /vmlinuz iso-scan/filename=/ISOS/LazYPuppy-202-DE-005.iso quiet splash
initrd /initrd.gz
boot

title PhytechL-202-005-hd32
map (hd32)/ISOS/LazYPuppy-202-DE-005.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)
boot

title Dieser Titel erscheint im Bootmen
fallback 2
find --set-root /ISOS/LazYPuppy-202-DE-005.iso
map /ISOS/LazYPuppy-202-DE-005.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2

the iso is found and loaded the drivers, but if the files are searched, there is the message that will continue to search subdirectories and then starts the frugal Lazy.

It is as if the start.sfs the iso can not be opened.

In any case things do not go!

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

#17 Post by rcrsn51 »

der-schutzhund wrote:It is as if the start.sfs the iso can not be opened.
Exactly. Puppy has three core files. Grub4dos is smart enough to find vmlinuz and initrd.gz inside the ISO. This gets Puppy started.

But then Puppy needs to find its SFS file. But it's not smart enough to look inside the ISO. So it looks elsewhere on the hard drive and finds it in your frugal install.

Other Linuxes have a boot option like "isoscan" to handle this situation, but Puppy does not.

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#18 Post by der-schutzhund »

rcrsn51 wrote:
der-schutzhund wrote:It is as if the start.sfs the iso can not be opened.
Exactly. Puppy has three core files. Grub4dos is smart enough to find vmlinuz and initrd.gz inside the ISO. This gets Puppy started.

But then Puppy needs to find its SFS file. But it's not smart enough to look inside the ISO. So it looks elsewhere on the hard drive and finds it in your frugal install.

Other Linuxes have a boot option like "isoscan" to handle this situation, but Puppy does not.
Is there a Bootmanager wich can handle this?

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#19 Post by der-schutzhund »

with the zip on this side it will run but the sfs will not be found by Lazy-Puppy!
http://www.murga-linux.com/puppy/viewtopic.php?t=83583

Scooby
Posts: 599
Joined: Sat 03 Mar 2012, 09:04

#20 Post by Scooby »

der-schutzhund wrote:with the zip on this side it will run but the sfs will not be found by Lazy-Puppy!
http://www.murga-linux.com/puppy/viewtopic.php?t=83583
I downloaded Lazy and tried it with boot from USB, unpacked and still in ISO.
It works fine.

You tried the zipfile on HD? did you use the AUTO folder or did you use .mnu approach?

what was the error you receive during boot?

You may have to fiddle with root pointers
hd(0,1) in the files in /grub folder?

please if you find solution post it back here?

If I can find some time I will run a few tests

oui

#21 Post by oui »

Hi Wolfgang

You open 4 or 5 discussions about only 1 (ONE) subject

We answer 20 minutes in YOUR OWN language

and you see nothing because you have to much discussions open!

http://murga-linux.com/puppy/viewtopic. ... 281#682281

http://murga-linux.com/puppy/viewtopic. ... 285#682285

what will you really?

grub4dos

or

grub2?

oui

#22 Post by oui »

How is able to check this page:

http://puppylinux.org/wikka/GRUBforDOS

Pls announce here after that that the page is complete and if necessary updated. I will try to make a translation of it for Wolgang.

Scooby
Posts: 599
Joined: Sat 03 Mar 2012, 09:04

#23 Post by Scooby »

The principle of this solution is the same as I present in

HOWTO create easy multi-boot USB Puppy from Linux
HOWTO create easy multi-boot USB Puppy from Windows


Observe! This solution requires, as stated in links above, the ISO file to be unfragmented on disk. If you downloaded rmprepusb you got wincontig also.
Go to /Program Files/RMPrepUSB/WINCONTIG and click on wincontig.exe. Then add folder /ISOS and execute a defragment action.
If I remember correctly this can be done with Shift+F2 when RMPrepUSB is started.

I tested around a little. Note I have my Grub4Dos bootrecord on USB and not on HD.

But I placed my ArchPup Puppy Linux in a folder on internal drive and put the following
in menu.lst

Code: Select all

iftitle [if exist (hd1,0)/Linux/archpup-12.12.2.iso] archpup-12.12.2.iso
partnew (hd1,3) 0x00 (hd1,0)/Linux/archpup-12.12.2.iso 
map  (hd1,0)/Linux/archpup-12.12.2.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
It loads! :twisted:

Note for me hd0 is my usb and hd1 is my internal drive so if you want to test this
you should try.

Code: Select all

iftitle [if exist (hd0,0)/ISOS/LazYPuppy-202-DE-005.iso] PhyTechL-202-005 iso 
partnew (hd0,3) 0x00 (hd0,0)/ISOS/LazYPuppy-202-DE-005.iso 
map  (hd0,0)/ISOS/LazYPuppy-202-DE-005.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
To be complete a test should be made to check if partition 4 already is in use,

For me it works. Would you try it and report back?

can't see why it wouldnt work with bootrecord on HD?

postfs1

#24 Post by postfs1 »

To reedit up to date.
Last edited by postfs1 on Thu 24 Mar 2016, 11:09, edited 4 times in total.

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

#25 Post by rcrsn51 »

Scooby wrote:

Code: Select all

title PhyTechL-202-005 iso 
partnew (hd0,3) 0x00 (hd0,0)/ISOS/LazYPuppy-202-DE-005.iso 
map  (hd0,0)/ISOS/LazYPuppy-202-DE-005.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
I tried this on a flash drive with several Puppies and it worked. But some of them could not find their save file, no matter what options I picked. I believe that another user reported this problem.

[Edit] I finally got this to work correctly by using "puppy psavemark=1".

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

#26 Post by rcrsn51 »

As a test, I set up the following system:

sda1 - NTFS Windows
sda2 - FAT32
sda4 - unused - THIS IS IMPORTANT!

The system booted off Grub4Dos in sda1.

Partition sda2 contained a number of Puppy ISOs.

The menu.lst entries for Puppy were

Code: Select all

title Precise 372 ISO
partnew (hd0,3) 0x00 (hd0,1)/precise-372.iso
map  (hd0,1)/precise-372.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

title Slacko 54 ISO
partnew (hd0,3) 0x00 (hd0,1)/slacko-54.iso
map  (hd0,1)/slacko-54.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

title Lupu 528 ISO
partnew (hd0,3) 0x00 (hd0,1)/lupu-528.iso
map  (hd0,1)/lupu-528.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
Savefiles were created in sda2. Each Puppy was booted with

Code: Select all

puppy psavemark=2
In limited testing, this all worked correctly.

The same procedure successfully booted an Ubuntu 10.10 ISO. TInyCore worked, but required

Code: Select all

map --heads=0 --sectors-per-track=0 (hd0,1)/tinycore.iso (0xff)
Here is a better way to do it with Puppy.

Code: Select all

title Lupu 528 ISO
partnew (hd0,3) 0x00 (hd0,1)/lupu-528.iso
map  (hd0,1)/lupu-528.iso (0xff)
map --hook
root (0xff)
kernel /vmlinuz psavemark=2
initrd /initrd.gz
When booting off a flash drive, some Puppies may also need the "pmedia=usbflash" kernel argument.

Note: The FAT32 partition holding the ISOs does not need to be a primary partition. It can also be a logical volume.
Just replace all references to (hd0,1) with (hd0,x).

------------------------------------
Last edited by rcrsn51 on Wed 06 Feb 2013, 15:33, edited 11 times in total.

Les Kerf
Posts: 317
Joined: Sun 24 Jun 2012, 13:30

#27 Post by Les Kerf »

Scooby wrote:I used this on USB, maybe you could try something like that on HD?
Never tried it on HD though

Code: Select all

iftitle [if exist /Linux/lupu-528.iso] Puppy Linux 5.2.8
find --set-root /Linux/lupu-528.iso
map --heads=0 --sectors-per-track=0 /Linux/lupu-528.iso (0xff)
map --hook
root (0xff)
kernel /vmlinuz splash
initrd /initrd.gz
I tried the Easy2Boot Grub4Dos method with a hard drive and it worked for me. I mentioned it in the other Easy2Boot thread.
Les

postfs1

#28 Post by postfs1 »

image of programmatic environment:
[-1-]disk -=3d/2ss/A12s=- = file.disk
http://45.33.15.200/
viewtopic.php?p=484853&sid=16001911920e75711ba120d5a1b6f750#484853

mini_device_usb:
sda:
2 partitions:
sda1(vfat)
sda2(ext2)

Scheme:
The user does the steps:
[-a-]formatting of sda1
[-b-]launch of disk -=file.disk=- from some device
[-c-]installation from the '/usr/sbin/grub4dosconfig' to mini_device_usb
[-d-]moving the -=file.disk=- onto mini_device_usb
[-e-]editing of text in the 'menu.lst' file
[-f-]launch of computer with such a bios parameter as: '[x]use drive usb/[x]use disk usb/[x]another words, same meaning'

Result after use of the -=file.disk=- image: 1 new partition: sda3

Code: Select all

#v.v#GOOD#v.v#Success: cat /proc/cmdline<>>> video=640x480 kernel=vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=force acpi_use_timer_override
title FIRST_TO_TEST-DISK3d:2ss:A12s -- deviceTABLE:AUTO.file:bootstarter.PLUSonecommandtoinstall
partnew (hd0,2) 0x00 /too/qrky-140.iso
#!#to_drive............................................from_drive(auto=0x00(help partnew))
#!#GIVES INFO:#!#fdisk -button /dev/sda; fsck.vfat -button -button -button -button /dev/sda1;
map --heads=128 --sectors-per-track=62 /too/qrky-140.iso (0x00)
map --hook
rootnoverify (0x00)
kernel /vmlinuz kernel=vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=force acpi_use_timer_override
initrd /initrd.gz
#0x00 = 0

#v.v#GOOD#v.v#Success: cat /proc/cmdline<>>> video=640x480 kernel=vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=off
title FIRST_TO_TEST-DISK3d:2ss:A12s -- deviceTABLE:AUTO.file:bootstarter.
partnew (hd0,2) 0x00 /too/qrky-140.iso
#!#to_drive............................................from_drive(auto=0x00(help partnew))
#!#fdisk -l /dev/sda
map --heads=128 --sectors-per-track=62 /too/qrky-140.iso (0x00)
map --hook
rootnoverify (0x00)
kernel /vmlinuz kernel=vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=off
initrd /initrd.gz
#0x00 = 0

#v.v#GOOD#v.v#Success: cat /proc/cmdline<>>> video=640x480 BOOT_IMAGE=/vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=off
#!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!##!#After boot the gparted sees well the /dev/sda
title FIRST_FIRST_TO_TEST-DISK3d:2ss:A12s -- deviceTABLE240.notmountwhat
partnew (hd0,2) 0x00 /too/qrky-140.iso
#!#to_drive............................................from_drive(auto=0x00(help partnew))
#!#AT BOOT TO WRITE THE FOLLOWING buttons: /vmlinuz initrd=initrd.gz pfix=ram,nox,copy pmedia=usbflash acpi=off
map /too/qrky-140.iso (0xF0)
map --hook
rootnoverify (0xF0)
chainloader (0xF0)
#0x00 = 0
#0xF0 = 240
Last edited by postfs1 on Sun 27 Mar 2016, 17:05, edited 12 times in total.

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

#29 Post by rcrsn51 »

postfs1 wrote:partnew (hd0,2) 0x00 (hd0,0)/images/PuppyQuirkyLinux-1_40.iso
.....
partnew (hd0,3) 0x00 (hd0,0)/images/fdbasews.iso
You can use (hd0,3) for both of these. The partition gets re-used each time.

postfs1

#30 Post by postfs1 »

To reedit up to date.
Last edited by postfs1 on Thu 24 Mar 2016, 11:10, edited 2 times in total.

Scooby
Posts: 599
Joined: Sat 03 Mar 2012, 09:04

#31 Post by Scooby »

How did it go for der-schutzhund( what does it mean anyway? shit-dog?)
rcrsn51 wrote: The system booted off Grub4Dos in sda1.

Partition sda2 contained a number of Puppy ISOs.

The menu.lst entries for Puppy were
And if you are a Lazy-dog like me you use the Easy2boot automatic version.
No editing of menu.lst file. Just copy an ISO file to a specific folder and it will show up on next boot.

try Easy2Boot by steve at

rmprepusb.com

or

HOWTO create easy multi-boot USB Puppy from Linux
HOWTO create easy multi-boot USB Puppy from Windows

Does this work well?

Code: Select all

kernel /vmlinuz psavemark=2 
maybe I try to incorporate it somehow in Easy2Boot automatic version?

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

#32 Post by rcrsn51 »

@Scooby:

Thank you for providing the key line to make ISO booting work.

Code: Select all

partnew (hd0,3) 0x00 (hd0,1)/precise-372.iso

Does Easy2Boot always start by chainloading?

Code: Select all

chainloader (0xff)
The advantage of a manual approach is that you get to customize the kernel arguments.

Code: Select all

kernel /vmlinuz pmedia=usbflash psavemark=2
initrd /initrd.gz

Scooby
Posts: 599
Joined: Sat 03 Mar 2012, 09:04

#33 Post by Scooby »

rcrsn51 wrote:@Scooby:
Thank you for providing the key line to make ISO booting work.
you're welcome
rcrsn51 wrote: Does Easy2Boot always start by chainloading?

Code: Select all

chainloader (0xff)
The advantage of a manual approach is that you get to customize the kernel arguments.

Code: Select all

kernel /vmlinuz pmedia=usbflash psavemark=2
initrd /initrd.gz

Yes it does but it can be altered.

What is the difference?

What will happen with config file onboard iso? Will it be ignored?

What will happen with other ISO's I mean like Ubuntu or Mint Linux live cd's.
will they start this way too?

if that is a problem I guess you could have a folder "puppy" from which
puppy linux isos boots automatically with pmedia=usbflash psavemark=2

Or it could be a menu item to somehow acttivate/deactivate and set psavemark to desired number.

For an Experienced user like you it is of course easier to just edit menu.lst but I want to
make a solution that is very easy for novice users maybe windows ones that are not
used to editing config files

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

#34 Post by rcrsn51 »

Scooby wrote:
rcrsn51 wrote:Does Easy2Boot always start by chainloading?
Yes it does but it can be altered.What is the difference?
It's the difference between booting off a Puppy Live CD versus doing a hard drive install. In the first case, you always have to go through the splash screen with its five-second pause.
What will happen with config file onboard iso? Will it be ignored?
Yes.

How do you envision Easy2Boot? As a way to test out Linux distros without having to burn a CD? Or as a way to run them on a day-to-day basis without having to do any kind of install? My manual instructions above show how to set up the latter. But you may not want to incorporate them into Easy2Boot. They were just a "proof of concept".

What will happen with other ISO's I mean like Ubuntu or Mint Linux live cd's. will they start this way too?
The most reliable way to boot a Linux ISO will be through chainloading because it simulates using the physical CD.

if that is a problem I guess you could have a folder "puppy" from which puppy linux isos boots automatically with pmedia=usbflash psavemark=2
There isn't a problem. Lots of people routinely boot Puppy off the CD and type in any extra options.

BTW, on a USB drive, it's probably going to be "psavemark=1"
Or it could be a menu item to somehow acttivate/deactivate and set psavemark to desired number.
When I was testing this, I found that trying to keep save files in the same partition as the ISOs made it more likely to create a "non-contiguousness" problem.

Scooby
Posts: 599
Joined: Sat 03 Mar 2012, 09:04

#35 Post by Scooby »

rcrsn51 wrote: How do you envision Easy2Boot? As a way to test out Linux distros without having to burn a CD? Or as a way to run them on a day-to-day basis without having to do any kind of install? My manual instructions above show how to set up the latter. But you may not want to incorporate them into Easy2Boot. They were just a "proof of concept".
I already use Easy2boot on a day to day basis(and have done so for quite some time now) with archpup which work without psavemark.
I like to be able to quickly test new Linuxes and work in another puppy also.

With help from steve who created Easy2boot I conjured up a way to boot one Linux iso by default after 5 seconds.
Before countdown is finished you can choose another Linux iso.
Thats how I prefer it since 90% of the time I work with archpup

For my version of Easy2Boot I will only do USB support.
I will not install to internal drive so I cannot test or develop.

I want it very novice user friendly. Easy to set up on both puppy and windows.
rcrsn51 wrote: The most reliable way to boot a Linux ISO will be through chainloading because it simulates using the physical CD.
So I will give the user the option to choose then!
rcrsn51 wrote:There isn't a problem. Lots of people routinely boot Puppy off the CD and type in any extra options.
OK, me myself wouldnt be happy with this. I would want it automated
rcrsn51 wrote: BTW, on a USB drive, it's probably going to be "psavemark=1" savefile resides
yeah, I know about psavemark and how it works, I've used it plenty.
So perhaps a folder called puppy for puppy linux ISO's with psavemark=1 and another folder for chainloading?

I will test around with ither menu options or folder approach
rcrsn51 wrote: When I was testing this, I found that trying to keep save files in the same partition as the ISOs made it more likely to create a "non-contiguousness" problem.
So defrag em!?

Post Reply