Forum: EasyBoot
Topic: floppy emulation with memdisk
started by: rtfm

Posted by rtfm on Nov. 02 2004,22:05
I have some diagnostic programs that require access to write to A:\.  Is it possible when EB loads the IMG file to emulate it in a way that the program can write to A:\ as if I booted from the physical floppy?

I've tried creating a ramdisk with xmsdsk and copying the contents to that drive and launching the program from there, but I often get "insufficient memory".

Noticed a bootcd called Ultimate Boot CD and kinda poked around the setup, noticed it uses something called memdisk to load the IMG file into a floppy emulation.  The command line looked liked this "memdisk /images/diags.img"

Is it possible to recreate something like this with EB?

Any ideas on what I could try?  Thanks for your help.

Posted by xoben on Nov. 03 2004,03:47
Recommanded for version 5.08 and above:
1) Download the < attached zip file >
2) Extract files (isolinux and memdisk) to c:\easyboot\disk1\ezboot
3) Put your xxx.IMG (or xxx.BIF) file in c:\easyboot\disk1\ezboot as well
4) Use 'bcdw /ezboot/isolinix memdisk initrd=xxx.img' to load it



You can also use CDShell this way:

1) Download a simplified version from < http://dw.ezbsys.net/boot.zip >
2) Extract it to disk1\, a folder named boot will be added there
   boot\moudles
   boot\cdshl.bin
   boot\cdshell.ini
3) Copy your disk image (xxx.img for example) to disk1\boot
4) Edit cdshell.ini, change the first line to
   memdisk /BOOT/xxx.IMG
5) Save the attached file (cdshldr.bin) to disk1\ezboot
6) Use 'run cdshldr.bin' to load your image



Posted by rtfm on Nov. 03 2004,11:33
great, thanks that did the job, one question though ..

how would I go about doing this for multiple menu items though?  since I have to specify the name of the img in the cdshell.ini file?

thanks again!

Posted by xoben on Nov. 03 2004,20:30
Yes. For multiple images, you can do it this way:
1) Make another folder under disk1, named bt01 for example (disk1\bt01)
2) Copy all files and folders from disk1\boot to disk1\bt01
3) Copy your yyy.IMG to disk1\bt01, and modify cdshell.ini there to
   memdisk /BT01/yyy.IMG
4) Save cdshldr.bin as disk1\ezboot\cdsh01.bin
5) Click 'Tools'->'Replace Text' on File page of EasyBoot
   File: c:\easyboot\disk1\ezboot\cdsh01.bin
   Text to find: /boot
   Replace to: /bt01
   Click 'Replace'
6) Use 'run cdsh01.bin' to load

Posted by Gork on Nov. 04 2004,10:21
Quote (xoben @ Nov. 03 2004,08:47)
You can use CDShell this way:

I just want to thank you for this information.  I have heard about using ISOLINUX for a bootable CD, but I didn't understand exactly what it did.  Because of this I never bothered to learn by creating a CD to boot with this method.  Your instructions made it extremely easy for me to try it out and doing so solved a problem I had decided I'd just have to live with, after working many weeks trying to set up my multiboot Ghost CD.  (And, of course, this CD was put on my EasyBoot DVD...)

If you have enough time, I'd love to hear a little more about your post, for learning purposes.  I'm not looking for a step by step or anything, but you provided a link to download a "simplified version" of CDShell.  If this "simplified version" didn't exist, how would one go about using this method?  And, what is the difference between this "simplified version" and doing it manually?

Also, regarding your attachment cdshldr.bin...  How is this different from the other "normal" loader.bin files, say w2ksect.bin, we use with EZB?  Is it just a quick hex change, or is this a completely different file?  And, again, for learning purposes, where would one go about obtaining cdshldr.bin if you hadn't so kindly posted it?

If you're too busy to go through this stuff, I understand.  What you have posted has already taught me quite a bit and has solved a problem I decided was unsolvable!  I'll post a "quick version" of my problem which using this method solved, in case it is of any help to anyone.

I mentioned (and have mentioned in at least one other post) my Ghost bootable CD.  This CD uses three different drivers for networking with Ghost in two different setups, one for peer to peer networking and the other for "drive mapping" networking.  The equates to five different versions which are selected from a boot menu.

I'm using Microsoft Network client for MSDOS.  Both this and Ghost require write capability, which is fine for a floppy or hard drive, but not so fine when booting from CD.  In order to get around this problem I finally figured out that I could use a RAM drive.  After pulling out about 3/4 of my hair, I finally finished a CD using the RAM drive and applied it, with help from a previous post by xoben, to my EasyBoot DVD.

Additionally, for several reasons, I decided to use hard drive emulation for the bootable CD instead of hard drive emulation.  I wanted to know the drive letter of the bootable portion of the CD up front (which would be C with hard drive emulation).  I didn't want to use floppy emuation because the files I used are too big to fit on a floppy and I didn't want to bother with trying to figure out the specific CD ROM drive letter in order to copy files to the RAM drive from the "CD portion" of the bootable CD.

The CD and DVD both worked just fine on two of the computers it was designed for, but the oddest of the three computers, the Compaq laptop (go figure), caused memory errors.  I was able to figure out that the problem was being caused because the Compaq computer didn't like something about the hard drive emulation on the CD.  So, I couldn't do anything about the problem and finally gave up.

That is, I gave up until I read this thread.  I quickly learned that using this method would replace the RAM drive method I was using.  In order to learn, and also to try out something new which might work better, I rearranged my bootable CD files to work with this new method.  It was MUCH easier to put everything together than doing so with the RAM drive method.  Plus, the Compaq had NO PROBLEM using hard drive emulation on the bootable CD with this CDShell method.  In addition, there is nothing on any part of the CD that I need any longer after booting, so I can completely remove the CD and use it in another computer.  Then there's the "cool factor."  This method is just really cool.  Instead of creating a new separate RAM drive and copying everything into it, this CDShell method actually emulates the bootable image (floppy or in my case hard drive) of the CD in memory.  This basically gives my hard drive image, even though it's booted from a read only CD, complete read/write access.  What an incredible solution!

Once again I salute you, xoben.  Thanks for everything you do in these forums!



Posted by xoben on Nov. 04 2004,18:42
Quote
If you have enough time, I'd love to hear a little more about your post, for learning purposes.  I'm not looking for a step by step or anything, but you provided a link to download a "simplified version" of CDShell.  If this "simplified version" didn't exist, how would one go about using this method?  And, what is the difference between this "simplified version" and doing it manually?

All files are from CDShell package, except some unused files&folders have been removed.
Quote
Also, regarding your attachment cdshldr.bin...  How is this different from the other "normal" loader.bin files, say w2ksect.bin, we use with EZB?  Is it just a quick hex change, or is this a completely different file?  And, again, for learning purposes, where would one go about obtaining cdshldr.bin if you hadn't so kindly posted it?

It comes from CDShell package as well. The original name is loader.bin.

Posted by Gork on Nov. 05 2004,03:23
xoben
That's exactly what I was looking for...  Thanks!

After I posted that last message I realized that creating a bootable CD, using this method but without EZB, is not as easy as burning with or without hdd/floppy emulation using the boot sector supplied.  I finally just created a quick EZB screen which says "Loading - Please Stand By..." and used that to pass control to the CDShell loader.  Naturally, the CD image I'm working on worked perfectly on my EZB multiboot DVD...

Posted by tim on Nov. 08 2004,11:34
Great, just what I needed.

After some initial confusion and cock-ups I got it working great.

I looked into the CDSHELL method a bit further and came up with some extra info (in no particular order):

- the original (and latest) CDSHELL stuff can be found here www.cdshell.org

- the latest version of MEMDISK can use GZIPped image files.
I used the free command line GZIP from www.gzip.org.
It reduced my 2880KB images to approx 1600KB and still ran fine.

- To save having multiple ISOLINUX directories, a single copy of this directory can be placed in the root.
This will then contain the one and only copy of MEMDISK.

- If prefered, the images can be placed in a single directory in the root (for example \IMAGES).

The CDSHELL.INI will then be like this:

memdisk /images/xxx.IMG

- CDSHELL and MEMDISK require that all FILE and DIR names are in 8.3 format. If not they cannot be found.

That's it for now. hope that's helpfull.

Posted by rtfm on Nov. 08 2004,17:32
tim,

I'm a bit confused on how you can only have one folder for the emulation modules.  Don't I have to have a cdshell.ini for each menu item?  Since I have to tell it which IMG file to load within the ini file.

So where do you put all your cdshell.ini files?  Does each menu item have it's own folder with just the cdshell.ini and IMG file?  Did you also have to create a .bin file for each item?

Any clarification would be appreciated, thanks.

Posted by tim on Nov. 09 2004,05:57
ISOLINUX is a sub-directory under \BOOT\MODULES

You still need to have the seperate \BOOT directories to hold the different CDSHELL.INI files.

This just saves ISOLUNIX being repeated under every MODULES directory.

P.S see my next post over the page



Posted by tim on Nov. 09 2004,06:01
Here's a liitle picture showing the directory structure as I have it.
This has beed fully tested to work OK.

Posted by rtfm on Nov. 09 2004,12:42
Gotcha, makes more sense now, just wanted to clarify.

Thanks for the help!

Posted by Rock2000 on Oct. 03 2005,11:02
Quote (xoben @ Nov. 03 2004,08:47)
You can use CDShell this way:

1) Download a simplified version from < http://dw.ezbsys.net/boot.zip >
2) Extract it to disk1\, a folder named boot will be added there
   boot\moudles
   boot\cdshl.bin
   boot\cdshell.ini
3) Copy your disk image (xxx.img for example) to disk1\boot
4) Edit cdshell.ini, change the first line to
   memdisk /BOOT/xxx.IMG
5) Save the attached file (cdshldr.bin) to disk1\ezboot
6) Use 'run cdshldr.bin' to load your image

It can't work with Windows ME boot image file.
Posted by EvilBetty on Feb. 07 2006,16:18
I posted a similar post in the UltraISO forum (http://forum.ezbsystems.net/cgi-bin/ikonboard.cgi?act=ST;f=2;t=1220), but since process is now having issues with this ISOLINUX method I thought I would post it here as well.

I am trying to add a new Ghost 8.3 bootable GhostCast ISO from Symantec, and the current Dell 32bit Diagnostics ISO to my EasyBoot disk.

[xoben] has been a tremendous amount of help getting me this far.  Following his instructions I used the BIF files instead of the ISO files and followed the rest of the above procedure.

This method works great in my VMWare / Virtual PC session.  Both Dell 32 Bit Diagnostics and the Ghost Boot CD, boot correctly.

Unfortunately the CD's did not work on any PC I have in house (12 Dell models from GX-110's through GX-620's desktops, and laptops from C600 - D610).  None of them will boot the ISOLINUX sessions, but freeze at a different points.  Some freeze at a black screen.  Others freeze imediately after the ISOLINUX version is shown with some "DL" code.

Code Sample
ISOLINUX 2.11 08/18/2004
Copyright (C) 1994-2004 H. Peter Anvin
isolinux: Starting up, DL = 82


Google resulted in the following thread that made me susspect the ISOLINUX version.
< http://www.911cd.net/forums....c=10612 >

But after updating your process using the new ISOLINUX.CSM and the new MEMDISK module, it still freeses with either a blank screen or a new message of:

Code Sample
ISOLINUX 3.07 03/01/2005


Google resulted in the following thread(s) when looking for other persons have this problem.
< http://www.911cd.net/forums//index.php?showtopic=15481 >

I am at a loss... Not really sure how to proceed at this point.

Any further advise you, or any other helpful party may have would be greatly apprecated!

Thanks!
Posted by Tattenbach on Feb. 15 2006,08:33
Just a silly question?

where is isolinux involved? Do the Dell images boot from it or are you using it because somebody recommended isolinux as a solution?

I guess I cannot get a copy of that dell iso, can I?
Posted by mionica on Apr. 02 2006,05:42
@tattenbach
memdisk is loaded the same way a Linux kernel is. So, to use it, you need something capable of loading Linux kernels.
This would mean, you'd have to use SysLinux or GRUB. Most of us prefer the < SysLinux > package (btw, memdisk and isolinux are both part of it).

< CDShell >, on the other side, was required because it knew how to pass an argument to the isolinux command line.

Since the later versions of EasyBoot (5.08+) include another tool, the < Bootable CD Wizard (BCDW) >, CDShell is no longer required.

Actually, because BCDW is far more flexible than CDShell ever was, I would highly recommend using BCDW over using CDShell.

To load disk images with memdisk, you need:
- EasyBoot 5.08+
- isolinux.bin and memdisk from the isolinux package, copied to c:\EasyBoot\disk1\ezboot

Then, when you want to run an image, just use the command
CODE
bcdw /ezboot/isolinux.bin /ezboot/memdisk initrd=<path-to-image-file>

You neeedn't patch anything for it to work; also, note the paths are required; for example,
CODE
bcdw ezboot/isolinux.bin /ezboot/memdisk initrd=/ezboot/dos/etsd.ima
would work, while
CODE
bcdw ezboot/isolinux.bin memdisk initrd=dos/etsd.ima
wouldn't.

Also, there's a patch I made for isolinux.bin (get it < here >) which allows loading of isolinux.bin, memdisk and/or the image(s) from hidden folders, too. With CDShell (as with direct ISOLinux), this was impossible.

Posted by Tattenbach on Apr. 03 2006,05:35
@mionica:

Thanks for the explanation but I already knew that.

Actually my old question was in the direction of helping this person that never answered back. I just wondered why she was using isolinux with that Dell image. I do not know it but I doubt that she would really need isolinux. Hence my question, I might be wrong, but I thought she was using a wrong method. Just that!

MfG,

Posted by omprakash on Jan. 28 2009,09:42
how to integrate hiren boot cd 9.7
Posted by balder on Jan. 28 2009,17:46
@omprakash

Note: This topic is dedicated to "floppy emulation with memdisk" but anyway, here is a link that might help you: < http://www.ezbsystems.com/cgi-bin....=hirens >

balder

Posted by pmi on Jan. 29 2009,21:16
Hiren's 9.7 is using isolinux.

You can use "bootinfotable;run hiren.bif"; hiren.bif is the boot file.

Posted by Leodemon on Aug. 27 2011,17:42
EZboot is very power full though can someone tell me if i can use it through pxe , i have a machine running tftp32 and all settings are very fine and i am able to load grldr in guest machine (disk less) through grub i have tested several floppy images and other utilities to work on guest machine since grub is less colour full i m thinking of using Ezboot instead grub or right after the grub loads it transfer the control to Ezboot (which can be set through timeout command in grub) so user dont actualy see the grub menu but Ezboot colour full menu on client machine ----- Any idea for deploying Ezboot on pxe ...
Posted by balder on Aug. 28 2011,03:15
@Leodemon

As a new member I say welcome @Leodemon :)

Quote: "EZboot is very power full though can someone tell me if i can use it through pxe"

Interesting request ???
hmmm... Generally I cannot see any problem.

But as I'm not 100% acquainted with pxe (I haven't such equipments to test it fully out) I can of course not to 100% guarantee it works.

Some notes:
I'm pretty sure you can create a grub-floppy-image to launch different easyboot.iso-files wherever you have put these easyboot-iso-file(s).
Please Take a look on my script "easyboot-usb.script" that launch easyboot-iso-file from USB using grub menu.

You can simply put some easyboot-iso-file in some "network-computer" and let EasyBoot menu launch a grub-floppy-image that launch this easyboot-iso-file in that "network-computer".
You can of course as usual use submenu(s) in Easyboot etcetera :;):

To sum it up, you can from EasyBoot meny launch grub-floppy-image and hereby launch another different EasyBoot-iso-file with a different EasyBoot menu AND jump back using grub-floppy-image (launch "original" EasayBoot-iso-file) or jump to another different EasyBoot-iso-file some where and launch a third different EasyBoot menu (easyboot-iso-file).

And here comes another "cool" thing with EasyBoot; you can actually jump from grub menu back to EasyBoot menu :p
How to jump back to EasyBoot menu from grub menu read post nr; 16 < HERE >

Frankly, I cannot see any limits here :laugh:  

You have download of my scripts below, in every post I write in this forum

balder

Posted by Leodemon on Aug. 28 2011,06:21
@Leodemon

As a new member I say welcome @Leodemon :) <Thanks Balder >

Quote: "EZboot is very power full though can someone tell me if i can use it through pxe"

Interesting request ??? <<yaa pxe booting is one of my fav>>
hmmm... Generally I cannot see any problem.

But as I'm not 100% acquainted with pxe (I haven't such equipments to test it fully out) I can of course not to 100% guarantee it works.

Some notes:
I'm pretty sure you can create a grub-floppy-image to launch different easyboot.iso-files wherever you have put these easyboot-iso-file(s).
Please Take a look on my script "easyboot-usb.script" that launch easyboot-iso-file from USB using grub menu.

You can simply put some easyboot-iso-file in some "network-computer" and let EasyBoot menu launch a grub-floppy-image that launch this easyboot-iso-file in that "network-computer".
You can of course as usual use submenu(s) in Easyboot etcetera :;):

To sum it up, you can from EasyBoot meny launch grub-floppy-image and hereby launch another different EasyBoot-iso-file with a different EasyBoot menu AND jump back using grub-floppy-image (launch "original" EasayBoot-iso-file) or jump to another different EasyBoot-iso-file some where and launch a third different EasyBoot menu (easyboot-iso-file).

And here comes another "cool" thing with EasyBoot; you can actually jump from grub menu back to EasyBoot menu :p
How to jump back to EasyBoot menu from grub menu read post nr; 16 HERE

Frankly, I cannot see any limits here :laugh:  

You have download of my scripts below, in every post I write in this forum

balder

hmmm i have take note of ur suggestion and i m defenately gona give a try to it but there are few things if you have used tftp32 there we have to mention the boot file which pxe has to seed to the client pc there we mention grldr and unfortunately grub do not support large iso to be loaded remotely from (pd) unless we map it in memory through some ramdisk suppose firadisk i have tested the whole hiren 11 cd including hirens mini xp and mini linux using firadisk with success but my actual question is that is there any grldr type file in ezboot which we provide in tftp32 so ezboot can take control without grub and do rest of the job

Posted by balder on Aug. 28 2011,11:31
@Leodemon

Quote: "grub do not support large iso to be loaded remotely "

Can you not work around this problem by simply create a "grub-kicker-image" (floppy image with grldr) that launch your ISO or whatever on that specific "network-computer" ???

You simply launch a "grub-kicker-image" from Easyboot menu that "search" and finds "grub-kicker-image" on that specific "network-computer" that launch your ISO-file.
Or launch a "new" EasyBoot (EasyBoot-ISO-file) on that specific "network-computer" and from here (from the "new" EasyBoot menu) you easily can launch any ISO-file etcetera.

I know it's not any "nice" workaround but could be one solution to use :cool:

Quote: "is there any grldr type file in ezboot which we provide in tftp32 so ezboot can take control without grub and do rest of the job"

I guess I have to disappoint you here :O  - grub is not used in this way in EasyBoot.

To clear things out:
My script "easyboot-kicker-image.script" create "kicker-images".
This floppy images has grub-mbr in boot-record and use grldr and menu.lst to "make things happen".

Same floppy is created by "easyboot-iso.script" that launch ISO-files.
Note: when checking "Run ISO from RAM" firadisk is used to run WinPE created from NT5-source (NT5=WinXP or similar)!


balder



Posted by balder on Dec. 05 2011,00:40
If any user experience problems using memdisk as EasyBoot menu command  - typically: memdisk ***.img instead of: run ***.img then follow guide below...

Open 'EasyBoot\resource' and copy 'memdisk' to folder 'ezboot' overwriting existing 'memdisk'
And while we are in the 'mood' - copy also 'syslinux' and 'isolinux' to folder 'ezboot' overwriting existing files.

balder