Re: Feedback needed on BOOTING, CACHING and some HELPER TOOL
Bart Oldeman <[email protected]> Thu, 07 Nov 2002 22:06:33 -0500 (EST)
| Newsgroups | gmane.os.freedos.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 8 Nov 2002, Paul Case wrote: > Arkady V.Belousov wrote: > > >>> How? How they (partitions on "floppies") will be called? > >>> > >BO> There are no partitions on floppies. > > > > Do you mean that I can't make partitions, say, on ZIP diskette? > > > He didn't say anything about removeable media in general, he said > floppies. ZIP diskettes can be partitioned if you use the right > software, or have software to emulate an INT-13H interface for them, and > then use DOS-based partitioning software (I've done this several times). Yes, indeed. Now, - the FreeDOS kernel only parses the partition tables on the drive *once*, during boot time. This code is discarded after boot time. - it also only parses partition tables for BIOS drives >= 0x80. For drives < 0x80 the kernel simply assumes it's a floppy. - hence if the ZIP drive is accessed using int13, you cannot have partitions on a disk inserted after boot time (because the kernel cannot recalculate them anymore). If the ZIP drive is accessed using an external device driver then the kernel doesn't care about any partitioning. - For CDROMs for instance there is this scheme: if it boots as A: then the drive contains a floppy image (and is BIOS drive 0) if it boots as C: then the drive contains a hard drive image (and is BIOS drive 0x80, with partitions) it can also boot in "no emulation mode" where it simply transfers data to some memory area and then jumps there. See also http://www.phoenix.com/resources/specs-cdrom.pdf how eltorito works. Whether CDROM or ZIP drives are used doesn't really matter. So we have (disregarding network drives, which can overlay drive letters, and "SUBST", and of course funny undocumented tricks): A: == BIOS drive 0, always without partitions. B: == BIOS drive 1 or BIOS drive 0 (using the DJ-mechanism), also always without partitions. C: == the first partition on BIOS drives >= 0x80 following drive letter assignment rules. .. x: == last drive found at boot time before config.sys is parsed. x+1:, x+2:, ... == block device drivers loaded in config.sys. Bart