FreeBSD src
Go to file
ken 991827a2ea Write support for the cd(4) driver.
This allows writing to DVD-RAM, PD and similar drives that probe as CD
devices.  Note that these are randomly writeable devices, not
sequential-only devices like CD-R drives, which are supported by cdrecord.

Add a new flag value for dsopen(), DSO_COMPATLABEL.  The cd(4) driver now
uses this flag instead of the DSO_NOLABELS flag.  The DSO_NOLABELS always
used a "fake" disklabel for the entire disk, provided by the caller.

With the DSO_COMPATLABEL flag, dsopen() will first search the media for a
label, and if it finds a label, it will use that label.  Otherwise it will
use the fake disklabel provided by the caller.  This provides backwards
compatibility, since we will still have labels for ISO9660 media.

It also provides new functionality, since you can now have a regular BSD
disklabel on read-only media, or on writeable media (e.g. DVD-RAM).

Bruce and I both think that we should eventually (in a few years) get
away from using disklabels for ISO9660 media, and just use the whole disk
device (/dev/cd0).  At that point disklabel handling in the cd(4) driver
could follow the "normal" model, as used in the da(4) driver.

Also, clean up the path in a couple of places in cdregister().  (Thanks to
Nick Hibma for catching that bug.)

Reviewed by:	bde
2000-10-30 07:03:00 +00:00
bin Remove obsolete /dev/drum references 2000-10-29 12:19:52 +00:00
contrib fix conflicts created by import 2000-10-29 08:08:32 +00:00
crypto Add a CVS Id tag 2000-10-29 10:00:58 +00:00
etc - ipv6_prefix_* and ipv6_ifconfig_* work for end node 2000-10-29 19:59:05 +00:00
games Make the -d option actually work. 2000-10-28 07:37:57 +00:00
gnu Change "PERL_THREADED=yes" to "PERL_THREADED=true". 2000-10-30 04:52:33 +00:00
include Convert all users of fldoff() to offsetof(). fldoff() is bad 2000-10-27 11:45:49 +00:00
kerberos5 Fix ordering for real this time. 2000-08-30 03:44:30 +00:00
kerberosIV Remove the last vestiges of libRSAglue now that it's an empty stub. 2000-03-11 22:34:10 +00:00
lib Alpha verions of the crt initialization and finalization files required 2000-10-30 05:21:08 +00:00
libexec Add a MAINTAINER= line so people know who to blame 2000-10-26 23:02:36 +00:00
release Add the ATA RAID device 'ar'. 2000-10-29 13:04:04 +00:00
sbin .Xr to mount_ext2fs, mount_hpfs, mount_linprocfs, mount_nwfs, and 2000-10-29 14:45:36 +00:00
secure Fix up the build for the STARTTLS version of sendmail (again). This method 2000-10-24 16:04:56 +00:00
share Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
sys Write support for the cd(4) driver. 2000-10-30 07:03:00 +00:00
tools The latest & greatest unused #include spotter. Faster, one-pass and 2000-10-28 21:44:05 +00:00
usr.bin Remove obsolete /dev/drum references 2000-10-29 12:19:52 +00:00
usr.sbin Change my email on MAINTAINER from an RPI address to my FreeBSD address. 2000-10-30 01:09:32 +00:00
COPYRIGHT Update to add the July 22, 1999 addendum. 1999-09-05 21:33:47 +00:00
Makefile Pass the reinstallkernel target through from Makefile to Makefile.inc1. 2000-09-19 11:15:40 +00:00
Makefile.inc1 * Bring back the guts of crt{i,n}.S. This allows C++ exceptions to work 2000-10-28 21:26:48 +00:00
Makefile.upgrade $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README Slightly improve the description of "crypto". "DES" is a subset of 2000-08-31 17:59:01 +00:00
UPDATING Fix a typo in a date line. I wouldn't normally ignore MAINTAINER, but the 2000-10-29 15:55:15 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you have to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html