The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Paul Ruizendaal <pnr@planet.nl>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] Paper discussing Unix boot process?
Date: Wed, 17 Apr 2019 12:26:17 -0600	[thread overview]
Message-ID: <CANCZdfp+bQdTTpnESRe+TZq76-q763CpEJNf6-2q9YVg-Cvptg@mail.gmail.com> (raw)
In-Reply-To: <D3790A51-AECE-4A0B-BEE2-A26A464424B0@planet.nl>

[-- Attachment #1: Type: text/plain, Size: 1459 bytes --]

On Tue, Apr 16, 2019 at 11:43 PM Paul Ruizendaal <pnr@planet.nl> wrote:

> Maybe xv6 has an explanation of the boot process that is of use to the
> original poster:
>
> https://pdos.csail.mit.edu/6.828/2018/xv6.html


If you are looking for a generic answer, it goes something like this:

1. Power is applied to the system
2. Support circuits initialize (details vary widely, may include
initializing memory controllers and loading microcode into the CPU)
3. CPU comes out of reset and jumps to a well known location (that's either
initialized by 2 or is ROM of some flavor)
4. The initial boot code confirms this is a power-on reset (and not a
wakeup from sleeping or other condition) and loads the next boot loader
from some media like tape, disk or network
5. The loader then loads the next stage loader, if any. Repeat 5 as many
times as needed to get to loading the kernel. Loader constructs metadata
about the system and passes that to the kernel.
6. Once the kernel is loaded, execution is passed off to the kernel which
looks at the loader metadata to know what's it needs to about the system
that it can't easily get by other means.
6a. Memory is partitions, VM system booted, MMU comes on line, devices
initialized, root is mounted and control passes to init which forks /etc/rc
to bring the sytem up

For most people, this is a sufficient level of detail, unless they are
trying to debug one of the steps then the actual details matter. :)

Warner

[-- Attachment #2: Type: text/html, Size: 2022 bytes --]

  reply	other threads:[~2019-04-17 18:27 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-17  5:35 Paul Ruizendaal
2019-04-17 18:26 ` Warner Losh [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-04-16 12:52 Noel Chiappa
2019-04-13 18:35 Noel Chiappa
2019-04-11  1:06 Pat Barron
2019-04-11  1:27 ` Charles Anthony
2019-04-11  2:26 ` Erik E. Fair
2019-04-10 18:02 Pat Barron
2019-04-10 18:14 ` Erik E. Fair
2019-04-10 18:28   ` Clem Cole
2019-04-10 19:05     ` Bakul Shah
2019-04-10 22:24       ` Clem Cole
2019-04-10 22:53         ` Warren Toomey
2019-04-11  1:45           ` Greg 'groggy' Lehey
2019-04-10 23:19         ` Bakul Shah
2019-04-11  4:52           ` Fabio Scotoni
2019-04-11 13:48             ` Clem Cole
2019-04-11 14:54               ` Dan Cross
2019-04-11 15:36                 ` Clem Cole
2019-06-26  2:28             ` Peter Jeremy
2019-06-26  7:57               ` Bakul Shah
2019-04-10 16:51 Pat Barron
2019-04-10 17:20 ` Erik E. Fair
2019-04-10 17:57 ` Dan Cross
2019-04-19 22:31 ` Chris Hanson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANCZdfp+bQdTTpnESRe+TZq76-q763CpEJNf6-2q9YVg-Cvptg@mail.gmail.com \
    --to=imp@bsdimp.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).