Jump to content











Photo
* * * * * 5 votes

Easy2Boot Development Discussion

grub4dos multiboot multipass usb boot iso

  • Please log in to reply
1396 replies to this topic

#1 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 29 February 2012 - 10:47 PM

*
POPULAR

website at www.easy2boot.com.

 

http://www.youtube.c...d&v=MBKh_jDyTmQ

 

This thread is to discuss how the Easy2Boot (as it is currently called) grub4dos multiboot USB drive project can be developed, enhanced and improved.
The idea (from sambul61) is to create a multiboot USB drive to which the novice user can easily and quickly add any boot image he or she wants to their multiboot USB drive.
All that is needed is the correct grub4dos menu mnu file and the 'payload' file (an ISO in most cases). We, at reboot.pro can easily provide the required grub4dos menu file (called xxxxx.mnu for Easy2Boot) and so can provide a bank of these mnu files which can be kept up to date.

This project is similar to the grub4dos grub4dos, .iso images and (hd32) or (0xFF) mapping topic, but Easy2Boot will apply to any type of bootable binary that can be booted via grub4dos (or possible from grub4dos via syslinux) and will provide a .mnu file which the user simply copies to his Easy2Boot USB drive (no editing of their menu.lst required).
The user can delete the 'payload' files and leave the mnu files on the drive - the relevant menu entries will NOT appear on the user menu until the user chooses to add back on the payload file.

Working and tested .mnu files can be posted at http://reboot.pro/16426/ (note that it is NOT a discussion thread - please use this thread for any any discussion).

Some points for discussion are (amongst others):

1. Is the name Easy2Boot OK? (if not we need to change it quickly)?
2. Do you think the idea will catch on and encourage multiboot newbies to have a go (and will you contribute mnu files with a few instructions for your favourite bootable binary?) - or is cut and paste and editing a menu.lst file not really that hard (even for a newbie)?
3. Is the choice of /_ISO for the main folder OK (again if not we need to change it quickly)?
4. What would make the best, generic, foolproof (multi-national) USER.mnu (the default menu settings) - currently I have this set to a UK kbd and a 'borrowed' background image just for test purposes.
5. Would someone like to donate a royalty free splashimage (maybe with Easy2Boot printed across it and reboot.pro?)

Please try out this tutorial and see how this process works (or doesn't) and report back!


  • quiquebg, Mahmoud Kandeel, Alhaitham and 2 others like this

#2 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 29 February 2012 - 11:02 PM

Is cut and paste and editing a menu.lst file not really that hard?

Of course it's not that hard, if one knows what Grub4DOS is, where to look for its Menu, how it works, how to open it, and whether your PC won't explode next time if you did something wrong. :lol: But to try booting any ISO or Floppy image you want from your favorite Distro collection stored on the Thumb, without knowing what "bootloader" is - this is tricky, unless... you try Easy2Boot. :D

#3 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 01 March 2012 - 02:48 PM

Just an idea - support Easy2Boot project by offering two RMPrepUSB appearance options: Basic and Advanced. A Basic View would allow only to select a drive, format and install Grub4DOS to it - no confusion for novices, when trying Easy2Boot. The Advanced View would offer all extra features currently available in the tool. This approach is often used to make a tool more comfortable for newbies to master.

#4 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 01 March 2012 - 09:59 PM

3. Is the choice of /_ISO for the main folder OK (again if not we need to change it quickly)?

What about a flexible main folder approach?

Main folder path is set in menu.lst once.
Main folder path is not set within mnu files.

Can you use a parameter set main_folder = I_ISO ?

or
mnu are bat files and uses %1 internally.

#5 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 01 March 2012 - 10:49 PM

It could be done, but what would the instruction to the user be 'copy the mnu file to whatever main folder you happen to have chosen'?

The idea is that this is supposed to be simple and easy for a beginner to do. They follow some simple instructions and all works.
The mnu files would need to have the variable in the paths

e.g.
iftitle [if exist %MFOLDER%/Linux/Ylmf.iso] Boot Ylmf



map %MFOLDER%/Linux/Ylmf.iso (0xff)

map --hook

This would be copied into memory and preceded by

set MFOLDER=/_ISO

so it is easily do-able. To use a different main folder, the user would need to change a single line in the /grub/menu.lst file. But if a new versions of this file was replaced by the user, they would need to remember to edit the menu.lst file again?

#6 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 01 March 2012 - 11:38 PM

There is now a version 0.2 of Easy2Boot which allows you to set a different main folder if you really wish to. It uses the MFOLDER variable, so any new mnu files need to have %MFOLDER% in them for the main path.
The few existing mnu files will still work, but are hard coded to use /_ISO. I have changed the tutorial to explain this more fully.

#7 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 03 March 2012 - 11:24 AM

version 0.3 now available - bug in v0.2 mean that the splashimage did not appear as the User.mnu was not being added!

#8 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 03 March 2012 - 06:22 PM

I see that some advice given in Depository thread requires to copy either unchanged or extracted ISO, or some of its files to the root of USB Thumb instead of that image folder. It makes it harder for a novice to find and delete all files related to a particular image, as his image collection grows, if he wants to delete a certain image from the collection. Because in the root there will be many files extracted from various images - how to find the right ones to delete?

Is there a way to introduce a simple "Delete" mechanism, possibly based on a small Log file or MNU rem section that would help to automatically or at least manually find and delete all file names related to a certain image, the user wants to remove from the Thumb? :)

#9 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 03 March 2012 - 07:04 PM

No _ I don't think the extra extra complication is worth it. KISS is best! :loleverybody:

#10 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 29 December 2012 - 10:35 AM

Easy2Boot now has a new .mnu menu (add AutoLinux.zip) which allows you to put any linux ISO in the \_ISO\Linux\Auto folder of your USB boot drive and it will automatically be listed in the boot menu and work (with no extra .mnu files needed or editing of any file needed) - just drop in your linux or DOS or memtest ISO and boot.

This works for most linux ISOs and most DOS ISOs. It uses cdob's partnew method to map the ISO to the 4th partition entry.

There are over 30 ISOs (with download links) that have been tested and work. Only one (Trinity Rescue Disk ISO) did not work (failed to recognise the 'linux' partition mapped to the 4th partition table entry).



#11 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 06 January 2013 - 01:32 PM

I have updated the Easy2Boot download to include the AutoLinux menu, a memtest86+ image and a minimal FreeDos floppy disk image. I have also added a new bitmap for the background to make it easier for a user to change the background picture (just overwrite \grub\background.bmp.gz with your own image).


  • Brito likes this

#12 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 25 January 2013 - 10:57 PM

I use Easy2Boot and I'm going directly to the menu for AUTO folder of linuxes whitout .mnu files

 

I wondered if I could in script creating a countdown for maybe 5 seconds and if I dont choose

anything else a default menu item is choosed and booted?

 

Is this doable?



#13 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 25 January 2013 - 11:50 PM

just add these lines to the top of your menu (before the first title command) - default 2 will select the third menu item

 

timeout 5

default 2



#14 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 26 January 2013 - 09:42 AM

just add these lines to the top of your menu (before the first title command) - default 2 will select the third menu item

 

timeout 5

default 2

 

That was beautyful! Thanks you man. :clap:

 

How are the iso's sorted in the list? It is not by name, huh?

Is it by date, last touched first?

 

In my setup I have a ISO that is my preferred one. However I test around with a lot of different ISO's

I want the prefered one always be defaultly booted.

 

How would I go about ensuring that for instance this iso would be at the top of the list

so that default 0 will execute it?

 

I try renaming it but that wouldnt do the trick?



#15 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 26 January 2013 - 10:21 AM

The order is dependent on the ls command.

 

ls /

 

whatever order is shown (directories and files), then that is the order you will see in the menu. So it is not easily changed.

 

 

If you always want the same ISO to be first and be the default, then add the contents of the iso's .mnu file to the USER.mnu file and delete the .mnu file.

 

You can use this line instead of the  timeout  5 line, so that the default and timeout is only set if your special ISO exists...

 

if exist /mydefault.iso  timeout 5


#16 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 27 January 2013 - 10:05 AM

I use only the auto feature so I Dont have a .mnu file

 

I hacked around a little bit in bat files I must say I am not used to this kind of programming.

 

can you dynamically detect and set default ISO to boot from AUTOLINUXMENU.bat

 

or in LINUXUSER.mnu

 

call bat to calculate menu entry number return it in variable NBR

if exist /mydefault.iso  FindEntryNBR.bat "/mydefault.iso" && default NBR

 

Does ls produce the same result every time or can it be different between two boots?

 

What do you say? can it be done

 

How can you set up a test environment for grub4dos? qemu, virtualbox?

 

You do sme stuff like cat (bd)/grub/linuxuser.mnu > (md)0x3000+0x50

I guess your writing something to memory? is there a tutorial for this?


Edited by Scooby, 27 January 2013 - 10:12 AM.


#17 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 10:18 AM

Try this...

 

Move the ISO that you want to be the default one to a new folder \_ISO\Linux\Default

Add to the bottom of the \grub\LINUXUSER.mnu file...

 

if exist /_ISO/Linux/Default/MyDefault.iso timeout 5
default 0

iftitle [if exist /_ISO/Linux/Default/MyDefault.iso] My default iso
partnew (hd0,3) 0x00 /_ISO/Linux/Default/MyDefault.iso 
map  /_ISO/Linux/Default/MyDefault.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

 

[Edit] Edited to remove echo at start of a few lines which should not have been there![/Edit]

 
 


#18 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 10:27 AM

P.S. If you are only using the autolinux bit, why use Easy2Boot? Why not use Tutorial 96 instead?



#19 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 10:35 AM

You do some stuff like cat (bd)/grub/linuxuser.mnu > (md)0x3000+0x50

I guess your writing something to memory? is there a tutorial for this?

 

Yes, it is writing to memory. md=memory drive, 0x3000 is  sector 0x3000  and  +0x50 means a length of 50hex x 512bytes = 40K.

See the grub4dos tutorial #21 on my site for lots of info!



#20 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 10:44 AM

P.S. You could make a first menu entry so you do not have to specify the iso filename - as long as it is the only iso file in the \_ISO\Linux\Default folder.

i.e. Whatever iso you want to be the first default iso, just put it in that folder.

 

see here

# look for a file with a .iso extension - param1=start folder   param2=extension
(bd)/grub/FindFileExt.g4b /_ISO/Linux/Default .iso
if not "%FILEPATH%"=="" echo FILE FOUND AT %FILEPATH%
if "%FILEPATH%"==""  echo No file with matching extension found!

if exist %FILEPATH% timeout 5
default 0

iftitle [if exist %FILEPATH%] %FILENAME%
partnew (hd0,3) 0x00 %FILEPATH% 
map  %FILEPATH% (0xff)
map --hook
root (0xff)
chainloader (0xff)

 



#21 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 27 January 2013 - 12:26 PM

Almost there

I tried your first suggestion - worked like a charm

in second suggestion

FindFileExt worked fine

but this expression

 iftitle [if exist %FILEPATH%] %FILENAME%

doesnt evaluate correctly inside the brackets

if I hardcode this bit

 iftitle [if exist /ISO/Linux/Default/archpup.iso] %FILENAME%

it works

if i echo it it comes out just fine
 

I also tried to no avail %%

 

 iftitle [if exist %%FILEPATH%%] %FILENAME%



#22 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 12:55 PM

Ah yes, sorry, iftitle runs before the batch file!

 

It is necessary to reload the menu.

 

Try adding after the default 0 line

 

 

if "%RUN1%"=="" set RUN1=1 && configfile /grub/LinuxUser.mnu


#23 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 27 January 2013 - 01:29 PM

I tried that and it looked like LINUXUSER.mnu was run twice

 

I saw som of the echo's

 

But then I end up at the grub terminal and get no further.


Edited by Scooby, 27 January 2013 - 01:29 PM.


#24 Scooby

Scooby

    Member

  • Members
  • 62 posts
  •  
    Sweden

Posted 27 January 2013 - 05:17 PM

I thoguht I try this in AUTOLINUXMENU.bat

 

I inserted it after the call to LINUXUSER.mnu. it seems to work however I get no splash image and some othr weird behaviour.

Either I overwrite something in memory or my USB stick starts to break?

 

# look for a file with a .iso extension - param1=start folder   param2=extension
(bd)/grub/FindFileExt.g4b /_ISO/Linux/Default .iso
if not "%FILEPATH%"=="" echo FILE FOUND AT %FILEPATH%
if "%FILEPATH%"==""  echo No file with matching extension found!

if not "%FILEPATH%"==""  goto defmen
echo nodefiso
goto nodefiso

:defmen
echo defmen
echo timeout 5 >> (md)0x3000+0x50
echo default 0 >> (md)0x3000+0x50
echo >> (md)0x3000+0x50

set hlp=\nDefault Boot ISO is %FILENAME% (mapped to USB drive - partition 4)
echo title %FILENAME% %hlp% >> (md)0x3000+0x50
echo partnew (hd0,3) 0x00 %FILEPATH% >> (md)0x3000+0x50
echo map  %FILEPATH% (0xff) >> (md)0x3000+0x50
echo map --hook >> (md)0x3000+0x50
echo root (0xff) >> (md)0x3000+0x50
echo chainloader (0xff) >> (md)0x3000+0x50
echo >> (md)0x3000+0x50

:nodefiso


Edited by Scooby, 27 January 2013 - 05:18 PM.


#25 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 27 January 2013 - 05:19 PM

I tried that and it looked like LINUXUSER.mnu was run twice

 

I saw som of the echo's

 

But then I end up at the grub terminal and get no further.

Can you post your menu.lst - it should work.

I made a mistake in the menu in post 17 which is now corrected (had echo's when should not have been in there!).







Also tagged with one or more of these keywords: grub4dos, multiboot, multipass, usb boot, iso

2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users