Subject: Re: newfs_msdos
To: Brook Milligan <brook@biology.nmsu.edu>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-userlevel
Date: 12/09/1999 21:51:26
On Thu, Dec 09, 1999 at 08:22:19AM -0700, Brook Milligan wrote:
> I am revamping newfs_msdos (and creating a new dumpfs_msdos) to be a
> more general tool for creating FAT filesystems on hard disks as well
> as floppies. I have need of this for making shared disks (I don't
> trust MS tools to create disks in a way that won't stomp on the
> existing bootblocks) and for creating files containing disk images for
> use with, for example, doscmd. It seems that there would be broader
> interest in this and I am proposing to replace the current version of
> newfs_msdos with my enhanced tool if there is interest. Is there?
I used mformat for this, and was even able to crate a DOS bootable partition
this way.
>
> In any case, I have two design ideas and would appreciate feedback on
> them
>
> Writing bootsectors for FAT filesystems requires knowledge of a bunch
> of geometry and other parameters describing the disk (or partition).
> I can take these from the command line or from compiled in tables.
Why not from the partition table ?
There isn't any on floopies, but all other removable or fixed media should
have one.
I don't feel like writing a config entry for each different drives I need
to format, especially when the info is already present on the disk.
> However, a more general approach is to take it from a configuration
> file. My first proposal is to extend the fields supported by
> /etc/floppytab to include the extra information needed. Is this a
> reasonable approach? Are there objections? Better suggestions?
>
> The bootsectors also, of course, include bootcode in addition to the
> geometry information. The specific bootcode that is appropriate
> depends on the OS to be booted from the filesystem. This information
> can also be taken from various sources: compiled in tables or an
> external file containing a bootblock. However, it might make sense to
Definitively external code.
> create a new file (e.g., /etc/boottab?) containing a set of available
> bootcode; this file could be scanned to pick out the correct one if
> that was included. Additionally, new bootcode could be added without
> recompiling newfs_msdos.
>
> What is the best solution here? Should newfs_msdos just include
> within the binary a table of different bootcodes? Should there be a
> separate table (where? name?) to which new ones could be added? Is
> there a problem with distributing a set of binary bootblocks for a
> variety of systems? (I think not since the same bootblocks are
I think there is one, yes. At last for msdos and NT I would be quite surprised
if there wasn't liscences issues here.
--
Manuel Bouyer <bouyer@antioche.eu.org>
--