kof94 Posted April 24, 2007 Share Posted April 24, 2007 (edited) @google44Thanks buddy, I'll be taking a look at that asap.@JotnarAs 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 .We can but dream......... Edited April 24, 2007 by kof94 Link to comment Share on other sites More sharing options...
kof94 Posted April 24, 2007 Share Posted April 24, 2007 @google44I 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 hdat2MENU LABEL HDAT2 4.52KERNEL memdiskAPPEND initrd=boot/freedos.igz setup=hdat2The 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 NwDskand executes what ever you want at the end of the boot process. I chose to launch my setup.@if "%debug%"=="" echo offfor %%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 _msgif not exist \dostools\%setup%\setup.bat goto _msgcd \dostools\%setup%call setup.batgoto _end:_msgecho.echo Floppy Drive = %srcdrv%echo Ram Drive = %ramdrv%echo Boot Drive = %bootdrv%echo.:_endIt'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 offclsunzip -qq -uo estest.zip -d %ramdrv%\estest\%ramdrv%cd \estestestest.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 Link to comment Share on other sites More sharing options...
google44 Posted April 24, 2007 Share Posted April 24, 2007 Thank you, I will try but i cannot find nwdsk 3.42 anywhere. Link to comment Share on other sites More sharing options...
kof94 Posted April 24, 2007 Share Posted April 24, 2007 (edited) If you follow the 'All Downloads' link from the main page then go to 'beta', you end up here. You want fdubcd.img . Edited April 24, 2007 by kof94 Link to comment Share on other sites More sharing options...
google44 Posted April 25, 2007 Share Posted April 25, 2007 (edited) It appears that it cannot find the bootdrive and of course no dos program is launched. Here is the output: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 bartpeMENU LABEL 1 testKERNEL /boot/isolinux/memdiskAPPEND initrd=fdubcd.img setup=amsetThere 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 offSET BOOTDRV=ECHO %COMSPEC% ¦ CHOICE /C:ABCDEFGHIJKLMNOPQRSTUVWXYZ > NULIF ERRORLEVEL 1 SET BOOTDRV=AIF ERRORLEVEL 2 SET BOOTDRV=BIF ERRORLEVEL 3 SET BOOTDRV=CIF ERRORLEVEL 4 SET BOOTDRV=DIF ERRORLEVEL 5 SET BOOTDRV=EIF ERRORLEVEL 6 SET BOOTDRV=FIF ERRORLEVEL 7 SET BOOTDRV=GIF ERRORLEVEL 8 SET BOOTDRV=HIF ERRORLEVEL 9 SET BOOTDRV=IIF ERRORLEVEL 10 SET BOOTDRV=JIF ERRORLEVEL 11 SET BOOTDRV=KIF ERRORLEVEL 12 SET BOOTDRV=LIF ERRORLEVEL 13 SET BOOTDRV=MIF ERRORLEVEL 14 SET BOOTDRV=NIF ERRORLEVEL 15 SET BOOTDRV=OIF ERRORLEVEL 16 SET BOOTDRV=PIF ERRORLEVEL 17 SET BOOTDRV=QIF ERRORLEVEL 18 SET BOOTDRV=RIF ERRORLEVEL 19 SET BOOTDRV=SIF ERRORLEVEL 20 SET BOOTDRV=TIF ERRORLEVEL 21 SET BOOTDRV=UIF ERRORLEVEL 22 SET BOOTDRV=VIF ERRORLEVEL 23 SET BOOTDRV=WIF ERRORLEVEL 24 SET BOOTDRV=XIF ERRORLEVEL 25 SET BOOTDRV=YIF ERRORLEVEL 26 SET BOOTDRV=ZIF "%BOOTDRV%"=="" ECHO Error checking boot driveIF NOT "%BOOTDRV%"=="" ECHO Boot drive is %BOOTDRV% Edited April 25, 2007 by google44 Link to comment Share on other sites More sharing options...
kof94 Posted April 25, 2007 Share Posted April 25, 2007 (edited) 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 April 25, 2007 by kof94 Link to comment Share on other sites More sharing options...
google44 Posted April 25, 2007 Share Posted April 25, 2007 (edited) You're the man, now it's working . 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 April 25, 2007 by google44 Link to comment Share on other sites More sharing options...
jetman Posted April 25, 2007 Author Share Posted April 25, 2007 You're the man, now it's working . 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 searchAnyway, that's a generic solution which has always served me well....Jet Link to comment Share on other sites More sharing options...
kof94 Posted April 25, 2007 Share Posted April 25, 2007 (edited) For a minute there I thought I was in the wrong forum. Then I realised... we've been stickied 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 searchAnyway, that's a generic solution which has always served me well....JetTo 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 April 25, 2007 by kof94 Link to comment Share on other sites More sharing options...
jetman Posted April 25, 2007 Author Share Posted April 25, 2007 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 Link to comment Share on other sites More sharing options...
kof94 Posted April 25, 2007 Share Posted April 25, 2007 (edited) 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 .:: EOF Edited April 25, 2007 by kof94 Link to comment Share on other sites More sharing options...
jetman Posted April 26, 2007 Author Share Posted April 26, 2007 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 .:: 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 Link to comment Share on other sites More sharing options...
hpa Posted April 27, 2007 Share Posted April 27, 2007 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 Link to comment Share on other sites More sharing options...
kof94 Posted April 27, 2007 Share Posted April 27, 2007 (edited) Now we're really cooking Edited April 27, 2007 by kof94 Link to comment Share on other sites More sharing options...
kof94 Posted April 27, 2007 Share Posted April 27, 2007 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 ....JetMay 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 .All laughs aside, how good are you at modding Slax?Catch ya later. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now