intel-logo

Intel UG-20080 Stratix 10 SoC UEFI Boot Loader

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

Mbiview

Ky dokument ofron informacion të plotë mbi ngarkuesin e nisjes së Ndërfaqes së Unifikuar të Zgjeruar të Firmware (UEFI) për Intel Stratix 10 SoC. Intel Stratix 10 SoC siguron një rrjedhë të sigurt të nisjes, e përbërë nga

  • ROM-i i nisjes
  • Menaxheri i pajisjes së sigurt (SDM)
  • Monitori i Sigurt
  • Ngarkuesi i nisjes UEFI

Rrjedha e sigurt e nisjes së Intel Stratix 10 SoC siguron që ngarkuesi i nisjes së sistemit të nënshkruhet me një çelës kriptografik, të vërtetuar nga firmware. Monitori i Sigurt stage zbaton gjithashtu modelin TrustZone* të ndarjes së sigurt. Ky model e ndan mjedisin e softuerit në dy ndarje të izoluara, të quajtura bota e sigurt dhe bota jo e sigurt. Të dy botët mund të komunikojnë me njëra-tjetrën vetëm përmes Monitorit të Sigurt. Imazhi binar i ngarkuesit UEFI mund të ruhet në kartën Quad SPI flash SD/MMC. Në ndezjen e bordit, menaxheri i pajisjes së sigurt (SDM) ngarkon Monitorin e Sigurt drejtpërdrejt në RAM-in e çipit të sistemit të procesorit të fortë (HPS). Më pas, Monitori i Sigurt ngarkon ngarkuesin e nisjes UEFI në memorien HPS DDR.

Detyrat e Monitorit të Sigurt përfshijnë

  • Inicializimi i memories DDR SDRAM
  • Konfigurimi i pajisjeve të nivelit të ulët, të tillë si PLL, IO dhe pin MUXes, të nevojshme nga softueri i pasigurt botëror

Detyrat e ngarkuesit të nisjes UEFI përfshijnë

  • Ofrimi i mbështetjes për Ethernet
  • Mbështetja e veçorive themelore të diagnostikimit të harduerit
  • Marrja e softuerit të mëpasshëm të nisjes si paketa e sistemit operativ ose imazhi i kernelit.

Shënim: Për nisje jo të sigurt, paketa e sistemit operativ mund të përfshijë imazhin e kernelit, njollën e pemës së pajisjes dhe filesistemi. Për një nisje të sigurt, mund të jetë një kernel i sigurt.

UEFI Boot Flow Overview

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

Kërkesat e Sistemit

Për të ngarkuar dhe ekzekutuar ngarkuesin e nisjes së Ndërfaqes së Unifikuar të Firmware të Zgjeruar të Intel Stratix 10 SoC (UEFI), sistemi juaj duhet të plotësojë kërkesat e mëposhtme.

Kërkesat minimale të harduerit

  • Stacioni i punës Linux me konfigurimin e mëposhtëm:
    • Terminali serik, siç është Minicom për Linux
    • Vendi i kartës microSD ose shkrimtar i kartës microSD ose shkrimtar i aftë SD me konvertues SD në microSD

Aftësitë e platformës

  Linux
Mund të përpilojë ngarkuesin e nisjes UEFI po
Mund të përpilojë Monitorin e Sigurt po

Kërkesat minimale të softuerit

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 dhe më lart
  • Zinxhiri i mjeteve Linaro aarch64-linux-gnu-gcc

Fillimi

Instalimi i komponentëve të softuerit

Instalimi i Intel SoC EDS

  • Duhet të instaloni Intel SoC EDS në kompjuterin tuaj.
  • Shkarkoni Intel SoC EDS nga Qendra e Shkarkimit për FPGA.

Instalimi i zinxhirit të mjeteve përpilues

Ju përpiloni ngarkuesin e nisjes UEFI dhe Monitorin e Sigurt me zinxhirin e veglave GNU (EaBI Release) për përpunuesit e Arm*. Ju mund ta shkarkoni zinxhirin e veglave GNU nga faqja e shkarkimit të Armit.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Ndërtimi i Monitorit të Sigurt

Ndërsa siguria bëhet gjithnjë e më e rëndësishme, një zgjidhje e sigurt e nisjes bëhet një kërkesë në botën e integruar. Për të siguruar siguri gjithëpërfshirëse dhe një platformë të besueshme, kërkohet ndarje e sigurt. Pajisja Intel Stratix 10 arrin ndarje të sigurt duke zbatuar modelin TrustZone me Firmware të besuar të Armit (ATF). Modeli TrustZone ndan mjedisin kompjuterik në dy botë të izoluara, botën e sigurt dhe botën normale, të cilat janë të lidhura nga një monitor softuerësh i quajtur Monitor i Sigurt. Të dy botët kanë ndarë hapësirën logjike të adresave dhe pajisjet periferike. Komunikimi midis dy botëve është i mundur vetëm duke telefonuar udhëzimin e privilegjuar të thirrjes së monitorit të sigurt (SMC).

Zgjidhja e plotë e sigurt e nisjes është

  • BootRom
  • Menaxheri i Sigurt i Pajisjes
  • Monitor i sigurt
  • Uboot/UEFI
  • Hipervizor
  • OS

Modaliteti Secure Monitor është një modalitet i privilegjuar dhe është gjithmonë i sigurt pavarësisht nga gjendja e bitit NS. Monitori i Sigurt është kodi që funksionon në modalitetin e Monitorit të Sigurt dhe përpunon kalimet në dhe nga bota e sigurt. Siguria e përgjithshme e softuerit mbështetet në sigurinë e këtij kodi së bashku me kodin e nisjes së sigurt.

Informacione të Përafërta

Informacione të përgjithshme rreth firmuerit të besuar të Armit

Konfigurimi i përdoruesit

Mund t'i gjeni të gjitha konfigurimet e platformës në arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Për konfigurimin e përdoruesit, duhet të modifikoni burimet e nisjes bazuar në preferencat tuaja. Ju zgjidhni BOOT_SOURCE_SDMMC nëse niseni nga SDMMC ose zgjidhni BOOT_SOURCE_QSPI nëse niseni nga QSPI.

  • #define BOOT_SOURCE BOOT_SOURCE_SDMMC

Shënim: Për të ndryshuar bagazhin fileemrin ose kompensimin, mund të ndryshoni #define në këtë file.

Marrja e kodit burimor të firmuerit të besuar të krahut

Burimi ATF është në GitHub. Për të marrë kodin burimor ATF, thjesht kryeni hapat e mëposhtëm

  1. Hap një terminal.
  2. Krijo një direktori të re për të kontrolluar kodin burimor ATF nga GitHub.
  3. Ndryshoni në këtë drejtori pune dhe klononi burimin ATF nga pemët Git si më poshtë:
  4. Kur të përfundojë, kaloni në dosjen arm-trusted-firmware dhe kryeni një kontroll Git si më poshtë:
    • cd arm-trusted-firmware
    • git arka socfpga_v2.1

Informacione të Përafërta

  • Ndërtimi i ATF.
  • Përpilimi i kodit burimor UEFI me zinxhirin e mjeteve Linaro.
  • Drejtimi i Monitorit të Sigurt.

Ndërtimi i ATF

Ky seksion përshkruan se si të ndërtohet ATF me përpiluesin Linaro GCC. Për të filluar ndërtimin e ATF me përpiluesin Linaro GCC, thjesht kryeni hapat e mëposhtëm

  1. Ndryshoni drejtorinë tuaj në vendndodhjen e kodit burimor ATF si më poshtë:
    • cd arm-trusted-firmware
  2. Cakto variablin e GCC dhe variablin e mjedisit CROSS_COMPILE te Linaro cross compile si më poshtë: eksporto PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • eksport ARCH=krahu64
    • eksportoni CROSS_COMPILE=aarch64-linux-gnu-
  3. Hiqni plotësisht pemën e ndërtimit si më poshtë:
    • bëj të vërtetë të pastër
  4. Ndërtoni ATF duke përdorur komandën e mëposhtme:
    • bëjnë PLAT=stratix10 bl2 bl31
  5. Mesazhet e mëposhtme shfaqen kur ndërtimi i ATF është i suksesshëmintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Tabela më poshtë liston daljen e Monitorit të Sigurt files.

Përshkrimet e Monitorit të Sigurt Files

File Rruga dhe Emri Përshkrimi
\build\stratix10\release\bl31.bin Binar i gjeneruar file
\build\stratix10\release\bl31\bl31.elf Kukudh i gjeneruar file
\build\stratix10\release\bl2.bin Binar i gjeneruar file
\build\stratix10\release\bl2\bl2.elf Kukudh i gjeneruar file

Ndërtimi i ngarkuesit të nisjes UEFI

Për të ndërtuar një ngarkues UEFI, ju merrni kodin burimor UEFI dhe përpiloni burimin UEFI me zinxhirin e mjeteve të mbështetur.

Ndërfaqja e Unified Extensible Firmware (UEFI) është një specifikim i standardizuar i firmuerit që thjeshton dhe siguron inicializimin e platformës dhe operacionet e nisjes së firmuerit. UEFI aktualisht është zhvilluar dhe mbështetur nga përfaqësues të më shumë se 250 kompanive teknologjike lider në industri. Arm dhe Linaro Enterprise Group po promovojnë gjithashtu përdorimin e UEFI në arkitekturën Arm sepse specifikimi UEFI ndihmon në standardizimin e procesit të nisjes për platformat e bazuara në procesor Arm. Teknologjia UEFI është e mbrojtur nga e ardhmja përmes standardizimit të dizajnit të firmuerit në vend të dizajnit të firmuerit të pronarit. Specifikimet e UEFI promovojnë efikasitetin e biznesit dhe teknologjik, përmirësojnë performancën dhe sigurinë, lehtësojnë ndërveprimin midis pajisjeve, platformave dhe sistemeve dhe përputhen me teknologjitë e gjeneratës së ardhshme. Specifikimi UEFI është peer-reviewed dhe botuar, duke i lejuar zhvilluesit të shkruajnë firmware një herë për platformë dhe ta ripërdorin atë pa shumë modifikime. Ky ripërdorim rezulton në kursime në kosto dhe kohë gjatë zhvillimit të ngarkuesit të ngarkimit. Ky kuadër përdor licencën BSD, duke ju lejuar të komercializoni opsionalisht zbatimin tuaj me çështje minimale ligjore. Ju mund të përpiloni kodin burimor UEFI ose në një sistem Windows ose në një sistem Linux.

Parakushtet

Ndërtimi i UEFI kërkon paketa shtesë Linux. Në varësi të shpërndarjes suaj Linux, komanda për të instaluar paketat është e ndryshme:

Nëse jeni duke përdorur një shpërndarje Ubuntu, shkruani

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

Nëse përdorni një shpërndarje Fedora, shkruani

  • sudo yum instalo uuid-devel libuuid-devel

Për ndërtimin e UEFI, kërkohet paketa Python. Nëse Python nuk është tashmë i disponueshëm në sistemin tuaj, ekzekutimi i komandave nga SoC EDS Embedded Command Shell siguron varësinë e kërkuar të Python.

Marrja e kodit burimor UEFI

Kodi burimor UEFI ndodhet në GitHub. Hapat e mëposhtëm ju tregojnë se si të merrni kodin burimor UEFI.

  1. Hap një terminal.
  2. Klononi burimin UEFI nga pemët Git.
  3. Kur të përfundojë, kaloni në dosjen edk2 dhe kryeni një arkë Git.
    • cd edk2
    • git arka socfpga_udk201905

Kodi burimor i platformave edk2 ndodhet në GitHub. Për të marrë kodin burimor të platformave edk2

Përpilimi i kodit burimor UEFI me zinxhirin e mjeteve Linaro

Ky seksion shpjegon se si të përpiloni kodin burimor UEFI me zinxhirin e veglave Linaro në një sistem Linux

  1. Hapni një terminal dhe futni komandën e mëposhtme:
    • cd
    • eksportoni PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • eksportoni CROSS_COMPILE= aarch64-linux-gnu-
    • eksport ARCH=krahu64
    • eksportoni GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Konfiguro EDK_TOOLS_PATH:
    • eksportoni EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Vendosni një PACKAGES_PATH për të treguar vendndodhjen e depove:
    • eksportoni PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. Konfiguro hapësirën e punës:
    • eksportoni WORKSPACE = $PWD
  5. Vendosni mjedisin e ndërtimit:
    • edk2/edksetup.sh
  6. Ndërtoni BaseTools (sigurohuni që mjetet e python janë instaluar):
    • make -C edk2/BaseTools
  7. Përpiloni bootloader UEFI duke futur komandën e mëposhtme:
    • build -a AARCH64 -p Platforma/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y report.log -j build.log -Y PCD -Y BIBLIOTEKA -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRESS
  8. Terminali juaj shfaq një mesazh "Ndërtimi u krye" pasi UEFI të jetë kompiluar me sukses.
UEFI i krijuar Files

Përpilimi i kodit burimor UEFI krijon sa vijon files në dosjen /Build/ Stratix10SoCPkg/RELEASE_GCC48:

UEFI i krijuar Files

File Përshkrimi
INTELSTRATIX10_EFI.fd Kjo file është ngarkuesi UEFI për të nisur UEFI shell dhe për të aktivizuar veçorinë ethernet ose për të ekzekutuar një aplikacion UEFI
Gjenerimi i FIP

FIP është ngarkesa që BL2 e ATF ngarkon në RAM dhe ekzekuton. FIP përmban binarin për ngarkuesin BL31 dhe UEFI, dhe një kontejner që BL2 e njeh.

Për të ndërtuar FIP, ndiqni këto komanda

  • eksportoni ARCH = ARM64
  • eksportoni CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Ndërtoni FIP duke përdorur komandën e mëposhtme

  • bëj fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

Duke ekzekutuar UEFI në pajisjen Intel Stratix 10

Vrapimi në një bord fizik me ATF dhe UEFI Bootloader

Ky seksion përshkruan se si të ekzekutoni Monitorin e Sigurt në një tabelë fizike.

Gjeneroni një .sof file me ATF

  1. Merr një .sof file nga direktoria e instalimit $SOCEDS_DEST_ROOT.
  2. Konvertoni binarin file bl2.bin, i krijuar në ndërtimin e ATF.
    • aarch64-linux-gnu-objcopy -I binar -O ihex – \-ndrysho-adresat 0xffe00000 bl2.bin bl2.hex
  3. Përfshini ngarkuesin në .sof file si më poshtë:
    • 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

Informacione të Përafërta

  • Ndërtimi i ATF.

Krijimi i një imazhi të kartës SD

  1. Gjeneroni UEFI Bootloader dhe FIP si në ndërtimin e UEFI Boot Loader dhe Gjenerimin e FIP.
  2. Ndërtoni Linux dhe rrënjë file sistemi i bazuar në udhëzimet në Rocketboard.
  3. Ndërtoni imazhin e kartës SD:
  • Merrni skriptin make_image python dhe bëjeni atë të ekzekutueshëm
  • Përgatitni përmbajtjen e ndarjes së yndyrës:
    • yndyrë mkdir && yndyrë cd
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Përgatitni rrënjën file Përmbajtja e ndarjes së sistemit:
    • mkdir rootfs && cd rootfs
    • katran xf /gsrd-console-image-*.tar.xz
  • Krijoni imazhin e kartës 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
    • Imazhi,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Shënim: Nëse tashmë keni një imazh SD me ndarje A2, mund ta zëvendësoni FIP-in file me komandën e mëposhtme:
    • sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Informacione të Përafërta
  • Përpilimi i kodit burimor UEFI me zinxhirin e mjeteve Linaro.
  • Ndërtimi i ngarkuesit të nisjes UEFI.

Drejtimi i Monitorit të Sigurt

  1. Ndizeni bordin pasi të jetë futur karta SD.
  2. Hapni programuesin Quartus dhe programoni tabelën me .sof file gjeneruar në Gjenerimi i një .sof File me ATF.

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

  • Bordi niset nga ATF dhe ngarkon automatikisht ngarkuesin UEFI për të nisur shell UEFI.

Informacione të Përafërta

  • Gjeneroni një .sof file me ATF.
Korrigjimi me DS

Ky seksion përshkruan se si të ngarkoni ngarkuesin ATF dhe UEFI në bordin fizik përmes DS.

  1. Sigurohuni që të keni instaluar DS. Nisni eklipsin duke përdorur komandën e mëposhtme:
    • arms_ide &
  2. Konfiguro lidhjen e re të korrigjimit
    • Ilustrimi i hapitintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Pas përfundimit të konfigurimit, lidheni me objektivin.
    • Shënim: Duhet të programoni tabelën me ghrd_1sx280lu2f50e2vg_hps_debug.sof përpara se të lidheni me objektivin.
  4. Në tastierën e komandës DS, mund të ngarkoni një skript korrigjimi me përmbajtjen e mëposhtme për të shkarkuar ngarkuesin ATF dhe UEFI në bordin fizik.

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

Booting Linux

Ky seksion ju tregon se si të nisni Linux pasi UEFI hyn në guaskën UEFI.

Nisja nga UEFI Shell

  1. Nisni bordin deri në guaskën UEFI, siç përshkruhet në Ekzekutimi i Monitorit të Sigurt.
  2. Pasi të ngarkohet guaska UEFI, futni komandën e mëposhtme për të nisur Linux:
    • Imazhi dtb=socfpga_stratix10_socdk.dtb konsolë=ttyS0,115200 rrënjë=/dev/mmcb

Shënim: Sigurohuni që imazhi dhe dtb Linux të ruhen në kartën SD.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Historia e rishikimit të dokumentit për Intel Stratix 10 SoC UEFI Boot Loader Udhëzues

Versioni i dokumentit Ndryshimet
2020.06.19 Përditësuar seksionet e mëposhtme:
  • Kërkesat minimale të harduerit
  • Kërkesat minimale të softuerit
  • Instalimi i zinxhirit të mjeteve përpilues
  • Konfigurimi i përdoruesit
  • Marrja e kodit burimor të firmuerit të besuar të krahut
  • Ndërtimi i ATF
  • Marrja e kodit burimor UEFI
  • Marrja e kodit burimor të platformës edk2
  • Përpilimi i kodit burimor UEFI me zinxhirin e mjeteve Linaro
  • UEFI i krijuar Files
  • Gjeneroni një .sof file me ATF
  • Krijimi i një imazhi të kartës SD
  • Korrigjimi me DS
  • Nisja nga UEFI Shell
2019.03.28
  • Shtoi një seksion të ri: Ndërtimi i Monitorit të Sigurt për të përshkruar çizmet e rejatage dhe boot i sigurt.
  • Seksioni i përditësuar: UEFI i krijuar Files.
  • Shtoi një seksion të ri: Duke ekzekutuar UEFI në pajisjen Intel Stratix 10.
2017.06.19 Lëshimi fillestar.

Korporata Intel. Të gjitha të drejtat e rezervuara. Intel, logoja e Intel dhe markat e tjera Intel janë marka tregtare të Intel Corporation ose filialeve të saj. Intel garanton performancën e produkteve të saj FPGA dhe gjysmëpërçuese sipas specifikimeve aktuale në përputhje me garancinë standarde të Intel, por rezervon të drejtën të bëjë ndryshime në çdo produkt dhe shërbim në çdo kohë pa paralajmërim. Intel nuk merr përsipër asnjë përgjegjësi ose përgjegjësi që rrjedh nga aplikimi ose përdorimi i ndonjë informacioni, produkti ose shërbimi të përshkruar këtu, përveçse kur është rënë dakord shprehimisht me shkrim nga Intel. Klientët e Intel këshillohen të marrin versionin më të fundit të specifikimeve të pajisjes përpara se të mbështeten në çdo informacion të publikuar dhe përpara se të bëjnë porosi për produkte ose shërbime. *Emra dhe marka të tjera mund të pretendohen si pronë e të tjerëve.

ID: 683134
Versioni: 2020.06.19

Dokumentet / Burimet

Intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdfUdhëzuesi i përdoruesit
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *