Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve description of boot process #70

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions pixiecore/README.booting.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
# How it works

Pixiecore implements four different, but related protocols in one
binary, which together can take a PXE ROM from nothing to booting
Linux. They are: ProxyDHCP, PXE, TFTP, and HTTP. Let's walk through
the boot process for a PXE ROM.
binary, which together can take a network card to boot system into
Linux. They are: ProxyDHCP, PXE, TFTP, and HTTP. Let's
walk through the network boot process.

![Boot process](https://cdn.rawgit.com/google/netboot/master/pixiecore/bootgraph.svg)

## Step 1: DHCP/ProxyDHCP

Network boot is initiated by PXE ROM firmware that is embedded in
a capable network card.

The first thing a PXE ROM does is request a configuration through
DHCP, with some additional PXE options set to indicate that it wants
to netboot. It expects a reply that mirrors some of these options, and
DHCP request with additional PXE options set to indicate that it wants
to netboot (on a lower level it is `DHCPDISCOVER` with
[Option 60](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_client_vendor_identification)).
It expects a reply that mirrors some of these options, and
includes boot instructions in addition to network configuration.

The normal way of providing these options is to edit your DHCP
Expand Down