Part 1
요약·해설
EHL CRB는 IoT edge용 compact x86 board이며 UEFI USB boot와 PXE network boot를 지원합니다.
Intel Atom · Elkhart Lake
I2C · SMBus · NS16550
UEFI · PXE
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
4D5CD4F202F59BB8B4B052B1DE627FA100D9008A38D73D0D9DDF659FE663B72E
.. _intel_ehl_crb:
Elkhart Lake CRB
################
Overview
********
Elkhart Lake Reference Board (EHL CRB) is an example implementation of a
compact single board computer with high performance for IoT edge devices.
This board configuration enables kernel support for the `EHL`_ board.
.. note::
This board configuration works on the variant of `EHL`_
boards containing Intel |reg| Atom |trade| SoC.
Hardware
********
General information about the board can be found at the `EHL`_ website.
.. include:: ../../../../../../../soc/intel/elkhart_lake/doc/supported_features.txt
Connections and IOs
===================
Refer to the `EHL`_ website for more information.
Programming and Debugging
*************************
Use the following procedures for booting an image on a EHL CRB board.
.. contents::
:depth: 1
:local:
:backlinks: top
Build Zephyr application
========================
#. Build a Zephyr application; for instance, to build the ``hello_world``
application on Elkhart Lake CRB:
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: intel_ehl_crb
:goals: build
.. note::
A Zephyr EFI image file named :file:`zephyr.efi` is automatically
created in the build directory after the application is built.
Booting the Elkhart Lake CRB Board using UEFI
=============================================
.. include:: ../../../../../../../boards/intel/common/efi_boot.rst
:start-after: start_include_here
Booting the Elkhart Lake CRB Board over network
===============================================
.. include:: ../../../../../../../boards/intel/common/net_boot.rst
:start-after: start_include_here
.. note::
To enable PXE boot for Elkhart Lake CRB board do the following:
#. Enable boot from PXE. Go to EFI shell and make sure that the first boot
option is ``UEFI PXEv4``.
.. code-block:: console
Shell> bcfg boot dump
Option: 00. Variable: Boot0007
Desc - UEFI PXEv4 (MAC:6805CABC1997)
DevPath - PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/MAC(6805CABC1997,0x0)/IPv4(0.0.0.0)
Optional- Y
...
#. If UEFI PXEv4 is not the first boot option use ``bcfg boot mv`` command to
change boot order
.. code-block:: console
Shell> bcfg boot mv 7 0
.. _EHL: https://www.intel.com/content/www/us/en/products/docs/processors/embedded/enhanced-for-iot-platform-brief.html
Part 3
한국어 전문 번역
개요
Elkhart Lake Reference Board(EHL CRB)는 IoT edge device용 고성능 compact single-board computer의 구현 예입니다. 이 board configuration은 EHL board의 Zephyr kernel support를 활성화하며, Intel Atom SoC를 포함한 EHL board variant에서 동작합니다.
Hardware
HPET, local APIC와 I/O APIC 같은 standard architecture device에 더해 Zephyr는 Elkhart Lake-specific SoC device인 I2C와 SMBus를 지원합니다.
UART serial port
Elkhart Lake UART는 NS16550-compatible이며 baud rate 115.2kbps를 지원합니다.
Board 일반 정보와 connection·I/O는 Intel EHL website에서 확인할 수 있습니다.
Programming과 Debugging
Zephyr application build
Elkhart Lake CRB용 hello_world를 build합니다.
west build -b intel_ehl_crb samples/hello_world
UEFI로 Elkhart Lake CRB boot
Boot device 준비
Board에서 Zephyr application image를 boot할 USB flash drive를 준비합니다.
- USB flash drive를 FAT32로 format합니다. Windows에서는 File Explorer에서 USB flash drive를 오른쪽 click하고 Format...을 선택한 뒤 File System을 FAT32로 지정하고 format이 끝날 때까지 기다립니다. Linux에서는
gparted같은 graphical utility를 사용하거나 terminal에서 USB device node(예:/dev/sdd)를 찾아 다음 명령을 실행합니다.$ mkfs.vfat -F 32 <device-node> - Zephyr EFI image file
zephyr/zephyr.efi를 USB drive에 복사합니다.
Board에서 Zephyr boot
USB flash drive를 연결한 상태로 board를 EFI shell까지 boot합니다.
- 준비한 USB flash drive를 board에 삽입합니다.
- Serial cable로 board와 host system을 연결하고 serial data를 볼 수 있게 host를 설정합니다. Board website에서 세부사항을 확인하며 baud rate는
115200을 사용합니다. - Board 전원을 켭니다.
- 다음 출력이 나타나면 F7을 누릅니다.
Press <DEL> or <ESC> to enter setup. - 표시된 menu에서 해당 EFI shell을 설명하는 entry를 선택합니다.
- EFI shell에서 Zephyr EFI image를 선택해 boot합니다.
Shell> fs0:zephyr.efi - Boot process가 끝나면 Zephyr application image의 boot가 완료됩니다.
Network로 Elkhart Lake CRB boot
Linux host 준비
- DHCP와 TFTP server를 설치합니다. 다음 예는
dnsmasq를 사용합니다.$ sudo apt-get install dnsmasq - DHCP server를 구성합니다. 다음
dnsmasq설정은eno2interface만 listen하고 10.1.1.20~10.1.1.30 address를 12시간 lease로 제공합니다.# Only listen to this interface interface=eno2 dhcp-range=10.1.1.20,10.1.1.30,12h - TFTP server를 구성합니다. 앞서 만든 Zephyr EFI binary
zephyr.efi를 boot file로 지정합니다.# tftp enable-tftp tftp-root=/srv/tftp dhcp-boot=zephyr.efi - Zephyr EFI image
zephyr/zephyr.efi를/srv/tftpdirectory에 복사합니다.$ cp zephyr/zephyr.efi /srv/tftp - TFTP root가 다음과 같은지 확인합니다.
$ tree /srv/tftp /srv/tftp └── zephyr.efi dnsmasqservice를 restart합니다.$ sudo systemctl restart dnsmasq.service
Network boot용 board 준비
- BIOS setting에서 PXE network를 활성화합니다.
- Network boot를 첫 번째 boot option으로 설정합니다.
Board boot
- Serial cable로 board와 host를 연결하고 serial data를 볼 수 있게 host를 설정합니다. Baud rate는
115200입니다. - Board 전원을 켭니다.
- Linux host에서 board가 IP address를 받았는지 확인합니다.
$ journalctl -f -u dnsmasq dnsmasq-dhcp[5386]: DHCPDISCOVER(eno2) 00:07:32:52:25:88 dnsmasq-dhcp[5386]: DHCPOFFER(eno2) 10.1.1.28 00:07:32:52:25:88 dnsmasq-dhcp[5386]: DHCPREQUEST(eno2) 10.1.1.28 00:07:32:52:25:88 dnsmasq-dhcp[5386]: DHCPACK(eno2) 10.1.1.28 00:07:32:52:25:88 - Network boot가 시작됐는지 확인합니다.
$ journalctl -f -u dnsmasq dnsmasq-tftp[5386]: sent /srv/tftp/zephyr.efi to 10.1.1.28 - Boot process가 끝나면 Zephyr application image의 boot가 완료됩니다.
EHL CRB PXE boot order
- EFI shell에서 PXE boot를 활성화하고 첫 번째 boot option이
UEFI PXEv4인지 확인합니다.Shell> bcfg boot dump Option: 00. Variable: Boot0007 Desc - UEFI PXEv4 (MAC:6805CABC1997) DevPath - PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/MAC(6805CABC1997,0x0)/IPv4(0.0.0.0) Optional- Y ... - UEFI PXEv4가 첫 번째 option이 아니면
bcfg boot mv로 순서를 바꿉니다.Shell> bcfg boot mv 7 0
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.