How to test and debug Dragonfly BSD?
Alex Hornung
ahornung at gmail.com
Tue Nov 9 01:16:28 PST 2010
On 09/11/2010 05:31, <Marcin Ropa> wrote:
There are tons of code. Is there any README, describing which
functionality I may expected in which subdirectory? Where is core of
the system, where main structures are initialized and everything
begins when the system starting.
Just take a look at the directory structure in the source tree, I think
it's pretty obvious how things fit together. (Almost) every top level
directory in userland has a name that corresponds to its name on the
destination installation, e.g. usr.bin is the stuff that goes into
/usr/bin. Some notable exceptions are:
contrib -> which is contributed (3rd party) code. The Makefiles are
still in the normal directories (i.e. sbin) but the sources for these
are here
gnu -> contains the the Makefiles for gnu-licensed programs (the code
resides in contrib)
crypto -> contains sources that are of restricted exportability, at
least historically.
nrelease -> contains stuff to build ISOs and IMGs
tools -> contains useful stuff like our git template, iirc
test -> contains all sorts of random junk, including test cases, small
scripts, files for test commits, ...
and finally:
sys -> Contains the kernel and bootloader code
In sys the most important directories that you should know about are,
kern -> main kernel functionality
sys -> main kernel include files
dev -> contains all sorts of device drivers, nicely categorized in the
subfolders
net -> Contains network related stuff (but not hardware drivers)
platform -> platform/architecture dependent code that is not portable
bus -> Contains PCI, ISA and CAM (maybe you know it from FreeBSD, maybe
not; it's a neat abstraction layer for SCSI stuff, for example, above
the HBAs)
For more help, just ask on the IRC.
Hope this helps,
Alex Hornung
More information about the Users
mailing list