As I was thinking about designing my ISO image boot loader, I was contemplating about what the advantages and disadvantages are over the different disk emulation modes.

I am very serious about doing the best job that I can at building my little hobby OS, and would like to know if anyone knows any advantages or disadvantages over using any of these mentioned emulation modes. I am tempted to use floppy-disk emulation, since it might be simpler to use. This is for the optical-disk image files, not anything that goes on an actually storage disk that you would general use for long term storage of an operating system.

With floppy disk or hard disk emulation, you can only access the contents of the disk image using the BIOS. In no-emulation mode, you have access to the entire contents of the CD. It also simplifies creation of your ISO, since you don't need to create another disk image and embed it into the ISO.

With floppy disk or hard disk emulation, you can only access the contents of the disk image using the BIOS. In no-emulation mode, you have access to the entire contents of the CD. It also simplifies creation of your ISO, since you don't need to create another disk image and embed it into the ISO.

Until you get to EFI and need to embed a FAT in the CD again for that...

With floppy disk or hard disk emulation, you can only access the contents of the disk image using the BIOS. In no-emulation mode, you have access to the entire contents of the CD. It also simplifies creation of your ISO, since you don't need to create another disk image and embed it into the ISO.

Disk emulation almost seems a little bit more secure than just straight up off the disk. I could be entirely wrong, and it might just be me, but emulation intrigues me for some reason.

I have also tried thousands upon thousands of different times to get no emulation to work, and I cannot get it to work. So I am seeing if this will work out for me, lol

Disk emulation almost seems a little bit more secure than just straight up off the disk. I could be entirely wrong, and it might just be me, but emulation intrigues me for some reason.

Secure how? There are only a handful of very old computers that can boot a CD in floppy disk emulation mode but can't boot a CD in no-emulation mode.

saltlamp wrote:

I have also tried thousands upon thousands of different times to get no emulation to work, and I cannot get it to work. So I am seeing if this will work out for me, lol

If you're still interested in making it work, you can post here. Someone might be able to spot the problem.

klange wrote:

Until you get to EFI and need to embed a FAT in the CD again for that...

I forgot about that. I wonder if there are any mkisofs-style tools that could generate the FAT32 filesystem as a wrapper around the disc's contents, similar to how ISO9660 and UDF can be combined in the same disc.

Secure how? There are only a handful of very old computers that can boot a CD in floppy disk emulation mode but can't boot a CD in no-emulation mode.

What I mean by 'more secure' is in a data-access kind of way. With emulation, it's almost as though the actually functionality of the CD/DVD is in a sort of 'purgatory,' and any program or code on the emulated-disk that wants to access data on the real disk has to go through the emulated disk via a driver of some sorts. This also stops rogue programs on a CD/DVD from executing, since the functionality to execute a program is all in the emulated disk in the first place. No program can start, unless started by the emulated disk.

Say that you have a driver that you write, and it only recognizes specific files on the disk that are needed to install your system or run the disk, and it only allows execution of those specific files or programs. If you put random files or executables on the same disk, they won't be recognized as important system files, and therefore will not be allowed to run. You might most likely will have to sign the files in some way, shape, or form, so that they are only recognized.

This could also help against viruses or malicious attempts to create look-a-likes and just implant them into the disk. And I do understand that malicious people could decompile and disassemble them and see what they signatures they have, but you get the point. It could even just help in random programs being executed for whatever reason, although it is unlikely. It's still a precaution, since it has the chance, even though it's low, to screw something up while installing or whatever.

Obviously it's not really that much different in the long run, because you could easily implement this kind of program guard your self without emulation, but there is that little extra layer of accessibility measures, and it could prove to be useful in some way, shape, or form. If if it's hard-disk drive emulation, because floppy-disk emulation is probably going to not exist for much longer, since computers are advancing so quickly.

If you're still interested in making it work, you can post here. Someone might be able to spot the problem.

Well, the main problem is that Mkisofs (the tool which I was using) would always complain with this message,

"Uh oh, I cant the boot image '...' !"

And I kept doing every single directory-path combination that I could try, even ones that made no sense, because I learned that Mkisofs works with relative-paths for whatever reason. And it was just super aggravating.

In that case, there's nothing about floppy disk emulation that makes it more secure. You still have to read files off the CD one way or another - if a malicious program is on the CD, it will be your code that reads it, and your code that decides whether it should run or not.

saltlamp wrote:

Well, the main problem is that Mkisofs (the tool which I was using) would always complain with this message,

"Uh oh, I cant the boot image '...' !"

Changing to floppy disk emulation won't make a difference here. What commands are you using to invoke mkisofs? Where are the files you want to put in the ISO located?

Changing to floppy disk emulation won't make a difference here. What commands are you using to invoke mkisofs? Where are the files you want to put in the ISO located?

No, lol, I was trying to do that without emulation. I have just recently begun trying to do floppy-disk emulation, but I could not get no-emulation to work at all.

When I was doing the whole no-emulation thing, it was like this,

I had have a directory called 'media' under my project root directory. This directory contains the following directories:

bootimageout

where 'boot' is the file, or files, used for the disk's start-up code (zeroth-sector .bin files, etc),'image' is the contains that go on the disk image, and 'out' is where, once completed, all finished items get deposited.

I had a Makefile under 'boot' that is invoked via

Code:

$(MAKE) -C

in the previous directory. The command that I was using is the following:

Mkisofs is supposedly path-relative; relative to the directory that you are trying to output the resulting .iso file. So I was being as relative as flippin' possible. I've tried too many path combinations to even mention.

Who is online

Users browsing this forum: No registered users and 10 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum