[Dave Hudson <dave@humbug.demon.co.uk> writes:]
>So, what does everyone think - go with the first solution (where I need to
>find a way of determining which sectors are in a pre-built boot file), or go
>with the second solution (where we need a special boot partition)?
Well, I naturally like the most general solution, but I can imagine how
hairy such a boot loader could become. DOS is actually a pretty simple
boot filesystem; name length doesn't matter much, and you can ignore
permissions entirely. The FAT table is simple, and the biggest complication
is that the root directory and subdirectories are allocated differently.
If you don't do block buffering most of this can be ignored.
>I can see arguments for and against both, so before I start to think about
>any more code here I'd like some comments. Maybe I've missed another way?
It's hard for me to comment, since I think we need to spell out a couple
implicit assumptions:
1. We want to choose operating systems from a boot prompt
2. Once we choose one, we want to enter that OS with no intermediate
steps.
3. We don't mind requiring a DOS partition (or do we?).
4. If all the self-hosted compiles are under a vstafs partition, we
don't mind copying them to a DOS partition (I would mind, or
rather, I would add a "make install" build step).
5. We don't mind if our boots fail in mysterious ways because a server
got re-built (but the sector map wasn't updated).
6. We want to be able to boot on machines with no DOS.
For some mix of these, there are other cheap-o options. For instance,
have your autoexec.bat run boot.exe. This satisfies 1, 2, 3, 5. It
fails miserably on 6, and leaves 4 as a problem.
A LILO-like loader which understands DOS filesystems satisfies 1, 2,
3, 5. It fails on 6. But if we teach it vstafs, it could cover 6,
and even 4. Is the loader becoming a monster, though? What if we
all decide we hate vstafs, and go with minixfs instead? Should we
imbed a small interpreted language in it so it's easy to extend for
future filesystems? Then you could compile in whichever filesystems
you currently need, which would cap the bloat of the executable
image, even if you added lots of different filesystems to it.
My philosophy when I wrote VSTa was that DOS made a dandy bootstrap
loader. Thus, I never considered booting DOS first to be a problem, any
more than I mind the boot ROM step of a Sun workstation bootup. For
true standalone, something like your floppy booter is exactly what I
had in mind. For the middle ground you're now exploring, VSTa's
flexible perspective on filesystems is making it hard to find "the"
solution. "I don't have a solution, but I certainly admire the problem."
Regards,
Andy
Received on Sat Jan 8 09:14:58 1994
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 21:01:53 PDT