Sunday 30 June 2013

DPMS 2 coming soon!

I have heavily modified chenalls DPMS script during the last week and have been testing it on both virtual and real hardware.
In VBOX I have tested in IDE, SATA(AHCI ICH8) and SCSI systems. These all install XP correctly in text-mode and GUI Mode.
I also tested on a real ICH8 notebook in IDE and SATA mode with success.
I have had to test using Firadisk and WinVBlock drivers so this doubled the testing.
I have also added code to copy the PnpInstances section over to the txtsetup.oem file, so it should work with most SCSI systems.
I have got to the stage now where it all works but the code is not pretty!
I should be able to make the early package for E2B available for anyone who has made donations soon.
I will then be making some YouTube videos demonstrating E2B and the DPMS auto-detection feature and after a month or so I will release the DPMS Update package for everyone.
It has been a hard week and there have been lots of frustrations (twice I 'broke' the code without realising it until later and then spent a day on each problem trying to find out what had gone wrong!) - really frustrating!
David B's VM Starter app has certainly helped as I can boot from my USB on VBox and have full read/write access to the USB stick.

The new DPMS 2 batch file also copies the F6 floppy txtsetup.oem's and directory listings to some log files on the USB stick. This will help in the event of any problems found by users as they can just send me these 'log' files.

Here is the DPMS output on a VBOX SCSI system.


Friday 28 June 2013

Description of txtsetup.oem files for F6 floppy disks for Windows XP Mass Storage drivers

When you make your own txtsetup.oem file, you can just combine several txtsetup.oem files by simply joining them in Notepad.

There are some rules for txtsetup.oem and I will explain the syntax by highlighting the bits that need to match:

KEY
DriverKey - different Config sections can be defined for each driver
Service      - matches the driver name (convention that drivers use)
ID              - ID of the device which may have more than one PCI ID

So in the txtsetup.oem file below, the keys which are the same colour need to match each other. You may find that in some txtsetup.oem files, both the ID and the DriverKey are the same, but they don't need to be!
[Disks]
d1="DPMS Installation Disk by chenall(diskd)",\disk1,\

[scsi]
iastor7="Intel ICH9/ICH10 SATA AHCI/RAID RST 11.2"


[Files.scsi.iastor7]
inf=d1,iaAHCI.inf
catalog=d1,iaAHCI.cat
driver=d1,
iastor.sys,iastor6

[HardwareIds.scsi.iastor7]
id="PCI\VEN_8086&DEV_3B29&CC_0106","iastor"


[Config.iastor6]
value = parameters\PnpInterface,5,REG_DWORD,1

[Defaults]
scsi=iastor7

If you want to specify a default driver, just have one entry (as shown) in the [Defaults] section and only have one [Defaults] section in the whole file.
\disk1 is a file that must be on the source F6 floppy disk. XP will identify which floppy the driver is on by looking for this file.
The PCI IDs used in txtsetup.oem is NOT checked by Setup - whatever driver you tell it to load is loaded by Setup - if the driver reports that if failed to load or recognise your hardware, Setup will report a problem.

If you want to add more txtsetup.oem files, just add them on to the existing txtsetup.oem file, one after the other (but just have one [Defaults] section).

Note that the driver.sys name MUST match the 'service' name used in the HardwareID driver line.

You can only have one driver= line (any others will be ignored).

Note that the (single) driver.sys file specified in the driver= line will be the one copied over to the hard disk. Therefore, this needs to be the one that is mentioned in the INF file, otherwise XP GUI Mode setup will complain about a driver missing from C:\Windows\OEMDir at about the 34 minute mark!

However, if you want to copy across more driver files than just the one allowed per section (or any type and number of extra files), just add more 'catalog=d1,fred.sys' lines, as many as you like! The files specified will then be copied across to the hard disk C:\Windows\OEMDir folder.

For FiraDisk:

[Disks]
d1="DPMS Installation Disk by chenall(diskf)",\disk1,\ 
[scsi]
firadisk=FiraDisk_Driver
[HardwareIds.scsi.firadisk]
id="PCI\firadisk","firadisk"
[Files.scsi.firadisk]
inf=d1,firadisk.inf
catalog=d1,firadisk.cat
driver=d1,firadisk.sys,firadisk
[Defaults]
scsi=firadisk

Loading two drivers automatically (without pressing F6)

You can get XP to automatically load by default both an AHCI driver AND FiraDisk by having almost IDENTICAL floppy disks each containing ALL of the files needed by both the AHCI driver and the FiraDisk driver. Both disks should have the same identifying disk tag file (e.g. disk1 in this case).

The ONLY difference is that in one txtsetup.oem you set the [Defaults] section to your AHCI driver, and on the other txtsetup.oem file you set the [Default] to Firadisk.

(in fact, the txtsetup.oems don't have to have the non-default sections - e.g. on the FiraDisk default txtsetup.oem you can remove all the AHCI driver sections if you want to).

XP text-mode setup will get confused if you don't use the same disk name tag file for both disks and have the same files on both disks, so you need to have all the driver files on both disks so that 'Drive A:' (which is whatever it accessed last just before the 'copyfiles' stage) will always contain the correct files when it tries to copy them from the F6 floppy just after formatting the internal hard disk. (It is just possible to have different disk tag files but you will still need both sets of drivers on each disk and you have to swap over the disk tags (i.e. disk0 oemsetup has 'disk1' as a tag and disk1 oemsetup has 'disk0' as a tag). It is MUCH easier just to use the same tag file and same contents on both disks!

For more details about txtsetup.oem syntax, see here - but it does not mention the fact that the driver.sys name must be the same as the SERVICE name.

I hope this saves someone hours of work!

cheers


Steve




Tuesday 25 June 2013

E2B DPMS package available for testing



Easy2Boot Upgrade DPMS package (BETA) now available for BETA testers only!

News - July 2013: New DPMS2 is now integrated in Easy2Boot and it is automatic - no need to press F6!

This enhances the current XP install from ISO menu. If you add the updated E2B files and download and add the DriverPack Mass Storage driver package (approx. 8MB download but 50MB when unzipped) you will have the option to autodetect the correct AHCI/SATA/RAID driver.

The DPMS package from chenall (and heavily modified by me) will auto-generate the F6 floppy disk image with the correct driver files. This MassStorage download seems the most bug free at the moment...

DP_MassStorage_wnt5_x86-32_1306202.7z - 9.18 MB a9922b31453aec34d46bdea5eb5a916f4f03589c

Or try Chenalls latest DPMS and just extract the D folder and DriverPack.ini (not dpms.bat!).

The installation method is still the same - you must manually use F6 and select the AHCI driver + Firadisk driver ( + WinVBlock driver (optional)) - however usually there will only be one AHCI driver present in the F6 list, so you will not have to guess which one to pick! Also, as the DriverPack contains non-Intel drivers, E2B XP installs from ISO should now work on non-Intel AHCI platforms.

Instructions are in the ReadMe.txt file.

News: After hours of hair pulling and midnight oil, I have a DPMS version now which loads firadisk AND the AHCI driver automatically (no F6 press required)! It is integrated in the Easy2Boot v1 download.

cheers
Steve

Friday 21 June 2013

E2B Upgrade Package available

If anyone has made a PayPal donation to me for E2B or has contributed to its development, I would like to reward them with the E2B Upgrade Package. This is currently at v1.01 and the idea is that any further developments of E2B will go into this Upgrade Package.
The first version is v1.01 and will modify E2B so it lists the menus in alphabetical (alphanumeric) order.
So all you need to do is rename your ISOs to re-arrange the listing order, e.g.

_1fred.iso
_2doris.iso
_3george.iso
_4debian.iso
_5plop.iso

etc.

To have nice titles, just make a .txt file for them, e.g.:

_1fred.txt
=======
title This runs fred direct from the iso \n This is help text for fred


If you have any .mnu files, you can also cause their entries to be listed in sequence too, just by changing the name of the .mnu file - e.g. _1Ubuntu_with_Persistence.mnu  would be listed before the other .mnu entries. You can even rename the SubMenuxxxxx.mnu files in the MainMenu folder to change the order they are listed in.

Depending on the MNUFIRST setting in your MyE2B.cfg config file, either all payload (ISO) files will be listed alphanumerically first in the main menu or all .mnu file entries will be listed first. You cannot have .iso files interspersed with .mnu files in a menu.


Wednesday 19 June 2013

Easy2Boot v1.00 now 'officially' released!

I have decided to release E2B now as v1.00. It is virtually identical to the last BETA (just a few changes to the colour syntax in E2B.cfg as grub4dos now supports names for the color command - e.g.  color normal=blue/light-blue, but I have left the old colour variable definitions in so older MyE2B.cfg files will still work.
Now it is officially released, I suppose I can expect a flood of bug reports (as this always seems to be what happens when people are afraid to try beta s/w)!

Friday 14 June 2013

E2B BETA30 v11 - small bugfix

There was bug with the bad bios detection script due to the way grub4dos reports drive geometry.
If you found that BETA30 v10 gave a red error message on start-up about a bad bios, upgrade to BETA30 v11 which should fix that.

Monday 10 June 2013

RMPrepUSB v2.1.707

I have added David B's great new utility Start_VM.exe to this version.

Start_VM.exe automagically dismounts the USB drive before running QEMU - this allows QEMU to have full write access to the USB drive. This means that any writes which are made to the USB drive under grub4dos or an OS booted to via grub4dos will actually work and the sectors on the USB drive will be permanently changed. For instance the default command will work in this mode as data will be written to the \default file or linux with persistence will work. This mode will now be the 'standard' mode for all future RMPrepUSB versions as it gives full rd/wr emulation capabilities and more reliable OS booting!

So v2.1.707 and later versions now have two different QEMU boot from USB drive options:

F11 - boot from USB drive but now with full read/write access (but the host Windows OS will not be able to access the drive whilst QEMU is running).

Ctrl+Shift+F11 - boot from USB drive in 'snapshot' mode. This used to be the default action in previous versions of RMPrepUSB (used to be F11). This mode is still useful if you want to be able to modify files on the USB drive whilst QEMU is running because the USB drive is not dismounted. This allows you to make simple changes (e.g. colour or menu position) and reload the menu whilst still running in the QEMU session and so this mode is still useful in some cases.


Sunday 9 June 2013

E2B BETA30 v9 available

This version allows you to have a standard text-mode menu (if you really want!)
See here for details of the change.

Saturday 8 June 2013

E2B BETA30 V8 now available

I have changed the menu headings and menu footer code slightly.
Now you do not need to change the padding if you change the menu box position as it is automatically calculated.

e.g. in MyE2B.cfg you may have had a heading for the main menu of:

set    HEADING=\x20              EASY2BOOT V1 - MAIN MENU  (%VER%)                       \x20

but if you moved the menu box to the middle of the screen, you would have had to pad all the menu text so it sits above the menu box:
e.g.
set    HEADING=\x20                                                EASY2BOOT V1 - MAIN MENU  (%VER%)                       \x20

You no longer have to do this as the spaces will be added automatically as now it is padded out by the code which looks at the rstart value for the border setting that you use in your MyE2B.cfg file.
This padding (%HPAD%) is applied to all headings and footers.

I have also added a new sample 'theme' called 'Aliums' as shown below:

Wednesday 5 June 2013

PassPass for E2B now available

PassPass by Holmes.Sherlock, Wonko et al. at reboot.pro is a grub4dos batch file which can be used to permanently patch or unpatch a Windows dll file (msv1_0.dll) on a hard disk by booting from a grub4dos USB drive (or CD). Once patched, any password will be accepted for a Windows User account, thus allowing anyone access to any Windows system (XP  -> Win7 tested so far, Win8 is in Alpha test status).

Details can be found here on the reboot.pro forum.

The files required should be copied to either the \_ISO\UTILITIES\Utility folder or the \_ISO\MAINMENU\Utility folder of your E2B drive. The PPass.g4b file has been modified specifically for E2B, it cannot be used as a standalone grub4dos batch file.

Once you have gained access, remember to run it again to Unpatch the dll or you will have no security!

P.S. WARNING: Make a backup of the DLL first! If you want to test this on your office/home system, you may find that the login credentials will be reset for some applications after unPatching - in particular, DropBox credentials may be lost and you will need to re-login and re-synchronise all DropBox files and folders! Therefore it is best to test this on 'test' system rather than your main PC!

P.P.S latest version can backup and restore the dll to \PassPass.bak on your USB boot disk. This allows you to test the patch/unpatch operations and then restore the dll afterwards so if you patch and then unpatch, the MD5 hash should be the same as before - if not you can use the Restore function.

1. Check MD5 of msv1_0.dll and run PassPass Backup from E2B
2. Run PassPass Patch
3. Boot and test the no pwd is required
4. Run PassPass UnPatch - Check MD5 of msv1_0.dll
5. If different, report it as a bug and then restore the original file and check MD5 of msv1_0.dll again


New RMPrepUSB with QEMU write access

If you ran QEMU from RMPrepUSB, it used snapshot mode which meant that writes to the USB drive did not actually write to the USB. This meant that any grub4dos command like dd, echo > (bd)/xxx, default, cat --replace=, write, etc, which wrote to the USB drive did not actually work.
DavidB (from reboot.pro) has made two extremely useful apps which allow QEMU and Oracle VBox to run from a USB drive with full rd/wr access.

I have updated the QEMU cmd file in RMPrepUSB to use this new utility and now we can boot from a USB drive with full rd/wr access from RMPrepUSB v2.1.706QEMUw!

Details of DavidB's new utility can be found here and the latest version of the utility for both QEMU and Oracle VBox here. To learn how to use it with VBox (much faster than QEMU!) please read Tutorial 4.
The new version of RMPrepUSB is on the Beta download page here (only the QEMU .cmd file has changed).

Sunday 2 June 2013

E2B BETA30 v7

In this version, Step 1 of XP install defaults after 3 second timeout to not load the ISO into RAM. If Y is pressed and then Enter, then the ISO will be loaded into system memory.
To speed up the process and not wait for the timeout, instead of waiting 3 seconds, just press the <Enter> key.

Monday 27 May 2013

Beta30 v5 now available - full release soon - please try this version!

Only minor changes in this version:

  • XP Step 1 install now loads the ISO into memory - this may prevent BSOD on some systems.
  • Updated grub4dos version
  • Updated some readme and help htm files.
  • Added E2B stamp to the background.

Please let me know of anything that is wrong or could be improved in this version. I will release it as the official full release after 1 week of no bug reports or changes.

Wednesday 22 May 2013

Easy2Boot BETA 30 v4

This version of BETA30 should be the same as v3, except with this version you can turn an E2B USB drive into a bootable ISO.

Don't get too excited though because many things won't work!
Windows XP via WinPE installs and Win8/SVR2012 installs won't work (Vista/7 and XP step1/2 may work but I have not tested them!).
Many linux ISO won't work unless you use a .mnu file which has special cheat codes in it - this is because I can't use the partnew command on a CD!

WARNING! If you try to use the partnew command in any of your .mnu files, it could wipe a partition on the internal hard disk that you boot the CD/DVD on!

WARNING!!!: If you have used any of the old sample .mnu files for linux ISO's - remove them before you boot from the E2B CD!!!! These .mnu files will wipe the 4th partition of your hard disk without warning if you boot from an E2B CD/DVD!!!!!

I have modified the Sample .mnu files now so they just abort if you try to use them on a CD.

Simple ISOs like KonBoot, or plpbt or WinPE ISOs will work though. Hirens Mini XP will work if you use an extension of .isomem (.isoWinvH does not fully work).

The CD\DVD that you make will also support FASTLOAD so it does not have to enumerate all the ISOs each time it boots.

Here is what you need to do to turn your E2B Flash memory stick into a bootable CD/DVD:

1. Make a USB Flash drive (or USB HDD) with BETA30 v4 or later
2. Add your payload files and test as normal
3. (optional) If you want FASTLOAD enabled on your final CD/DVD then copy FASTLOAD.YES to the root of the USB drive
4. (optional) If you have FASTLOAD enabled, boot the USB drive on a real system. Then reboot it to check that it loads the menu from cache correctly.
5. Run RMPrepUSB and select the USB drive - then type Ctrl+M  (File - Make grub4dos ISO from drive). This will make a bootable ISO.
6. (optional) Test the ISO using RMPrepUSB Ctrl+F11  (File - Boot from ISO using QEMU Emulator)
7. Burn your ISO (or copy it to a Zalman ZM VE-200/300/400 or IsoStick for testing).

BETA30 v4 is available at the bottom of the Tutorial 72a page.

E2B BETA30 v3 - AUTO folder is back!

I have re-instated the \_ISO\AUTO folder!
If you populate it with payload files (e.g. ISOs) and .txt files (optional) then you will see the DIRECT BOOT Menu appear in the Main menu.
You can have sub-folders under a \_ISO\AUTO and all payload files will all be listed in the DIRECT BOOT menu.
Another small change: Hotkeys for SubMenus such as BACKUP, ANTIVIRUS, etc. now are all Ctrl+ combinations.

Tuesday 21 May 2013

E2B BETA30 v2

Some changes to the menus to add F7-F10 to all of them and then add hotkey menu in the Footer at the bottom of the display.


Monday 20 May 2013

E2B BETA30 re-uploaded

Just some small changes have been made as the P, C, E and B keys are used by grub4dos so these need to be kept free. So I have used Ctrl+B and Ctrl+W for the Backup and WinPE hotkeys now. Please re-download and overwrite current files to refresh your USB drive. I have not bothered to change the version number as the changes are very small.

Easy2Boot BETA30 v1 now available

I have deleted the AUTO and MNU folders and menu entries.

Instead you have some-predefined Main menu folders. If you place a payload file inside one of the folders then that folder will appear in the Main menu. BACKUP_LINUX and UTILITIES_MEMTEST are sub-menus of the BACKUP and UTILITIES folder.


ANTIVIRUS
BACKUP
BACKUP_LINUX
docs
DOS
e2b
FASTLOAD.YES
FASTLOAD_Read_Me.txt
LINUX
MAINMENU
ReadMe.txt
Sample_MyE2B.cfg
UTILITIES
UTILITIES_MEMTEST
WINDOWS
WINPE


If you just download the BETA30 and make a new USB drive, you will see that BACKUP, DOS and UTILITIES will be listed, but not the other folders (WINPE, LINUX, ANTIVIRUS) as they are empty.

The UTILITIES menu has a Plop ISO and also a sub-menu entry for MEMORY TEST programs. The UTILITIES_MEMTEST folder contains memtest86+.
The DOS menu just has a FreeDos bootable floppy disk image.
The BACKUP menu is currently empty but it is displayed because there is a sub-menu .mnu file in it of Backup_Linux.mnu. So if you add some payload files to the \_ISO\BACKUP_LINUX folder, then the Linux sub-menu will be listed.

All these examples have hotkey's assigned, so if you are using GFXMenu, you will need to remove the hotkey text from each of the SubMenuXXXX.mnu files in the \_ISO\MAINMENU folder. I assume that if you are experienced with GFXMenu then you will know how to do this!

I hope this new menu system is easier to understand and you can easily add more sub-folders by just copying an existing SubMenuXXXX.mnu file.

Note that because the .mnu files are enumerated in a semi-random order, the order of each entry in the Main menu cannot be pre-set or pre-determined. If you want the Main menu ordered in a different way, then you need to combine all of the SubMenuXXX.mnu files with the MAINMENU.mnu file to make a MyMainMenu.mnu file and then delete the old .mnu files.








Easy2Boot - all change for BETA30!


OK. I have pretty much decided to drop the AUTO and MNU folders and just use a few new folders for BETA30

So I will include as standard Main Menu entries (if there is a file in the folder):

LINUX
UTILITIES
ANTIVIRUS
BACKUP
WINPE

and UTILITIES  will also have a sub-sub-menu of MEMTEST for an example of how to make a sub-sub-menu.
So the user can select Utilities from the Main menu,and then select Memtest from the Utilities menu and then the Memtest menu will list all the memory test utilities that the user has put there.

so the folder structure will look like this:

\_ISO\E2B
\_ISO\WINDOWS
\_ISO\MAINMENU
\_ISO\LINUX
\_ISO\ANTIVIRUS
\_ISO\BACKUP
\_ISO\WINPE
\_ISO\UTILITIES
\_ISO\UTILITIES_MEMTEST

and the \_ISO\MAINMENU folder will also now contain the .mnu files for these:

\_ISO\MAINMENU\SubMenuLinux.mnu
\_ISO\MAINMENU\SubMenuAntiVirus.mnu
\_ISO\MAINMENU\SubMenuBackup.mnu
\_ISO\MAINMENU\SubMenuWinPE.mnu
\_ISO\MAINMENU\SubMenuUtilities.mnu

and for the sub-sub-menu, I will include the .mnu file...

\_ISO\UTILITIES\Utilities_MemTest.mnu

Users can copy these .mnu files or change them to have their own MainMenu 'folders' and edit the text for their own language or add/change hotkeys.

Please let me know if you have any strong objections ASAP!

Sunday 19 May 2013

Easy2Boot - adding extra folders

If  you want to create sub-folder entries in the Main menu, e.g. have sub-menus for say Backup, Utilities, Linux, Hirens ISOs, DOS images, BIOS update images, Diagnostics, etc.  you can add all of these to the Main menu by adding a .mnu file for each one (but you will need to edit a few lines!).
Hotkeys can also be assigned to these entries.

The instructions on how to do this are now in Tutorial 72a and the required Example_Backup.mnu file is in the latest (refreshed) BETA29V11 download  (just re-uploaded!).


This example BACKUP menu entry leads to another menu which will list all payload/.mnu files under \_ISO\BACKUP.
You can even nest these menus and have sub-sub-menus, etc. etc. etc.

Saturday 18 May 2013

E2B BETA29 v11 now available!


  • minor changes to menus - re-worded to look better
  • Fix [L] appearing in GFXMenu for List PCI devices
  • Fix selecting blank menu entry in GFXMenu causes reversion to text mode menu
  • hotkey utility changed to latest version (old one caused keyboard problems)
  • ubuntu with persistence .mnu sample file added
  • Tails HDD .mnu sample file added (needed to boot Tails from USB HDD - not needed if booting from Flash drive)
Please update to this version (overwrites 5 or 6 files only).
Thanks to halikus for bug spotting and suggestions!



Friday 17 May 2013

Booting Ubuntu 12.10/13.04 from an ISO with persistence from an NTFS USB drive

Grub4dos booting of Ubuntu with persistence from an ISO is fairly easy if you use a FAT32 USB boot drive. You just add the keyword 'persistent' into the command line and set the iso-scan/filename= to the name of the iso and create your ext2 casper-rw in the root using RMPrepUSB:


title Try Ubuntu without installing
find --set-root /ubuntu-12.10-desktop-i386.iso
map /ubuntu-12.10-desktop-i386.iso (0xff) || map --mem /ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
# NOTE: Next line may wrap, it should start with kernel and end woth splash --
kernel /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed noprompt boot=casper persistent iso-scan/filename=/ubuntu-12.10-desktop-i386.iso quiet splash --
initrd /casper/initrd.lz

However. when I tried this from my Easy2Boot USB hard drive, it booted fine, but persistence would not work.
The reason for this is that my USB hard drive was formatted as NTFS.
Many Ubuntu versions will not mount a casper-rw persistent file automatically if it is on an NTFS volume.
As you may know, Easy2Boot uses the trick of using the grub4dos partnew command to map a spare partition entry to an ISO file. In this way, nearly all linux ISOs can be directly booted with Easy2Boot (without needing the iso-scan/filename=xxx.iso cheat code).

Well, we can use the same trick to map the casper-rw file to an empty partition too!
Even better, we can rename the casper-rw file because linux will look for a volume name of casper-rw first before it looks for a file called casper-rw and we can put the file anywhere we like on the boot drive! This means we can have 2 or more different versions of linux ISOs (e.g. Ubuntu 12.04, 11.01, 11.10 and 12.10)  all on the same multiboot USB drive and all using different 'casper-rw' files!

The grub4dos menu for this is fairly simple too (a simplified version with no checks is shown below):


title Ubuntu-12.10-desktop-i386 PERSISTENT
partnew (hd0,2) 0x0 /ubuntu1210-rw
partnew (hd0,3) 0x0 /ubuntu-12.10-desktop-i386.iso
map /ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz 


However, I have added some checks to make sure we do not trash the 3rd partition (I don't check the 4th partition in this menu, Easy2Boot already checks that the 4th partition is free when it boots) and made an Easy2Boot Ubuntu.12.10.mnu file for Ubuntu as follows:


# Make a \casper-rw ext2 file using RMPrepUSB in the root of the drive (MUST be made as casper-rw)
# Rename the file to \Ubuntu1210-rw
# Place this .mnu file and the Ubuntu ISO in either \_ISO\MainMenu\Linux or \_ISO\MNU\Linux
# This menu will work even on an NTFS USB boot drive

iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso] Ubuntu ubuntu-12.10-desktop-i386 PERSISTENT\n Boot using .mnu file with persistence
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE ENTRY 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)/ubuntu1210-rw echo WARNING: /ubuntu1210-rw persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)/ubuntu1210-rw
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso
map (bd)%MFOLDER%/Linux/ubuntu-12.10-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash --
initrd /casper/initrd.lz 


This should work for most versions of Ubuntu.

For 13.04 x64 you need to load the /casper/vmlinuz.efi kernel:
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 Persistent\n Boot using .mnu file with persistence - assumes we have a casper-rw ext2/3/4 partition
partnew (hd0,3) 0x0 (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
map (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- persistent
initrd /casper/initrd.lz

E2B .mnu file (using ext2 /ubuntu1304-rw file)
iftitle [if exist (bd)%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso] Ubuntu 13.04 PERSISTENT\n Boot using .mnu file with persistence
set ISO=%MFOLDER%/Linux/ubuntu-13.04-desktop-amd64.iso
set PF=/ubuntu1304-rw
#enable parttype output
debug 1
# make empty table entry in 3rd position in ptn table
parttype (hd0,2) | set check=
debug off
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,2) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 3 IS ALREADY IN USE - PERSISTENCE MAY NOT WORK! && pause
debug 1
if not exist (bd)%PF% echo WARNING: %PF% persistence file not found! && pause
errorcheck off
if "%check%"=="0x00" partnew (hd0,2) 0x0 (bd)%PF%
errorcheck on
#map ptn 4 to ISO
partnew (hd0,3) 0x0 (bd)%ISO%
map (bd)%ISO% (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi  boot=casper persistent noeject noprompt quiet splash --
initrd /casper/initrd.lz 

Once you have booted to Ubuntu you can change the Desktop wallpaper or create a file on the Desktop and it should still be there when you reboot.

Whilst in Ubuntu, here are a few things you can try:

In the Desktop - click on your USB drive (listed in left-hand panel) to view the contents
CTRL+ALT+F1   - go to command shell
ls /media
if /media/ubuntu is not listed type:sudo mkdir /media/ubuntu  - now switch back to the Desktop GUI (ctrl+alt+F7) and can now browse your USB drive to mount it (this is a bug in the x86 liveCD!) - now press CTRL+Alt+F1 again.

ls /media/ubuntu/  - should see your USB drive listed (e.g. WDPassPort)

CTRL+ALT+F7 - return to Desktop GUI

mount -l     - lists mounted volumes

df -h   - should see /cow persistent ptn listed (doesn't mean it is working though!)

To make a new 2GB ext4 file:
cd /media/ubuntu/WDPassPort
rm casper-rw
rm casper-rw ubuntu1210-rw

dd if=/dev/zero of=casper-rw bs=1M count=2048
mkfs.ext4 -F casper-rw
mv casper-rw ubuntu1210-rw

As I am not a 'linux' user/guru and don't own any sandals (it's cold in the UK), please correct me if any of the linux commands are not accurate!

Hope you find this useful!

P.S. The latest versions of RMPrepUSB (v2.1.713 and later) will allow you to create an ext2 file with a volume name that you specify separately, so you can create in one step an ext2 file called, say, 'Ubuntu-rw' with a volume name of 'casper-rw'.

Thursday 16 May 2013

Easy2Boot BETA29 v10!

Same as v9 but I have moved the [xx] characters to the end of the line.
I did not understand how to use the hotkey function properly

^L  means a hotkey of L but don't show the ^L
[L] means a hotkey of L but show [L]

The examples given were badly chosen! The exampes were

^F10
[L]

So I thought ^ meant it was a Function key !

Anyway, now we can have hotkeys and the menu looks (almost) the same as before!


Easy2Boot BETA29 v9 with menu hotkey support

v9 now has hotkeys for some menu items (e.g. press W and you go straight to the Windows Install menu). F8 will always take you back to the main menu (or fully reload if you are already in the main menu).

F7   Boot to first HDD
F8   Main Menu
F9   Reboot
F10 Power off
W   Windows Install
D   Direct Boot menu
S   Special menu


Hotkeys don't work in gfxmenu.
Let me know if you like it or prefer no hotkeys as in v8.

If you would prefer the [F8] to be at the end of the line, this can be done.

P.S. Now done in v10!



Easy2Boot v1 BETA29 v8 now available with gfxmenu support

For those of you that don't like the nice and practical grub4dos splashimage menu in Easy2Boot and think it looks 'naff', please download and try v8  (bottom of page)! Now you can add your own gfxmenu file so please don't complain about the menu again - if you don't like it then you can change it yourself (there is a gfxmenu tutorial on my site)!

To test out gfxmenu with Easy2Boot, just rename the \_ISO\GFXMyE2B.cfg file to MyE2B.cfg to try out the gfxmenu system (it uses the \_ISO\message file).

It has some disadvantages like
1. Drops back to the textmode grub4dos menu if any error encountered
2. No titles at the top of the menus
3. Cannot set default menu entry or timeout
4. Cannot show number of files present in each folder
5. When it switches to the console to list files, etc. it looks a bit messy.
6. probably lots more which I can't remember at this moment!

I suppose you will want a screenshot (I am not a fan of GFXMenu - can you tell?) - here you are:
Can you guess who it is (one for Star Trek fans....)?


Easy2Boot v1 BETA29 v7 now available

The only change to this update is that the QRUN.g4b batch file now supports an extra file extension type:

.isoask

If you name an ISO file with the .isoask extension, you will be given the choice of how to boot it - see the screenshot below for an explanation:


I got this idea from Rob G.C.  (thanks Rob!) who wanted to boot the same ISO file in two different ways.
Hirens ISOs will boot if you use .isomem and miniXP will work and so will the DOS utilitities, however it is slow to load and some systems are low-ram and won't load the whole ISO into memory - so now you can name the ISO file as .isoask and boot it any way you want!

In case you missed it, Easy2Boot will support different languages. Payload files with non-ANSI filenames will be shown correctly in the menus. Titles can be in non-ANSI characters - just save the MyE2B.cfg file in UTF-8 format (use NotePad).  You can also rename the Mainmenu.mnu file to MyMainMenu.cfg and edit and save that as UTF-8 too, as well use non-ANSI .txt files with alternative titles.






Tuesday 14 May 2013

Easy2Boot BETA29v6 is uploaded

The user settings file MyMenu.lst is now deprecated and should no longer be used - instead we have \_ISO\MyE2B.cfg!
This file contains nearly all user strings for the menus now (mainmenu.mnu has the others - so you can make your own version of that too!). Easy2Boot uses \_ISO\E2B\grub\E2B.cfg and then calls \_ISO\MyE2B.cfg  (if present).
The user background files MyBackground.bmp or MyBackground.bmp.gz should now be located in the \_ISO folder too. These will be automatically used of they are present (unless you have a MyE2B.cfg file which changes the default.
A Fontfile is loaded in this version. This allows for Chinese and special language characters like ® or ü to be used - just save the MyE2B.cfg file as UTF-8 format. You can now have menu entries and headings in your own language.
The 'Blue' menu can be enabled by renaming \_ISO\BlueMyE2B.cfg to MyE2B.cfg. The blue.bmp.gz file is also in \_ISO now.
Take a look at the BlueMyE2B.cfg file to see what it looks like.
The template file to make your own MyE2B.cfg file is also in \_ISO\Sample_MyE2B.cfg.

Basically, there is no reason for the user to change or edit any file in the grub folder any more.

P.S. A password of 'easy2boot' is set to prevent users from editing menus inside grub4dos. if you want to edit menus then press P followed by the password easy2boot. if you want to remove the password, rename \_ISo\Sample_MyE2B.cfg to MyE2B.cfg and set pwd to nothing  (set pwd=).


Monday 13 May 2013

grub4dos and environment variables

Whilst developing Easy2Boot, I found that I kept running out of variables space.
grub4dos has a meagre limit of only 60 variables  (and up to 512 bytes per value). Try to define any more than 60 and it simply refuses to put them into the environment.
I devised some nifty grub4dos code that would count how many variables I had left (see below).
This led me to realise that I could not use variables to store the names of all the files in a folder - thus reducing the number of files I could allow in a folder.
So I had to re-write Easy2Boot so that it used system memory to store the variables and then find and retrieve the value of a specified variable from memory when I wanted it!

VarsLeft.g4b
=========
!BAT
# grub4dos can have only 60 variables defined (512 bytes max per value)
# set *   will clear all variables - to find the max limit use set * followed by calling this batch file.

# take a copy of the current environment
setlocal

# Now lets fill up the environment until it fails!

# n is our counter
set n=1
:LOOP
# any more than 600 and it is probably not worth worrying about!
if "%n%"=="600" goto :end
set AAA%n%=FFF
# on first loop AAA1=FFF
# now we need to read back AAA1 by writing a small batch file in memory - e.g.
# !BAT
# set B=%AAA1%
echo -e !BAT\nset B=%^AAA%n%%% > (md)0x3000+1
# now call the batch file we just made to set B to the value of AAA1
call (md)0x3000+1
if not "%B%"=="FFF" echo Approx. %n% Variables left! && exit
# increment n for next loop
set /a n=%n%+1  > nul
goto :LOOP

# restore the copy of the current environment
# this is not really required as 'exit' also restore the environment
endlocal
# quit!
exit



Easy2Boot BETA29v5 available

This version has some more tidying up.
All headings can now be set in the Menu.lst (of course, you should not change menu.lst but copy it to MyMenu.lst and it will be used instead!).
The Footer help colour doesn't need to be the same colour as the heading now - it can be set in mymenu.lst.

I have also included two optional test files (delete them if you don't want them!):
blue.bmp.gz - a background picture
TEST_MyMenu.lst - rename this to MyMenu.lst to see how you can change the colours, background and menu position, menu headings and footer text, etc. (see screenshot below).

As well as some text colours being changed, the headings have been padded out to be central (ish) on the menu box. Also, the console background is dark blue to match the bitmap colour better. Try it for some inspiration!

Note with the TEST_MyMenu.lst file, the menu has been moved to the centre. This causes problems with the help text just under the menu as grub4dos can only print help text up to column 79 before it wraps the text to the next line - see below.


Easy2Boot BETA29v4 available

I had a brain wave last night (I don't get many of them these days!).
The main change in v4 is that I don't use environment variables to store the filenames any more. This caused a limitation as to the number of files you could have, especially if you used lots of variables in mymenu.lst to change the default menu text to suit your own preference/language. The more variables you defined or files you had, the more limited was the number of files displayed!

You can have as many .xml and .key files as you like now (i.e. that will fit on the screen before scrolling off = approx 34 in 800x600 mode!)
It may also mean I can add more variables for the menu title variables so that you can change the headings for all the menus in mymenu.lst.
I also changed some filenames from grub\xx.mnu to xxx.hdr to avoid confusing them with proper .mnu files.
Still a few more revisions to go, I feel, but it is nearly finished!