1:orphan:
2
3.. start_include_here
4
5Prepare Linux host
6------------------
7
8#. Install DHCP, TFTP servers. For example ``dnsmasq``
9
10   .. code-block:: console
11
12      $ sudo apt-get install dnsmasq
13
14#. Configure DHCP server. Configuration for ``dnsmasq`` is below:
15
16   .. code-block:: console
17
18      # Only listen to this interface
19      interface=eno2
20      dhcp-range=10.1.1.20,10.1.1.30,12h
21
22#. Configure TFTP server.
23
24   .. code-block:: console
25
26      # tftp
27      enable-tftp
28      tftp-root=/srv/tftp
29      dhcp-boot=zephyr.efi
30
31   ``zephyr.efi`` is a Zephyr EFI binary created above.
32
33#. Copy the Zephyr EFI image :file:`zephyr/zephyr.efi` to the
34   :file:`/srv/tftp` folder.
35
36    .. code-block:: console
37
38       $ cp zephyr/zephyr.efi /srv/tftp
39
40
41#. TFTP root should be looking like:
42
43   .. code-block:: console
44
45      $ tree /srv/tftp
46      /srv/tftp
47      └── zephyr.efi
48
49#. Restart ``dnsmasq`` service:
50
51   .. code-block:: console
52
53      $ sudo systemctl restart dnsmasq.service
54
55Prepare the board for network boot
56----------------------------------
57
58#. Enable PXE network from BIOS settings.
59
60#. Make network boot as the first boot option.
61
62Booting the board
63-----------------
64
65#. Connect the board to the host system using the serial cable and
66   configure your host system to watch for serial data. See board's
67   website for more information.
68
69   .. note::
70      Use a baud rate of 115200.
71
72#. Power on the board.
73
74#. Verify that the board got an IP address. Run from the Linux host:
75
76   .. code-block:: console
77
78      $ journalctl -f -u dnsmasq
79      dnsmasq-dhcp[5386]: DHCPDISCOVER(eno2) 00:07:32:52:25:88
80      dnsmasq-dhcp[5386]: DHCPOFFER(eno2) 10.1.1.28 00:07:32:52:25:88
81      dnsmasq-dhcp[5386]: DHCPREQUEST(eno2) 10.1.1.28 00:07:32:52:25:88
82      dnsmasq-dhcp[5386]: DHCPACK(eno2) 10.1.1.28 00:07:32:52:25:88
83
84#. Verify that network booting is started:
85
86   .. code-block:: console
87
88      $ journalctl -f -u dnsmasq
89      dnsmasq-tftp[5386]: sent /srv/tftp/zephyr.efi to 10.1.1.28
90
91#. When the boot process completes, you have finished booting the
92   Zephyr application image.
93