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?
On Fri, Nov 12, 2010 at 3:19 PM, Marcin Ropa marcinr...@gmail.com wrote: 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. MyDesktop as well as Company backup Server runs on Hammer Version 4 :-) --Siju
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
Re: How to test and debug Dragonfly BSD?
DragonflyBSD got Virtual Kernels, those are a tool to run kernels over kernel and debug them. In the documentation site: http://www.dragonflybsd.org/docs/documentation/ there is a section for developer where you can read about codeing standards, tools, repository handling, most what you need is there :-) VBox doesnt run in DFBSD as far as i know and it had some tricks to make DFBSD work in a VBox too, there is a reported bug to oracle that never was fixed and give troubles time to time (if you use it with no-acpi, probably the only issue you will have is a necesity for reboot after turn on, it works for me that way, no idea why, turn on, it halts, soft reset, it workssome kind of Vudu for sure). Also, check the irc, most the developers are there most the time :-) Enjoy the project, there is a lot of fascinating things going on Damian On Mon, Nov 8, 2010 at 17:07, Marcin Ropa marcinr...@gmail.com wrote: 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 -- http://dfbsd.trackbsd.org.ar
Re: How to test and debug Dragonfly BSD?
Hi Sdävtaker, Apparently your experience differs from mine. I've been running Dragonfly i386 and Dragonfly x86_64 within Virtualbox for a year now, and it works great. I've had no issues whatsoever, and that's on host machines of both windows and Solaris. We've even found and fixed a couple of bugs in Dfly due to running it inside vbox. I think your vbox information might be a bit obsolete, or maybe there is something wrong with your instance of it. It requires no tricks. I recommend that one picks FreeBSD or 64-bit FreeBSD as the OS when they create the machine. Regards, John On 11/8/2010 9:25 PM, Sdävtaker wrote: DragonflyBSD got Virtual Kernels, those are a tool to run kernels over kernel and debug them. In the documentation site: http://www.dragonflybsd.org/docs/documentation/ there is a section for developer where you can read about codeing standards, tools, repository handling, most what you need is there :-) VBox doesnt run in DFBSD as far as i know and it had some tricks to make DFBSD work in a VBox too, there is a reported bug to oracle that never was fixed and give troubles time to time (if you use it with no-acpi, probably the only issue you will have is a necesity for reboot after turn on, it works for me that way, no idea why, turn on, it halts, soft reset, it workssome kind of Vudu for sure). Also, check the irc, most the developers are there most the time :-) Enjoy the project, there is a lot of fascinating things going on Damian On Mon, Nov 8, 2010 at 17:07,Marcin Ropa marcinr...@gmail.com wrote: 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
Re: How to test and debug Dragonfly BSD?
last time i checked was like 1, maybe 2 months ago, i will try again with 2.8 to see what happens. Damian On Mon, Nov 8, 2010 at 17:33, John Marino dragonfly...@marino.st wrote: Hi Sdävtaker, Apparently your experience differs from mine. I've been running Dragonfly i386 and Dragonfly x86_64 within Virtualbox for a year now, and it works great. I've had no issues whatsoever, and that's on host machines of both windows and Solaris. We've even found and fixed a couple of bugs in Dfly due to running it inside vbox. I think your vbox information might be a bit obsolete, or maybe there is something wrong with your instance of it. It requires no tricks. I recommend that one picks FreeBSD or 64-bit FreeBSD as the OS when they create the machine. Regards, John On 11/8/2010 9:25 PM, Sdävtaker wrote: DragonflyBSD got Virtual Kernels, those are a tool to run kernels over kernel and debug them. In the documentation site: http://www.dragonflybsd.org/docs/documentation/ there is a section for developer where you can read about codeing standards, tools, repository handling, most what you need is there :-) VBox doesnt run in DFBSD as far as i know and it had some tricks to make DFBSD work in a VBox too, there is a reported bug to oracle that never was fixed and give troubles time to time (if you use it with no-acpi, probably the only issue you will have is a necesity for reboot after turn on, it works for me that way, no idea why, turn on, it halts, soft reset, it workssome kind of Vudu for sure). Also, check the irc, most the developers are there most the time :-) Enjoy the project, there is a lot of fascinating things going on Damian On Mon, Nov 8, 2010 at 17:07,Marcin Ropa marcinr...@gmail.com wrote: 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 -- http://dfbsd.trackbsd.org.ar
Re: How to test and debug Dragonfly BSD?
Hi Marcin, first off I'd recommend you join the IRC channel on efnet, #dragonflybsd. Most committers hang out there and it's the easiest way to get some initial help (and probably any help). There are a number of solutions that people use to develop DragonFly, ranging from purely virtual using VMWare, VirtualBox or kvm/qemu (kqemu?) to dedicated physical test machines. I personally have an installation on my laptop and also develop using VMWare on my desktop. As someone already mentioned, DragonFly offers vkernels which are a nice way to develop kernel stuff without any complications as machines not booting, etc... everything except hardware drivers, of course. Debugging of kernel issues usually occurs via a kernel core dump or, sometimes, by debugging a vkernel with gdb. Hope that helps, Alex Hornung On 8 November 2010 20:07, Marcin Ropa marcinr...@gmail.com wrote: 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