Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Super-Disc: Multi-Boot Project CD/DVD Using ISOLINUX

- - - - -

  • Please log in to reply
290 replies to this topic

#51
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
I'm glad you've managed to fix the problem.

These are my params for CDImage:

cdimage.exe -l"AIO" -h -j1 -b"E:\Disc\isolinux\isolinux.bin" -x -o -m "E:\Disc" "E:\Disc.iso"

If you download CDImage GUI it makes things a whole lot easier.


How to remove advertisement from MSFN

#52
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts

I'm glad you've managed to fix the problem.

These are my params for CDImage:

cdimage.exe -l"AIO" -h -j1 -b"E:\Disc\isolinux\isolinux.bin" -x -o -m "E:\Disc" "E:\Disc.iso"

If you download CDImage GUI it makes things a whole lot easier.


Actually that's no less arcane than MKISOFS. Having said that, one thing I like about the live Linux CDs is K3B. Granted it's a lot to boot an entire OS just to burn CDs/DVDs, but K3B is a front-end for MKISOFS/GROWISOFS and then some. Maybe that is a reason for booting an OS....Jet

#53
google44

google44

    Newbie

  • Member
  • 18 posts
I have some problems booting .iso's with isolinux. I know that not all .iso image can be booted but I've tried some of them with bcdw and works fine. How can I boot an .iso with isolinux ? Or can I use it together with bcdw somehow?

#54
google44

google44

    Newbie

  • Member
  • 18 posts
How can I add parameters to memdisk ? Here is what i've did:
Create a folder called dosapps in superdisk/boot/isolinux and put amset folder (maxtor drives tool) in it with all the files. Something like this:
superdisk
---boot
----isolinux
---dosapps
--amset

Create a batch file (startup.bat) in amset folder with the following content:
cls
cd \dosapps\amset
amset

Copy dosubcd.igz from ultimate boot cd to isolinux folder
Run image like this:
LABEL bartpe
TEXT HELP
test example
ENDTEXT
MENU LABEL 1  test
KERNEL /boot/isolinux/memdisk
APPEND initrd=dosubcd.igz ubcdcmd=amset

But it doesn't work although dosubcd.igz is booting:
Posted Image

Any ideas?

Edited by google44, 23 April 2007 - 06:10 AM.


#55
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts

I have some problems booting .iso's with isolinux. I know that not all .iso image can be booted but I've tried some of them with bcdw and works fine. How can I boot an .iso with isolinux ? Or can I use it together with bcdw somehow?


Read this again. There are reasons for problems booting ISOs. If necessary, get a fresh copy of ISOLINUX.BIN from the ZIP you downloaded, but that's it.

All that ISOLINUX.BIN does (after being patched into the ISO image by MKISOFS, whatever) is to read ISOLINUX.CFG and subsequently load whatever files from the CD/DVD as selected via its menu. That's it. That all GRUB does, that's all that BCDW does, that's all CDSHELL does. They only differ in the syntax of the config file "language" and how they configure extended memory (RAM > 640KB.) So, one loader mite load one util, where another can't, like Doc Mem that Kof and I have been trying to use from ISOLINUX.

I personally bailed on the others bec I didn't want to learn another language (CDSHELL) and I didn't want to deal w/ a poorly documented program that's been abandoned by its author (BCDW.) GRUB has been nothing but a PITA. Others swear by those systems and that's just fine. Pick one (for a particular proj) and accept the consequences....Jet

PS: No loader really boots ISOs, certainly not large ones. Certain distros (eg. Slax, Knoppix, et al) will boot their own customized ISOs (from the hdrive.) Maybe you'd be better off sticking w/ BCDW....

Edited by jetman, 23 April 2007 - 08:26 AM.


#56
Jotnar

Jotnar

    Member

  • Member
  • PipPip
  • 186 posts
I'm starting to think that Virtual PC is not terribly good for testing ISOLinux stuff out on. In switching from the plain jane boot menu to vesamenu, some of my boot disks no longer boot properly. For the Universal TCP/IP Boot Disk I had to add the raw option to memdisk to get it to boot inside Virtual PC and I'm still having issues getting Seagate DiscWizard, Maxtor MaxBlast, and Western Digital Data Lifeguard Tools to boot up correctly.

Here the obligiatory screenhots of my disc.

Before (old menu)
Posted Image

After (new vesameu)
Posted Image

with password protection
Posted Image

Cheers

#57
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
I have to say Jotnar, that is one sexy menu you have there :wub: .

On to the more technical stuff...

The raw and bigraw switches are required when your boot images have been created using Windows. I have to use raw to boot ViVARD and CopyWipe because of this reason!

This isn't a failing of VPC, you'll probably find you require these switches on a real machine as well. In fact I have found in a lot of cases VPC replicates a real machine more closely than VMWare or VirtualBox.

As for your Disc Manager programs, none of them will boot via memdisk it just one of those things.

@google44

Your better off building your own NwDsk for executing DOS tools. It isn't difficult, you could even take the UBCD images apart to do this, I did to start with. Everything is modular so you can add and remove particular components as required. I would recommend using the FreeDOS versions though since they seam to be more stable.

@jetman/google44

What version of isolinux/vesamenu are you using to provide help info/code box?

Thanks.

Edited by kof94, 23 April 2007 - 02:58 PM.


#58
google44

google44

    Newbie

  • Member
  • 18 posts

What version of isolinux/vesamenu are you using to provide help info/code box?

I use the last version (still in development but i have no problems) 3.50 pre5 from here http://www.kernel.or...slinux/Testing/. TEXT HELP feature it is explained in readme.menu.

Your better off building your own NwDsk for executing DOS tools. It isn't difficult, you could even take the UBCD images apart to do this, I did to start with. Everything is modular so you can add and remove particular components as required. I would recommend using the FreeDOS versions though since they seam to be more stable.

Ok, but from where to start ? It is enogh to use this tutorial http://www.veder.com/nwdsk/ ?
The problem is not creating nwdsk but getting parameters passed to floppy images. I don't know if it is necessarry to build my own nwdsk because to get parameters passed to floppy image they used bcdw.com and a batch file. But it seems that it doesn't work either, bcdw.com always returning 1. kof94 did you manage to get parameters passed to floppy image ? Maybe some hints, something :D ?

Edited by google44, 24 April 2007 - 12:31 AM.


#59
Jotnar

Jotnar

    Member

  • Member
  • PipPip
  • 186 posts
What gets me is that with the old menu system my floppy images worked fine. The network bootdisk booted fine under Virtual PC with no extra memdisk switches required. The only time I had to use the raw switch was with the WinME/XP DOS Boot Disk which was the reason they put the raw switch in there in the first place. It was something about that version of DOS failing if it couldn't access a certain part of memory if I remember correctly. For that reason I always used Win98SE DOS boot disks if I ever had to make a bootable floppy. I just don't understand how changing the menu system should make an image that booted fine before hang horribly.

Cheers

Edit... I've had DiscManager, MaxBlast, and Data Lifeguard Tools all booting with the old menu system, they even boot up with the new menu system. The program seems to hang when it starts though. It doesn't do this with VirtualBox or QEMU so I have to burn a CD and test it on a real system to see if its just VirtualPC.

Edited by Jotnar, 24 April 2007 - 05:52 AM.


#60
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts
What about DSKEMU as an alternative to MEMDISK ? On my Todo list for a quick trial. I looked at it (the web page that is) after Sir Kof mentioned it and it appeared to be a definite maybe....Jet :sneaky:

#61
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
@google44

Thanks buddy, I'll be taking a look at that asap.

@Jotnar

As memdisk is still in active development it wouldn't surprise me if a new version would require you to use a switch to make an image boot where as before you didn't require one. I'm only really stabbing in the dark here to give you plausible answers to the the problem, it could be any number of things really.

@Sir Jet

If diskemu could be ported for use with isolinux it would be fantastic. The original diskemu binary does hold the key to booting those images that memdisk can't touch e.g. DocMem.

In an ideal world you'd really want the updated version contained in CDShell. The author added extra features that even enabled you to directly boot an .iso image :w00t: .

We can but dream......... :whistle:

Edited by kof94, 24 April 2007 - 02:21 PM.


#62
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
@google44

I nearly forgot.... NwDsk...

The reason your using that FreeDOS NwDsk image is to execute apps from your boot CD/DVD, hens why there is a folder called 'dosapps' on the UBCD disc.

Basically all you've got is a modular DOS boot disc that you can add as many drivers as you want to, to achieve your goal i.e sata,aspi,usb,keyboard(if your not in the US),mouse,DPMI etc and some utils if you like.

Personally I don't want or need a networking DOS boot disc so I ripped all of that out. I also removed NTFS and LFN support as well as Volkov Commander for the same reasons.

To do this I took the FreeDOS UBCD NwDsk 3.42 from Erwin's site (you need to look in the beta section) and just started cutting.

You really need to read the little section about how the boot process works i.e. what level you want you're cab's at and you need to look at what each cab contains. This may take a while but once you've got the general idea about how this works you'll realise it's quite simple, for the user anyway.

The next part is easier than you might think.

The first thing you want to happen after all your drivers and stuff are load is to find your boot CD/DVD and set a variable for it . You can do this quite simply with a command like this:

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\autorun.inf set bootdrv=%%i:

This command basically looks at all your drives for a file called autorun.inf at the root of it and sets a variable called %bootdrv%.

The second thing you want to happen is to execute your app. This is also rather simple and wouldn't be possible without using memdisk.

Whist booting your FreeDOS image it is possible to set an environment variable that is recognised in DOS.

Some thing like this:

LABEL hdat2
MENU LABEL HDAT2 4.52
KERNEL memdisk
APPEND initrd=boot/freedos.igz setup=hdat2

The bit your interested in is setup=hdat2, that is your variable!

From there it's just a question of how to use it. Now this is were I confess I have stolen some idea's from UBCD.

Here is my entire setup.bat that is execute by autorun3.bat. Autorun3.bat is contained in the 'etc' folder on the NwDsk
and executes what ever you want at the end of the boot process. I chose to launch my setup.

@if "%debug%"=="" echo off

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\autorun.inf set bootdrv=%%i:
if "%bootdrv%"=="" goto _msg
%bootdrv%
cd \

if "%setup%"=="" goto _msg
if not exist \dostools\%setup%\setup.bat goto _msg
cd \dostools\%setup%
call setup.bat
goto _end

:_msg
echo.
echo Floppy Drive = %srcdrv%
echo Ram Drive	= %ramdrv%
echo Boot Drive   = %bootdrv%
echo.

:_end

It's not the best batch in the world but it does the job. Finds my boot DVD finds the app I want to execute by it's folder name and launches it.

the batch contained in that folder can do this how ever you like I chose to keep all my apps in zip files and decompress them into ram for use but it's up to you.

Here's an example:

@echo off
cls
unzip -qq -uo estest.zip -d %ramdrv%\estest\
%ramdrv%
cd \estest
estest.exe /?

There's alot more to it than this including tweaking settings here and there, but I feel I might drown you with info at the mo.

Have a mess around with it and if you have any specific questions drop me a line.

-kof94

#63
google44

google44

    Newbie

  • Member
  • 18 posts
Thank you, I will try but i cannot find nwdsk 3.42 anywhere.

#64
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
If you follow the 'All Downloads' link from the main page then go to 'beta', you end up here. You want fdubcd.img ;) .

Edited by kof94, 24 April 2007 - 03:47 PM.


#65
google44

google44

    Newbie

  • Member
  • 18 posts
It appears that it cannot find the bootdrive and of course no dos program is launched. Here is the output:
Posted Image

The same output if I use dosubcd.igz from ultimate boot cd. Only if i boot ultimate boot cd and run fprot for example, then it's working. I use virtual pc and vmware, the same output.

isolinux command:
LABEL bartpe
MENU LABEL 1  test
KERNEL /boot/isolinux/memdisk
APPEND initrd=fdubcd.img setup=amset

There is an amset folder in dosapps folder. Basically i have in root of my cd the following folders: boot-->isolinux (fdubcd and all config files) and dosapps -->amset (with startup.bat and amset files).
I injected in fdubcd.img your startup.bat in "bin "folder and then modify autorun3.bat to run startup.bat at the end.

I've tried with this code to find the bootdrive but it's the same thing, it cannot find the bootdrvive:
@echo off
SET BOOTDRV=
ECHO %COMSPEC% ¦ CHOICE /C:ABCDEFGHIJKLMNOPQRSTUVWXYZ > NUL
IF ERRORLEVEL  1 SET BOOTDRV=A
IF ERRORLEVEL  2 SET BOOTDRV=B
IF ERRORLEVEL  3 SET BOOTDRV=C
IF ERRORLEVEL  4 SET BOOTDRV=D
IF ERRORLEVEL  5 SET BOOTDRV=E
IF ERRORLEVEL  6 SET BOOTDRV=F
IF ERRORLEVEL  7 SET BOOTDRV=G
IF ERRORLEVEL  8 SET BOOTDRV=H
IF ERRORLEVEL  9 SET BOOTDRV=I
IF ERRORLEVEL 10 SET BOOTDRV=J
IF ERRORLEVEL 11 SET BOOTDRV=K
IF ERRORLEVEL 12 SET BOOTDRV=L
IF ERRORLEVEL 13 SET BOOTDRV=M
IF ERRORLEVEL 14 SET BOOTDRV=N
IF ERRORLEVEL 15 SET BOOTDRV=O
IF ERRORLEVEL 16 SET BOOTDRV=P
IF ERRORLEVEL 17 SET BOOTDRV=Q
IF ERRORLEVEL 18 SET BOOTDRV=R
IF ERRORLEVEL 19 SET BOOTDRV=S
IF ERRORLEVEL 20 SET BOOTDRV=T
IF ERRORLEVEL 21 SET BOOTDRV=U
IF ERRORLEVEL 22 SET BOOTDRV=V
IF ERRORLEVEL 23 SET BOOTDRV=W
IF ERRORLEVEL 24 SET BOOTDRV=X
IF ERRORLEVEL 25 SET BOOTDRV=Y
IF ERRORLEVEL 26 SET BOOTDRV=Z
IF	 "%BOOTDRV%"=="" ECHO Error checking boot drive
IF NOT "%BOOTDRV%"=="" ECHO Boot drive is %BOOTDRV%

Edited by google44, 25 April 2007 - 02:22 AM.


#66
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts

The same output if I use dosubcd.igz from ultimate boot cd. Only if i boot ultimate boot cd and run fprot for example, then it's working. I use virtual pc and vmware, the same output.


Thats because it's the same image just not compressed!

I've tried with this code to find the bootdrive but it's the same thing, it cannot find the bootdrvive:


Thats because you need a tag file, in my case it's autorun.inf at the root of the disc. Once DOS has searched all drives and found the one with autorun.inf in it, it will set that drive as %bootdrv%.

Here it is again:

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\autorun.inf set bootdrv=%%i:

I've set autorun.inf in bold so you can see where to add your tag file.

If you just want to use the existing, bloated UBCD image then make a file called ubcd.ico at the root of your disc, it'll work then.

Edited by kof94, 25 April 2007 - 04:20 AM.


#67
google44

google44

    Newbie

  • Member
  • 18 posts
You're the man, now it's working :thumbup . Thank you very much for your help ;)

If you just want to use the existing, bloated UBCD image then make a file called ubcd.ico at the root of your disc, it'll work then.

No, I don't want ot use it because it's obviously too bloated, i will create my own, i just use it for testing purposes.

Edited by google44, 25 April 2007 - 06:55 AM.


#68
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts

You're the man, now it's working :thumbup . Thank you very much for your help ;)

If you just want to use the existing, bloated UBCD image then make a file called ubcd.ico at the root of your disc, it'll work then.

No, I don't want ot use it because it's obviously too bloated, i will create my own, i just use it for testing purposes.


There are easier ways to do all of this. You can explicitly set the drive letter of the ramdrive, if one uses the corr ramdrive driver. And the same is true of MSCDEX, for optical drives. Then set the LASTDRIVE letter (in CONFIG.SYS) to Z, use R for the ramdrive, and X for the starting letter of the opticals. (X bec an IDE-based PC has a max of four drives, where at least one is a hdrive.) I use the higher drive letters for all of this, to avoid collision w/ hdrive partitions if a PC has a lot of drive partitions. So, if you need to go searching for files on an optical drive, you have fewer drives to search

Anyway, that's a generic solution which has always served me well....Jet

#69
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
For a minute there I thought I was in the wrong forum. Then I realised... we've been stickied :w00t:

There are easier ways to do all of this. You can explicitly set the drive letter of the ramdrive, if one uses the corr ramdrive driver. And the same is true of MSCDEX, for optical drives. Then set the LASTDRIVE letter (in CONFIG.SYS) to Z, use R for the ramdrive, and X for the starting letter of the opticals. (X bec an IDE-based PC has a max of four drives, where at least one is a hdrive.) I use the higher drive letters for all of this, to avoid collision w/ hdrive partitions if a PC has a lot of drive partitions. So, if you need to go searching for files on an optical drive, you have fewer drives to search

Anyway, that's a generic solution which has always served me well....Jet


To be honest, my batch is just a copy of the techniques people have used for RunOnceEx and batch file software installations. I just went with what I knew!

Edited by kof94, 25 April 2007 - 04:02 PM.


#70
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts

To be honest, my batch is just a copy of the techniques people have used for RunOnceEx and batch file software installations. I just went with what I knew!


Understood. Short of using something like Python (a better scripting lang) to interrogate registry entries, I guess everyone goes the brute-force way (yours truly incl) for XP scripts....Jet

#71
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
To be honest I very rarely use a batch file for anything these days, with the exception of these DOS tools of course.

Anything I do with Windows is usually performed via an inf or WPI if I'm installing apps.

Then of course if an app itself is playing up I'll either write an installer using Inno or an AutoIt script. Saying that, if something looks like I may have to resort to a batch file I write an AutoIt script instead.

Granted it's probably nowhere near Python (I don't know) but it does the job.

I'm starting to sound like a bit of a snob, sorry :P .

:: EOF :)

Edited by kof94, 25 April 2007 - 05:50 PM.


#72
jetman

jetman

    Member

  • Member
  • PipPip
  • 172 posts

To be honest I very rarely use a batch file for anything these days, with the exception of these DOS tools of course.

Anything I do with Windows is usually performed via an inf or WPI if I'm installing apps.

Then of course if an app itself is playing up I'll either write an installer using Inno or an AutoIt script. Saying that, if something looks like I may have to resort to a batch file I write an AutoIt script instead.

Granted it's probably nowhere near Python (I don't know) but it does the job.

I'm starting to sound like a bit of a snob, sorry :P .

:: EOF :)



Hardly. The word Python keeps coming up, bec it's platform-independent and syntactically it's no more complicated than InnoScript. You should give a look one of these days.

In the next couple of weeks, I plan to regen my BartPE disc, that's when Python really goes to work. More news soon ;) ....Jet

#73
hpa

hpa
  • Member
  • 1 posts
Hello, I just received a link to this thread from a user.

I'm the author of SYSLINUX, and it's always interesting to see how my stuff is being used. There have been a couple of interesting bug/misfeature reports in this thread, in particular the MENU MARGIN/MENU WIDTH issue which could perhaps be handled more cleanly.

I'm always interested in feature requests or bug reports, which doesn't mean I will always be able to accept and/or deal with them, but I will consider things and perhaps add them in the future if I feel it is appropriate.

The best place to comment is on the SYSLINUX mailing list, syslinux@zytor.com. I do ask that you do not send questions to me personally, since the only way I can moderate my workload is to allow other people on the mailing list a chance to repond; writing on the mailing list also allows questions and answers to go into the archives for other people to use.

Thanks,

-hpa

#74
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts
Now we're really cooking :w00t:

Edited by kof94, 27 April 2007 - 03:14 PM.


#75
kof94

kof94

    Advanced Member

  • Member
  • PipPipPip
  • 433 posts

Hardly. The word Python keeps coming up, bec it's platform-independent and syntactically it's no more complicated than InnoScript. You should give a look one of these days.

In the next couple of weeks, I plan to regen my BartPE disc, that's when Python really goes to work. More news soon newwink.gif ....Jet


May be I should. I'm no programmer but if there's a decent help file I can usually muddle my way through. Hay, may be then I really could be a snob :lol: :rolleyes: .

All laughs aside, how good are you at modding Slax?

Catch ya later.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN