Re: How to test and debug Dragonfly BSD?

2010-11-12 Thread Marcin Ropa
Hi again,

I have acquainted myself with list of tasks and bugs.:
(
http://www.dragonflybsd.org/docs/developer/gsocprojectspage/ ,
http://www.dragonflybsd.org/docs/developer/ProjectsPage/ ,
http://www.dragonflybsd.org/docs/developer/researchprojectspage/ ,
http://bugs.dragonflybsd.org/
)
Some of them are assigned to a developer. Does it mean that if
task/bug isn't assigned to any person nobody works on it or just
web-page is not updated too often? I would like to avoid duplicating
work. For example: Make DragonFly NUMA-aware or Update our
interrupt routing and PCI code.
I try find something for me, what helps me get to know more about
dfbsd and its architecture.


P.S.
Off topic question.: Is it safe to entrust my data to hammer files
system? I don't have experience with it but i see it still under heavy
development.

P.S.2
Did i mention that English is not my mother tongue, so i apologize for
grammar mistakes and misspell. ... on IRC too. :)

Greetings
Marcin

 2010/11/9 Alex Hornung ahorn...@gmail.com:
 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




Re: How to test and debug Dragonfly BSD?

2010-11-09 Thread Marcin Ropa
Thanks all for yours replies. Indeed I have to join irc channel -
thanks for suggestion, and start this fascinating adventure. :)

First off i need reinstall dfbsd on my workstation with hammer files
system (yes, i have it installed on my desktop and
I'm going to use it as development environment). Then I will try test
all you mentioned in yours posts. I hope i will able to install Vbox
or qemu or maybe VMware on dfbsd.

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. I believe it will be good place to
understand what is under hood of the OS.

Thanks again

Marcin


Re: How to test and debug Dragonfly BSD?

2010-11-09 Thread Marcin Ropa
Thanks Alex for your description. I've found it useful for my 'code
digging'. Now I have to only spend many (probably) weeks :) to
understand what is going on in sources. If I run into another problem
i will try catch you (and others) on dfbsd's irc channel.

Greetings
Marcin

2010/11/9 Alex Hornung ahorn...@gmail.com:
 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







How to test and debug Dragonfly BSD?

2010-11-08 Thread Marcin Ropa
Hello,

A few weeks ago I decided to spend my free time working on dfbsd and i
started digging in code. I have experience as developer but there
everything is new for me and probably I will have to spend many time
before i will be helpful for the project. :)
I have my first question.: How do you organize your work on DragonFly
BSD? I am not going to ask you about your editor but how do you run,
test and debug your code. Do you use VirtualBox, qemu or seperate
machine? Does VirtualBox run on dfbsd or you run VirtualBox on another
system, e.g.: FreeBSD and this is your development platform?
I know you are busy, but if you find time please give me some hints
how to organize work on operating system.

thanks a lot and
Greeting

Marcin