интел-лого

Интел UG-20080 Stratix 10 SoC UEFI подигнувач

intel-UG-20080-Stratix-10-SoC -Boot-Loader-product

Во текот наview

Овој документ обезбедува сеопфатни информации за подигнувачот на Unified Extensible Firmware Interface (UEFI) за Intel Stratix 10 SoC. Intel Stratix 10 SoC обезбедува безбеден тек на подигање, кој се состои од

  • ROM-от за подигање
  • Управувач со безбеден уред (SDM)
  • Безбедниот монитор
  • Натоварувачот за подигање UEFI

Сигурниот тек на подигање на Intel Stratix 10 SoC гарантира дека системот за подигање е потпишан со криптографски клуч, потврден од фирмверот. Безбедниот монитор сtage исто така го имплементира моделот TrustZone* за безбедна партиција. Овој модел ја дели софтверската околина на две изолирани партиции, наречени безбеден свет и небезбеден свет. Двата света можат да комуницираат едни со други само преку Безбедниот монитор. Бинарната слика на подигнувачот UEFI може да се зачува на SD/MMC картичката Quad SPI flash. При вклучувањето во таблата, управувачот со безбеден уред (SDM) го вчитува Безбедниот монитор директно на RAM меморијата на чипот на хард процесорскиот систем (HPS). Потоа, Безбедниот монитор го вчитува подигачот на UEFI во HPS DDR меморијата.

Задачите за безбеден монитор вклучуваат

  • Иницијализирање на DDR SDRAM меморија
  • Конфигурирање на хардвер на ниско ниво, како што се PLL, IO и пински MUX, потребни за небезбеден светски софтвер

Задачите на подигачот на UEFI вклучуваат

  • Обезбедување на етернет поддршка
  • Поддршка на основни хардверски дијагностички карактеристики
  • Се презема последователен софтвер за подигање, како што е пакетот на оперативниот систем или сликата на јадрото.

Забелешка: За небезбедно подигање, пакетот на оперативниот систем може да вклучува слика на јадрото, дупка од дрво на уредот и fileсистем. За безбедно подигање може да биде сигурно јадро.

UEFI Boot Proflow Overview

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-1

Системски барања

За да го вчитате и извршите подигачот на Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), вашиот систем мора да ги исполнува следните барања.

Минимални хардверски барања

  • Линукс работна станица со следнава конфигурација:
    • Сериски терминал, како што е Minicom за Linux
    • Слот за microSD картичка или пишувач за microSD картичка или пишувач со можност за SD со конвертор од SD во microSD

Способности на платформата

  Linux
Може да го компајлира подигнувачот на UEFI Да
Можност за компајлирање на безбеден монитор Да

Минимални барања за софтвер

  • Интел® SoC FPGA вграден пакет за развој (SoC EDS) v18.1 и погоре
  • Ланец со алатки Linaro aarch64-linux-gnu-gcc

Почеток

Инсталирање на софтверски компоненти

Инсталирање на Intel SoC EDS

  • Мора да го инсталирате Intel SoC EDS на вашиот уред.
  • Преземете го Intel SoC EDS од Центарот за преземање за FPGA.

Инсталирање на синџирот на алатки за компајлер

Го компајлирате подигачот на UEFI и Безбедниот монитор со синџирот на алатки GNU (EABI Release) за Arm* процесори. Можете да го преземете GNU Toolchain од страницата за преземање на Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Изградба на безбеден монитор

Како што безбедноста станува сè поважна, решението за обезбеден подигање станува услов во вградениот свет. За да се обезбеди сеопфатна безбедност и доверлива платформа, потребна е сигурна партиција. Уредот Intel Stratix 10 постигнува сигурна партиција со имплементирање на моделот TrustZone со Arm Trusted Firmware (ATF). Моделот TrustZone ја дели компјутерската средина на два изолирани света, безбеден свет и нормален свет, кои се поврзани со софтверски монитор наречен Безбеден монитор. Двата света имаат одвоено логички адресен простор и периферни уреди. Комуникацијата помеѓу двата света е можна само со повикување на привилегираната инструкција за повик за безбеден монитор (SMC).

Целосно безбедно решение за подигање е

  • BootRom
  • Безбеден менаџер на уреди
  • Безбеден монитор
  • Uboot/UEFI
  • Хипервизор
  • OS

Режимот за безбеден монитор е привилегиран режим и е секогаш безбеден без оглед на состојбата на битот NS. Безбедниот монитор е код што работи во режим на безбеден монитор и ги обработува префрлувањата до и од безбедниот свет. Целокупната безбедност на софтверот се потпира на безбедноста на овој код заедно со кодот за безбедно подигање.

Поврзани информации

Општи информации за Arm Trusted Firmware

Корисничка конфигурација

Можете да ги најдете сите конфигурации на платформата во arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. За конфигурација на корисникот, мора да ги менувате изворите за подигање врз основа на вашите параметри. Избирате BOOT_SOURCE_SDMMC ако се подигне од SDMMC или изберете BOOT_SOURCE_QSPI ако се подигне од QSPI.

  • #define BOOT_SOURCE BOOT_SOURCE_SDMMC

Забелешка: За промена на багажникот fileиме или офсет, можете да го промените #define во ова file.

Добивање на изворниот код на фирмверот доверлив за рака

Изворот на ATF е во GitHub. За да го добиете изворниот код на ATF, едноставно извршете ги следните чекори

  1. Отворете терминал.
  2. Направете нов директориум за да го проверите изворниот код на ATF од GitHub.
  3. Променете го овој работен директориум и клонирајте го изворот ATF од дрвјата Git на следниов начин:
  4. Кога ќе завршите, променете во папката arm-trusted-firmware и проверете Git на следниов начин:
    • cd arm-trusted-firmware
    • git checkout socfpga_v2.1

Поврзани информации

  • Градење на ATF.
  • Составување на изворниот код на UEFI со синџирот на алатки Linaro.
  • Вклучување на безбеден монитор.

Градење на ATF

Овој дел опишува како да се изгради ATF со компајлерот Linaro GCC. За да започнете со изградба на ATF со компајлерот Linaro GCC, едноставно извршете ги следните чекори

  1. Променете го вашиот директориум во локацијата на изворниот код на ATF на следниов начин:
    • cd arm-trusted-firmware
  2. Поставете ја патеката на GCC и променливата на животната средина CROSS_COMPILE во вкрстена компилација на Linaro на следниов начин: извезете PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • извоз ARCH=arm64
    • извоз CROSS_COMPILE=aarch64-linux-gnu-
  3. Целосно отстранете го градежното дрво на следниов начин:
    • направи вистински чист
  4. Изградете го ATF користејќи ја следнава команда:
    • направи PLAT=stratix10 bl2 bl31
  5. Следниве пораки се појавуваат кога изградбата на ATF е успешнаintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Во табелата подолу е наведен излезот за безбеден монитор files.

Описи на безбеден монитор Files

File Патека и име Опис
\build\stratix10\release\bl31.bin Генериран бинарен file
\build\stratix10\release\bl31\bl31.elf Генериран елф file
\build\stratix10\release\bl2.bin Генериран бинарен file
\build\stratix10\release\bl2\bl2.elf Генериран елф file

Изградба на подигач на UEFI

За да изградите подигнувач на UEFI, го добивате изворниот код на UEFI и го компајлирате изворот UEFI со поддржаниот синџир на алатки.

Unified Extensible Firmware Interface (UEFI) е стандардизирана спецификација на фирмверот што ги поедноставува и обезбедува операциите за иницијализација на платформата и подигање на фирмверот. UEFI во моментов е развиен и поддржан од претставници од повеќе од 250 водечки технолошки компании во индустријата. Arm и Linaro Enterprise Group исто така ја промовираат употребата на UEFI на архитектурата на Arm бидејќи спецификацијата UEFI помага да се стандардизира процесот на подигање за платформи базирани на Arm процесор. Технологијата UEFI е докажана за иднината преку стандардизирање на дизајнот на фирмверот, а не на комерцијален дизајн на фирмверот. Спецификациите на UEFI ја промовираат деловната и технолошката ефикасност, ги подобруваат перформансите и безбедноста, ја олеснуваат интероперабилноста помеѓу уредите, платформите и системите и се усогласени со технологиите од следната генерација. Спецификацијата UEFI е peer-reviewed и објавен, дозволувајќи им на програмерите да пишуваат фирмвер еднаш по платформа и повторно да го користат без многу измени. Оваа повторна употреба резултира со заштеда на трошоци и време за време на развојот на подигнувачот. Оваа рамка ја користи лиценцата BSD, што ви дозволува опционално да ја комерцијализирате вашата имплементација со минимални правни проблеми. Можете да го компајлирате изворниот код на UEFI или во Windows или во Linux систем.

Предуслови

Изградбата на UEFI бара дополнителни Linux пакети. Во зависност од вашата дистрибуција на Linux, командата за инсталирање на пакетите е различна:

Ако користите дистрибуција на Ubuntu, напишете

  • sudo apt-get install uuid-dev build-essential

Ако користите дистрибуција на Fedora, напишете

  • sudo yum инсталирај uuid-devel libuuid-devel

За изградба на UEFI, потребен е пакетот Python. Ако Python не е веќе достапен на вашиот систем, извршувањето на командите од SoC EDS Embedded Command Shell ја обезбедува потребната зависност од Python.

Добивање на изворниот код на UEFI

Изворниот код на UEFI се наоѓа во GitHub. Следниве чекори ви покажуваат како да го добиете изворниот код на UEFI.

  1. Отворете терминал.
  2. Клонирајте го изворот UEFI од дрвјата Git.
  3. Кога ќе завршите, сменете се во папката edk2 и извршете наплата на Git.
    • cd edk2
    • git исплаќање socfpga_udk201905

Изворниот код на платформите edk2 се наоѓа во GitHub. За да го добиете изворниот код на платформите edk2

Составување на изворниот код на UEFI со синџирот на алатки Linaro

Овој дел објаснува како да се состави изворниот код на UEFI со синџирот на алатки Linaro во системот Линукс

  1. Отворете терминал и внесете ја следнава команда:
    • cd
    • извоз ПАТ= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • извоз CROSS_COMPILE= aarch64-linux-gnu-
    • извоз ARCH=arm64
    • извоз GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Поставете го EDK_TOOLS_PATH:
    • извезете EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Поставете го PACKAGES_PATH за да укаже на локацијата на складиштата:
    • извоз PACKAGES_PATH= $PWD/edk2:$PWD/edk2-платформи/
  4. Поставете го РАБОТНИОТ ПРОСТОР:
    • извезете РАБОТЕН ПРОСТОР = $PWD
  5. Поставете ја околината за градење:
    • edk2/edksetup.ш
  6. Изградете BaseTools (погрижете се да се инсталирани алатките за python):
    • направи -C edk2/BaseTools
  7. Компајлирајте го подигнувачот UEFI со внесување на следнава команда:
    • build -a AARCH64 -p Платформа/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y report.log -j build.log -Y PCD -Y BIBRARY -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRESS
  8. Вашиот терминал прикажува порака „Изградба завршено“ откако UEFI е успешно компајлирана.
UEFI генериран Files

Со составувањето на изворниот код на UEFI се создава следново files во папката /Build/ Stratix10SoCPkg/RELEASE_GCC48:

UEFI генериран Files

File Опис
INTELSTRATIX10_EFI.fd Ова file е подигнувачот на UEFI за подигнување на UEFI школка и овозможување на етернет функција или стартување апликација UEFI
Генерирање на FIP

FIP е носивост што BL2 на ATF го вчитува во RAM и го извршува. FIP го содржи бинарното за BL31 и UEFI подигнувачот и контејнер што BL2 го препознава.

За да го изградите FIP, следете ги овие команди

  • извоз ARCH = ARM64
  • извоз CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Изградете го FIP користејќи ја следнава команда

  • направи фип BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

Работење UEFI на хардвер Intel Stratix 10

Работење на физичка табла со ATF и UEFI Bootloader

Овој дел опишува како да го стартувате Secure Monitor на физичка табла.

Генерирање на .соф file со ATF

  1. Земете .соф file од директориумот за инсталација $SOCEDS_DEST_ROOT.
  2. Конвертирај го бинарното file bl2.bin, генерирана во градење на ATF.
    • aarch64-linux-gnu-objcopy -I бинарен -O ihex – \-change-addresses 0xffe00000 bl2.bin bl2.hex
  3. Вклучете го подигнувачот во .sof file како што следува:
    • quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-6

Поврзани информации

  • Градење на ATF.

Креирање слика на SD картичка

  1. Генерирајте UEFI Bootloader и FIP како во градење на UEFI Boot Loader и генерирање на FIP.
  2. Изградете Linux и root file систем базиран на инструкциите во Rocketboard.
  3. Изградете ја сликата на SD-картичката:
  • Добијте ја питон скриптата make_image и направете ја извршна
  • Подгответе ја содржината на преградата за маснотии:
    • mkdir масти && cd масти
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Подгответе го коренот file содржина на системската партиција:
    • mkdir rootfs && cd rootfs
    • катран xf /gsrd-console-image-*.tar.xz
  • Направете слика на SD-картичката:
    • sudo ./make_sdimage.py -f -P fip.bin,num=3,format=raw,size=10M, type=A2 -P rootfs/\ *,num=2,format=ext3,size=1500M -P
    • Слика,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Забелешка: Ако веќе имате SD слика со A2 партиција, можете да го замените FIP file со командата подолу:
    • sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Поврзани информации
  • Составување на изворниот код на UEFI со синџирот на алатки Linaro.
  • Изградба на подигач на UEFI.

Вклучување на безбеден монитор

  1. Вклучете ја плочката откако ќе се вметне SD-картичката.
  2. Отворете го Quartus програмер и програмирајте ја таблата со .sof file генерирана во Генерирање на .соф File со ATF.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-7

  • Плочката се подига од ATF и автоматски го вчитува UEFI подигачот за да ја подигне UEFI школка.

Поврзани информации

  • Генерирање на .соф file со ATF.
Дебагирање со DS

Овој дел опишува како да се вчитаат ATF и UEFI подигнувачот на физичката табла преку DS.

  1. Проверете дали сте го инсталирале DS. Стартувајте го затемнувањето користејќи ја следнава команда:
    • armds_ide &
  2. Поставете нова врска за отстранување грешки
    • Чекор илустрацијаintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Откако ќе заврши конфигурацијата, поврзете се со целта.
    • Забелешка: Мора да ја програмирате плочката со ghrd_1sx280lu2f50e2vg_hps_debug.sof пред да се поврзете со целта.
  4. Во командната конзола DS, можете да вчитате скрипта за отстранување грешки со следнава содржина за да го преземете подигнувачот ATF и UEFI на физичка табла.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-9 intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-10

Се подига Линукс

Овој дел ви покажува како да го подигнете Linux откако UEFI ќе влезе во UEFI школка.

Подигнување од UEFI Shell

  1. Подигнете ја плочката до обвивката UEFI, како што е опишано во Вклучување на безбедниот монитор.
  2. Откако ќе се вчита школката UEFI, внесете ја следнава команда за да го подигнете Linux:
    • Слика dtb=socfpga_stratix10_socdk.dtb конзола=ttyS0,115200 root=/dev/mmcb

Забелешка: Проверете дали сликата и dtb на Linux се зачувани во SD-картичката.

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Историја на ревизии на документи за Intel Stratix 10 SoC UEFI подигач за подигање кориснички водич

Верзија на документ Промени
2020.06.19 Ги ажурираше следните делови:
  • Минимални хардверски барања
  • Минимални барања за софтвер
  • Инсталирање на синџирот на алатки за компајлер
  • Корисничка конфигурација
  • Добивање на изворниот код на фирмверот доверлив за рака
  • Градење на ATF
  • Добивање на изворниот код на UEFI
  • Добивање на изворниот код на платформата edk2
  • Составување на изворниот код на UEFI со синџирот на алатки Linaro
  • UEFI генериран Files
  • Генерирање на .соф file со ATF
  • Креирање слика на SD картичка
  • Дебагирање со DS
  • Подигнување од UEFI Shell
2019.03.28
  • Додаден е нов дел: Изградба на безбеден монитор да се опише нова подигање stage и безбедно подигање.
  • Ажуриран дел: UEFI генериран Files.
  • Додаден е нов дел: Работење UEFI на хардвер Intel Stratix 10.
2017.06.19 Почетно ослободување.

Интел корпорација. Сите права се задржани. Intel, логото на Intel и другите ознаки на Intel се заштитни знаци на Intel Corporation или нејзините подружници. Интел гарантира изведба на своите FPGA и полупроводнички производи според тековните спецификации во согласност со стандардната гаранција на Интел, но го задржува правото да прави промени на сите производи и услуги во секое време без претходна најава. Интел не презема никаква одговорност или одговорност што произлегува од апликацијата или користењето на какви било информации, производ или услуга опишани овде, освен како што е изрично писмено договорено од Интел. На клиентите на Intel им се препорачува да ја добијат најновата верзија на спецификациите на уредот пред да се потпрат на какви било објавени информации и пред да направат нарачки за производи или услуги. *Други имиња и брендови може да се бараат како сопственост на други.

ИД: 683134
Верзија: 2020.06.19

Документи / ресурси

Интел UG-20080 Stratix 10 SoC UEFI подигнувач [pdf] Упатство за корисникот
UG-20080 Stratix 10 SoC UEFI подигач, UG-20080, Stratix 10 SoC UEFI подигнувач, 10 SoC UEFI подигнувач, UEFI подигач

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *