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