Re: How to test and debug Dragonfly BSD?
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?
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?
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?
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