Mike
Mar 27 2004, 06:45 PM
A new beta of CD Shell is now available. It's a beta because of an experimental new feature: the ability to roll up all the CD Shell files into an ISO. This way you only have one file to add to your disc, instead of a whole folder heirarchy.
Other not-so-experimental changes are in the diskemu module. The first physical floppy drive now correctly maps to B: under DOS. Also you can now use the keyword "noboot" to tell diskemu to emulate but not boot the floppy disk. One use for this feature is to emulate a SCSI or RAID driver disk required by Windows Setup.
You can download it
here.
evilvoice
Mar 28 2004, 08:59 AM
could you delve more into how to roll it up? Ive looked at the zip file and dont see any tools on how to make it one file...
Mike
Mar 28 2004, 11:56 PM
Sorry, I meant to give more details about this somewhere, just haven't had time.
Basically what you do is first create an iso containing all of your boot files. In other words, take everything off of your disc image except the /boot folder (and /isolinux if you use it). Make this into an iso image as you normally would, except you don't have to make it bootable (you can leave out loader.bin). Call this iso file "cdshell.iso".
Now place the file cdshell.iso into the root or /boot folder of your final disc image. If you place it in the root of the iso, you won't even need a /boot folder on the disc. Now this iso has to be bootable, so set it up to use loader.bin as usual.
Now when the CD is booted, the loader will find cdshell.iso and mount it as a (sort-of) virtual file system. CD Shell will only be able to see the files contained in cdshell.iso, so all floppy images, boot sectors, Linux kernels, etc. must be in there.
Keep in mind that this is an experimental feature, and may not work well in some cases. I think reanimatolog's showgif module might not work yet, for instance. I haven't yet looked into all of the compatibility issues, but isolinux and diskemu have been tested and should be working.
-------------
Now for the new "noboot" feature of diskemu...
You can see how this command works by typing "help diskemu" from the console, but I'll give an example here.
I have a software RAID controller built into my motherboard, so when I install Windows I have to use a floppy driver disk to get through text-mode setup. Now what if I don't have a floppy drive, or don't want to worry about the floppy disk developing bad sectors, becoming lost, etc.? Microsoft provides a way to embed the driver into the disc, however in my experience this is unreliable (I think it only works for WHQL certified drivers). Here is a simpler solution:
Just make a floppy image file of the disk (calling it "raid.ima" here) and put it on the CD, then run these commands from CD Shell:
diskemu raid.ima noboot
chain boot.bin
This will install the floppy emulator and then boot into Windows Setup (assuming "boot.bin" is the Windows CD boot sector). Now I press F6 as usual to let Windows know that I'm going to load a RAID driver. When the time comes to install the driver, Windows will be able to load the driver from the floppy disk image.
Now, there is no way to use more than one floppy image, so if you need to load multiple drivers you'll have to find a way to get them both on one floppy image.
--------------------
If anyone has problems with the above new features, please let me know. These are both pretty experimental.
evilvoice
Mar 29 2004, 01:45 AM
lol, its all good...I figured out the noboot especially from you info about use as windows f6 driver disk (load to A:\ but boot from someplace else)...if loader.bin can boot a cdshell.iso does this mean we are getting something that can boot iso's? or am I retarded and that has been a feature for a while? Is there a limitation as to how big this cdshell.iso can be?
Mr.X
Mar 29 2004, 03:52 AM
Thanks Mike, I will test how it is;-)
jvbarnet1
Mar 29 2004, 10:41 AM
@Mike
Is there any way to have loader.bin boot a hidden (via mkisofs) cdshell.iso?
I tried and it didn't seem to work.....
Thanks
Mike
Mar 29 2004, 12:11 PM
QUOTE (jvbarnet1 @ Mar 29 2004, 09:41 AM)
Is there any way to have loader.bin boot a hidden (via mkisofs) cdshell.iso?
I tried and it didn't seem to work.....
Use "-hidden cdshell.iso" and see if that works. The -hide parameter completely removes the file from the directory record, so unless loader.bin is patched with the LBA and size of cdshell.iso, it will be unable to obtain that information. It takes just as much effort to use the "hide CD Shell files" method (posted on cdshell.org), so for that level of concealment we should use the established technique. The -hidden option just sets the "hidden" attribute of the cdshell.iso file, so it won't appear in a directory listing unless you enable the display of hidden files.
Bernd Blaauw
Mar 29 2004, 12:14 PM
how do you boot an ISO?
Bios -> cdrom -> loader.bin -> cdshell.iso -> unmount cdshell.iso; access cdrom.
hm..empty cdrom with loader.bin and the memtest86+ v1.11 iso should demonstrate this.
(rename the ISO to cdshell.iso)
Mike
Mar 29 2004, 12:17 PM
QUOTE (evilvoice @ Mar 29 2004, 12:45 AM)
if loader.bin can boot a cdshell.iso does this mean we are getting something that can boot iso's? or am I retarded and that has been a feature for a while? Is there a limitation as to how big this cdshell.iso can be?
No, we still can't boot iso's. I was thinking of making such an emulator, but I'm still not sure if it will work well enough to be useful. That is, I'm not sure the concept is sound. Might be worth a shot if it's not too difficult, though.
The cdshell.iso file can be as big as you want, or as big as you can fit on the disc.
Mike
Mar 29 2004, 12:24 PM
QUOTE (Bernd Blaauw @ Mar 29 2004, 11:14 AM)
how do you boot an ISO?
Bios -> cdrom -> loader.bin -> cdshell.iso -> unmount cdshell.iso; access cdrom.
hm..empty cdrom with loader.bin and the memtest86+ v1.11 iso should demonstrate this.
(rename the ISO to cdshell.iso)
The method would probably be to boot CD Shell for starters, then load a very small BIOS hook to translate disc accesses so that they read from the ISO file rather than the beginning of the disc. Think diskemu, not for floppy images but for CD/DVD images instead.
While this method may work for simple applications, it may not work for more complex ones. For instance, it requires all software to access the disc via BIOS interrupt 0x13, so if your programs access the hardware directly it will not work. Also it will break if the emulator/hook gets overwritten.
evilvoice
Mar 29 2004, 01:56 PM
one more question and Im done...will have found out everything I wanted to know...most people load up their images inside the cdshell boot folder...if this is all rolled up into a single iso, will those floppies boot normally? ie like this
CODE
:cdshell.iso
\boot\fonts\misc files
\boot\graphics\misc files
\boot\images\all floppy images here
\boot\modules\misc files
\boot\samples\misc files
\boot\misc files
\licenses\misc files
\tools\misc files
I guess in essence I am trying to find out if it doesnt open up the iso just to find cdsh.bin and ini and then close the iso...or if there will be any errors when trying to chain or memdisk a file...it just seems really cool that this will work...Also...with the addition of noboot for floppies...could you add it to open iso files (Im assumin this is the new cdshell.iso feature) so that it would act as a temp cdrom loadable as A:\ (same as floppy) again I have no idea how hard it is to do this, but it seems like you are so close to doing this...yea it would be great to boot iso's but it would be just as cool to get an iso to mount...ya know...after I wrote this I just thought about if you could hook to the hard drive, but then I stopped myself from asking that question, cuz then why dont you just build disk operating system (yes, DOS), so if you dont feel like workin on the iso thing I mentioned, skip it, and disregard the hard drive thing...Im just rambling but thought I would post it just cuz I think you are very close to making something that could replace dos in the essence of a bootable environment.
Mike
Mar 29 2004, 11:35 PM
Yes, if you have all of the files and folders you specified inside cdshell.iso, everything will work normally. The floppy images must be inside cdshell.iso; CD Shell can't see anything outside of cdshell.iso.
Hmm... I don't think I can make the ISO mount as a drive under DOS. That would require some way to emulate a FAT filesystem, which is no small task. There's DOS drivers for mounting CDROMs anyway that will achieve the same thing.
I'm not sure where you're going with the hard drive idea. I suppose we can emulate a hard drive under DOS using a modified diskemu, provided you have a hard drive image file on the CD. It would be slow and read-only though, so for this application you might just be better off using memdisk, which is able to emulate hard disks.
evilvoice
Mar 30 2004, 01:59 AM
hmmmm dunno where I was going...once I find out ill let ya know...also thank you for the info
evilvoice
Mar 30 2004, 01:07 PM
ran a test to see how it works...well it worked for just running the script, and I think it runs if you chain (since I tried to combine it with bcdw which ran the bootfile, but wouldnt load bcdw Im assuming because it is packed in an iso)...I then scratched that idea and decided to just run a test of memdisk...memdisk does not run, it will not boot a floppy...it errors back with cannot find kernel image /BOOT/modules/memdisk (not sure if its cuz it sees boot as BOOT, but who knows) so memdisk actually doesnt work if you roll it up into a iso. Mike any suggestions? BTW diskemu noboot works rolled up, tho I can not verify it *really* works until I can boot a file.
Mike
Mar 30 2004, 04:51 PM
Ok, thanks for testing. I ran into that same problem last night while testing some more changes to diskemu. It *did* work before I released 2.0.12b, so I don't know what happened. I'll see if I can fix it up and release build 13.
dani2
Mar 31 2004, 07:57 PM
Hi Mike, I just posted a thread in another forum about a feature request which it seems almost as if you already figured it out just I need you to make one little change...
Can you make it possible to have some sort of menu to chose which iso file to boot?
evilvoice
Mar 31 2004, 08:26 PM
dani, cdshell DOES NOT boot iso files, only cdshell.iso...as far as making it boot another iso, its doubtful, but we'll see what Mike says
Mike
Apr 1 2004, 01:38 AM
I'm working on it. I have some code ready but haven't been able to test it out to see if it works, or to what degree it works. But hopefully soon...
dani2
Apr 1 2004, 09:01 AM
evilvoice: all my ISO files use cdshell as their boot manager

Mike: If you want any beta testers for something like that, just ask me.
ZULU NINER
Apr 1 2004, 01:45 PM
QUOTE (Mike @ Mar 29 2004, 04:56 AM)
Microsoft provides a way to embed the driver into the disc...
Mike, can you provide a link to Microsoft documentation on this. I've searched around, but can't seem to find it.
Thanks...
Mike
Apr 1 2004, 07:03 PM
Yeah,
here you go. I remember there was another good resource that was non-Microsoft, but I don't have the link anymore.
Jito463
Sep 10 2004, 05:30 PM
http://www.nforcershq.com/forum/viewtopic.php?t=8892 <-- I believe this is what you're looking for. It details how to add the Sil3112 drivers to an unattended install (I also used it to add the Via SATA drivers). Works quite well for me.
*EDIT*
Oops, sorry. Didn't realize how old this topic was. Meh bad.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.