From: eric@tantalus.nrl.navy.mil (Eric Youngdale)
Subject: Re: BSD filesystems? Xenix FS? X11 on hercules screen?
Organization: Naval Research Laboratory
Distribution: comp
Date: Sat, 21 Nov 1992 20:47:56 GMT

In article <1992Nov20.194854.22231@unislc.uucp> erc@unislc.uucp (Ed Carp) writes:
>Eric Youngdale (eric@tantalus.nrl.navy.mil) wrote:
>
>: 	BSD: no.  Xenix: yes, there is a filesystem.  I have toyed with the
>: idea of writing a filesystem for linux that would understand a BSD ufs
>: filesystem but the differences are so great between the bsd VFS layer and the
>: linux VFS layer that it would be easier to hack the minix filesystem to
>: understand ufs than to try and port the ufs filesystem.  I have not decided if
>: I want to do this or not.
>
>It would be very helpful for those of us who would like to run dual environments
>- Linux and 386BSD, booting off one or the other as the need arises.  I've been
>planning this for some time now, because I want to do some benchmarking
>between Linux and 386BSD.  They both have distinct advantages - Linux is more
>of a "hacker's OS", and developments will come at a more rapid pace, but
>386BSD is more like SunOS, where most of my living comes from (no one will
>pay me for hacking on Linux - yet, but they *do* pay very well for hacking on
>SunOS :)).
>
>I'd like to mount my 386BSD drive from Linux (or vice-versa, which is why this
>is cross-posted), snarf off the 0.1 distribution (so I won't have to load
>386BSD onto floppies, yuck), and then install from a hard drive.


	I have looked into this enough that I at least have some idea of the
scope of the problem.  Sometime after the new scsi code is in the 0.99 kernel,
and things settle down a little, I will start in on this.  It might not be
until after the first of the year before I get very much done with this.

	The first step is to make linux recognize the bsd disk labels, which
are sort of analagous to but incompatible with the DOS-type partition tables
which linux uses.  (If I get some of the BSD details wrong, I would appreciate
it if someone would *kindly* point it out to me in private mail).  As a first
go, I will just hack the code in the linux kernel to accept these partition
tables as well as the regular DOS format partition tables.  The disklabel on a
BSD floppy (i.e. boot floppy) are problematic, since linux generally treats the
floppy as a non-partitionable device.  Once I get around to working on a UFS
filesystem for linux, I will probably have to treat the floppy disk as a
single-partition special case.

	The filesystem itself will be a minix filesystem with the guts ripped
out and various internal organs from the UFS filesystem transplanted (this is
sort of how I wrote the iso9660 filesystem).  The VFS layers in linux and bsd
are very different from each other, both in terms of how information is passed
around, but also in terms of what the filesystem is expected to be doing.  We
may end up losing some optimizations, but in the long run these should be
re-implemented in a linux specific way rather than trying to paste everything
together at once.

	If someone feels like starting in on this, I would be willing to
instruct someone via email as to what would be needed, and help them get
started. 

-Eric


-- 
Eric Youngdale
Newsgroups: comp.os.linux