Re: About GSoC

From:

Alex Hornung <ahornung@xxxxxxxxx>

Date:

Sat, 19 Mar 2011 08:12:57 +0000

Hi,
for starters, there is no requirement to run DragonFly BSD in a VM,
but it definitely is an option. If you want to get into something
filesystem related, I suggest you get hold of the "Design and
Implementation of FreeBSD" and take a look at it. While it won't give
you all you need, it will give you a good grasp of how the VFS layer
(on which filesystems are built) works. I'm not sure which of the
disks projects you are referring to, but if you are talking about the
dsched and/or the dm project, the only availabe documentation are
manpages. Both dsched and dm provide some nice abstractions that will
allow you to focus more on your project itself than messing with a lot
of our kernel internals.
The good thing about projects in these areas is that you can actually
do the development on a vkernel, if you so like. It's very convenient
to do so as you can simply gdb into the kernel instead of getting a
core dump, and the reboot time is also cut :)
I also suggest you have a look at some of the wiki documentation we
have on Locking and Synchronization in the DragonFly BSD kernel[1] and
the git-specific documentation at [2]. I also wrote the document at
[3] around the time when I started, but I'm not sure how useful it is.
Just have a look at it and decide for yourself.
Finally, just note that there is no better way to get to know
DragonFly than to actually just install it and play around with. The
source tree itself is, in my opinion, very well structured compared to
many other OS projects. The whole kernel is nicely fit into sys/, and
the subdirectories are fairly self-documenting.
Hope that helps,
Alex Hornung
[1]: http://www.dragonflybsd.org/docs/developer/Locking_and_Synchronization/
[2]: http://www.dragonflybsd.org/docs/developer/TypicalGitUsage/
[3]: http://www.dragonflybsd.org/docs/howtos/howtonewkerneldeveloper/
On 19 March 2011 03:14, Brills Peng <brillsp@gmail.com> wrote:
> Hello, all:
> I am a junior CS student who want to apply for DragonFly BSD's GSoC projects.
> On the ideas list, I find projects related to filesystems and disks quite
> interesting and want to have a try on one of them, but I do not know how to
> start because it's the most huge and complicated software I have ever met,
> although I think I meet the prerequisites listed on the wiki page.
>
> I think I need a VM to run DragonflyBSD and it is easy to programme on the
> userland, but I have no idea how to programme and debug with the kernel. Do
> you have a toolchain that supports cross building the kernel and debugging
> from outside a VM? Or this can be done in the OS?
>
>
> Brills Peng
>
>