• NetBSD
  • NetBSD mentorship availability

TLDR; Asking for a hand in learning how to develop and contribute to NetBSD

Hello, I have been trying to learn operating systems development for around five years. I felt comfortable enough in conceptual understanding to reach out for mentoring around a year ago. My goal is to find a small(er) community where the atmosphere might be more welcoming to newcomers than larger projects, and where I can potentially make a larger impact.

I started with illumos. Although I did some minor ports to software in order to try to contribute (and reached out to the community for help), I didn't get much traction. Afterwards, I reached out to the now-abandoned Minix3 project. I have a copy of The Minix Book and found its content to be rewarding. I reached out to some of the Minix3 developers, as well as the larger community, asking about the project and prospects of receiving some type of mentorship. Although I didn't find much in the way of community help as it seems the project has gone dormant, I did manage to do minor updates to the base Minix3 source tree in order to sync some of the outdated NetBSD tooling with new NetBSD tooling, since Minix version 3.2 and above lives in the NetBSD source tree. I applied old Minix3 patches to the new NetBSD tooling, using diffs/grep/find to locate Minix3 patches, and functionality which has changed between NetBSD releases. This also gave me a chance to familiarize myself with NetBSD.

Where I find myself now is at a point of conceptual understanding, lacking clarity and understanding when looking at the NetBSD repository [or any large OS repository for that matter]. I understand the layout and purposes of the source tree at varying levels, comparing what I see in the source tree against the concepts I learned in materials I have read. I find it difficult to modify code -- I feel like seeing someone else doing this would be very beneficial, and can testify to how helpful mentorship in any capacity can be.

I would really appreciate some newcomer-friendly instruction. My courses don't cover this area and I have gaps in understanding that I'm eager to close. I would like to see the methodology, tooling, and steps used by others in order to have a starting point. Ideally, I'd like to arrive at a point where I can bootstrap this knowledge and begin contributing to NetBSD.

Thanks for your consideration. πŸ™‚

    twobitsahead are you using NetBSD om bare metal or VM?

    β€œOnly the paranoid survive.”

    ― Harold Finch
    NetBSD VPS , NetBSD , OS108

      Jay As of current, in a VM. I have used it on bare metal in the past if that matters

      • Jay replied to this.

        twobitsahead i would recommend qemu for better support.

        β€œOnly the paranoid survive.”

        ― Harold Finch
        NetBSD VPS , NetBSD , OS108

          Jay Thanks for the tip. Is there a porting guide anywhere which concerns procedures and 'gotchas' in porting applications to NetBSD? This is a weak point that has stood in my way before that I could use a hand on. On illumos, I ran into multiple issues with those points in its libc versus glibc (typical assumption of applications I was porting) and based on my reading, I expect the same hurdles with NetBSD

          • Jay replied to this.
            8 days later
            • Edited

            twobitsahead I understand the layout and purposes of the source tree at varying levels, comparing what I see in the source tree against the concepts I learned in materials I have read.

            hier(7) has some details on the (source) layout.

            twobitsahead I feel like seeing someone else doing this would be very beneficial, and can testify to how helpful mentorship in any capacity can be.

            You can look through the source-changes list--esp. the source-changes-full NNTP list (nntp://news.gmane.io/gmane.os.netbsd.devel.cvs.full)--to see how new drivers and commands are added to NetBSD.

            And, if you have specific questions, ask; either here, or on the appropriate mailing-list.

              6 days later

              rvp hier(7) πŸ™‚

              • rvp replied to this.
                10 days later

                kc9udx hier(7)

                Corrected--thanks. (Not like pronouncing German surnames, right? πŸ˜‰ As an American acquaintance once told me: "Just swap the vowels.". So, Neisler (his surname) = Nysler; and Spielberg = Shpeelberg.)