Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jun 2013 08:04:57 -0500
From:      David Noel <david.i.noel@gmail.com>
To:        Brian Kim <briansan24@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: bsd boot sequence
Message-ID:  <CAHAXwYC%2B0AWundtJffAC5Gedm1euDAk_zYT3hjufaM-cJd2KfA@mail.gmail.com>
In-Reply-To: <CA%2BWSJLck_vjHV0_rUMFvs6ac8qCJZW8KmZo%2BRYZ6PUiBt-qmQg@mail.gmail.com>
References:  <CA%2BWSJLck_vjHV0_rUMFvs6ac8qCJZW8KmZo%2BRYZ6PUiBt-qmQg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 6/27/13, Brian Kim <briansan24@gmail.com> wrote:
> howdy all,
>
> As a junior computer engineering major who has dreams of developing an
> operating system more ubiquitous than ms windows, I have come to appreciate
> the complexity and elegance of both the freebsd os and community. While
> achieving proficiency in C programming yet lacking in both UNIX utility
> know-how and shell scripting, I would rate my hacker savvy to be on an
> intermediate level. By the time I graduate from college, I hope to have a
> thorough understanding of the bsd kernel on the lowest level.
>
> Don't get me wrong though: while my end-game may be to develop my own
> operating system, I will forever be a contributor to freebsd. As my
> understanding of computers develops, you will undoubtedly see my name
> appear more frequently on the freebsd-hacker emails. Unfortunately, I am
> just not at the level of understanding just yet.
>
> To start, I was wondering if someone could briefly explain the operations
> and function calls that occur at boot time. I wish to thoroughly examine
> the freebsd source code but I'm afraid the sheer volume of code that exists
> leaves me with no real starting point for my research.
>
> Thank you all for your time.
>
> --
> Best Wishes,
> Brian Kim

Boot's probably not as bad as it seems. There's boot0, boot1, boot2,
loader, and kernel. So those would probably be the best places to
start digging. A few hundred k of code if I'm not mistaken. Not
entirely unmanageable.

Some ideas that might help:

- Scan source for comments and function/method names
- Use doxygen to generate high-level source documentation
- Generate UML diagrams from source (class and sequence diagrams would
probably be most useful)
- As Warren suggested, read all the documentation you can find
- Google
- Take notes as you go, publish them on a blog, and share the URL with us!

-David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHAXwYC%2B0AWundtJffAC5Gedm1euDAk_zYT3hjufaM-cJd2KfA>