intel-logo

intel UG-20080 Stratix 10 SoC UEFI Boot Loader

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

Fuqview

Dan id-dokument jipprovdi informazzjoni komprensiva dwar l-Unified Extensible Firmware Interface (UEFI) boot loader għal Intel Stratix 10 SoC. L-Intel Stratix 10 SoC jipprovdi fluss ta 'boot sikur, li jikkonsisti minn

  • Il-boot ROM
  • Il-maniġer tal-apparat sikur (SDM)
  • Il-Monitor Sikur
  • Il-boot loader UEFI

Il-fluss tal-boot sikur tas-SoC Intel Stratix 10 jiżgura li l-boot loader tas-sistema jkun iffirmat b'ċavetta kriptografika, ivvalidata mill-firmware. Is-Secure Monitor stage timplimenta wkoll il-mudell TrustZone* ta' qsim sigur. Dan il-mudell jaqsam l-ambjent tas-softwer f'żewġ diviżorji iżolati, imsejħa d-dinja sigura u d-dinja mhux sigura. Iż-żewġ dinjiet jistgħu jikkomunikaw ma' xulxin biss permezz tas-Secure Monitor. L-immaġni binarja tal-boot loader UEFI tista 'tinħażen fuq il-karta Quad SPI flash SD/MMC. Fuq il-power-up, is-secure device manager (SDM) jgħabbi s-Secure Monitor direttament fuq Hard Processor System (HPS) RAM on-chip. Imbagħad is-Secure Monitor jgħabbi l-UEFI boot loader fil-memorja HPS DDR.

Il-kompiti Secure Monitor jinkludu

  • Inizjalizzazzjoni tal-memorja DDR SDRAM
  • Konfigurazzjoni ta' ħardwer ta' livell baxx, bħal PLL, IOs, u pin MUXes, meħtieġa minn softwer dinji mhux sigur

Il-kompiti tal-UEFI boot loader jinkludu

  • Jipprovdu appoġġ Ethernet
  • Appoġġ karatteristiċi dijanjostiċi bażiċi tal-ħardwer
  • Jġibu softwer tal-boot sussegwenti bħall-pakkett tas-sistema operattiva jew l-immaġni tal-qalba.

Nota: Għal boot mhux sikur, il-pakkett tas-sistema operattiva jista 'jinkludi immaġni tal-qalba, blob tas-siġra tal-apparat u filesistema. Għal boot sikur jista 'jkun qalba sigur.

UEFI Boot Flow Overview

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

Rekwiżiti tas-Sistema

Biex tgħabbi u tesegwixxi l-boot loader tal-Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), is-sistema tiegħek trid tissodisfa r-rekwiżiti li ġejjin.

Rekwiżiti Minimi tal-Hardware

  • Workstation Linux bil-konfigurazzjoni li ġejja:
    • Terminal serjali, bħal Minicom għal Linux
    • Slot tal-karta microSD jew kittieb tal-karta microSD jew kittieb kapaċi SD b'konvertitur SD għal microSD

Kapaċitajiet tal-Pjattaforma

  Linux
Kapaċi jikkompila l-UEFI boot loader Iva
Kapaċi tiġbor is-Secure Monitor Iva

Rekwiżiti Minimi tas-Softwer

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 u ogħla
  • Linaro aarch64-linux-gnu-gcc toolchain

Nibdew

Installazzjoni ta' Komponenti tas-Softwer

Installazzjoni tal-Intel SoC EDS

  • Trid tinstalla l-Intel SoC EDS fuq il-magna tiegħek.
  • Niżżel l-Intel SoC EDS miċ-Ċentru tat-Tniżżil għall-FPGAs.

Installazzjoni tal-Kompilatur Toolchain

Int tikkompila l-UEFI boot loader u s-Secure Monitor mal-GNU Toolchain (EABI Release) għal Arm* Processors. Tista' tniżżel il-GNU Toolchain mill-paġna tat-tniżżil ta' Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Bini tal-Monitor Sikur

Hekk kif is-sigurtà ssir aktar u aktar importanti, soluzzjoni ta 'boot sigura ssir rekwiżit fid-dinja inkorporata. Biex tkun żgurata sigurtà komprensiva u pjattaforma fdata, hija meħtieġa qsim sigur. L-apparat Intel Stratix 10 jikseb qsim sikur billi jimplimenta l-mudell TrustZone b'Arm Trusted Firmware (ATF). Il-mudell TrustZone jaqsam l-ambjent tal-kompjuter f'żewġ dinjiet iżolati, id-dinja sigura u d-dinja normali, li huma konnessi minn monitor tas-softwer imsejjaħ Secure Monitor. Iż-żewġ dinjiet għandhom separati spazju ta 'indirizz loġiku u periferali. Il-komunikazzjoni bejn iż-żewġ dinjiet hija possibbli biss billi ċċempel l-istruzzjoni privileġġjata ta’ Secure Monitor call (SMC).

Is-soluzzjoni sħiħa boot sigura hija

  • BootRom
  • Maniġer tal-Apparat Sikur
  • Monitor Sikur
  • Uboot/UEFI
  • Iperviżur
  • OS

Il-mod Secure Monitor huwa mod privileġġjat u huwa dejjem sigur irrispettivament mill-istat tal-bit NS. Is-Secure Monitor huwa kodiċi li jaħdem fil-mod Secure Monitor u jipproċessa swiċċijiet lejn u mid-dinja Secure. Is-sigurtà ġenerali tas-softwer tiddependi fuq is-sigurtà ta 'dan il-kodiċi flimkien mal-kodiċi tal-boot Sikur.

Informazzjoni Relatata

Informazzjoni ġenerali dwar Arm Trusted Firmware

Konfigurazzjoni tal-Utent

Tista' ssib il-konfigurazzjonijiet kollha tal-pjattaforma f'arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Għall-konfigurazzjoni tal-utent, trid timmodifika s-sorsi tal-but ibbażati fuq il-preferenzi tiegħek. Inti tagħżel BOOT_SOURCE_SDMMC jekk boot minn SDMMC jew agħżel BOOT_SOURCE_QSPI jekk boot minn QSPI.

  • #define BOOT_SOURCE BOOT_SOURCE_SDMMC

Nota: Biex tibdel il-but fileisem jew offset, tista 'tbiddel il-#define f'dan file.

Ksib tal-Kodiċi Sors tal-Firmware Arm Trusted

Is-sors tal-ATF jinsab fil-GitHub. Biex tikseb il-kodiċi tas-sors ATF, sempliċement mexxi l-passi li ġejjin

  1. Iftaħ terminal.
  2. Oħloq direttorju ġdid biex tiċċekkja l-kodiċi tas-sors ATF minn GitHub.
  3. Ibdel għal dan id-direttorju tax-xogħol u kklona s-sors ATF mis-siġar Git kif ġej:
  4. Meta titlesta, ibdel għall-folder tal-arm-trusted-firmware u wettaq Git check out kif ġej:
    • cd arm-trusted-firmware
    • git checkout socfpga_v2.1

Informazzjoni Relatata

  • Bini tal-ATF.
  • Il-kumpilazzjoni tal-Kodiċi Sors UEFI mal-Katina tal-Għodda Linaro.
  • Tmexxi l-Monitor Sikur.

Bini tal-ATF

Din it-taqsima tiddeskrivi kif tibni l-ATF bil-kompilatur Linaro GCC. Biex tibda tibni l-ATF bil-kompilatur Linaro GCC, sempliċement mexxi l-passi li ġejjin

  1. Ibdel id-direttorju tiegħek fil-post tal-kodiċi tas-sors ATF kif ġej:
    • cd arm-trusted-firmware
  2. Issettja l-passaġġ GCC u l-varjabbli ambjentali CROSS_COMPILE għal Linaro cross compile kif ġej: export PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • esportazzjoni ARCH=arm64
    • esportazzjoni CROSS_COMPILE=aarch64-linux-gnu-
  3. Neħħi s-siġra tal-bini kompletament kif ġej:
    • tagħmel realclean
  4. Ibni l-ATF billi tuża l-kmand li ġej:
    • agħmel PLAT=stratix10 bl2 bl31
  5. Il-messaġġi li ġejjin jidhru meta l-bini ATF jirnexxiintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. It-tabella hawn taħt telenka l-output tal-Monitor Sikur files.

Deskrizzjonijiet ta 'Secure Monitor Files

File Mogħdija u Isem Deskrizzjoni
\build\stratix10\release\bl31.bin Binarju ġġenerat file
\build\stratix10\release\bl31\bl31.elf Elf iġġenerat file
\build\stratix10\release\bl2.bin Binarju ġġenerat file
\build\stratix10\release\bl2\bl2.elf Elf iġġenerat file

Bini tal-UEFI Boot Loader

Biex tibni boot loader UEFI, tikseb il-kodiċi tas-sors UEFI u tikkompila s-sors UEFI mal-toolchain appoġġjat.

L-Unified Extensible Firmware Interface (UEFI) hija speċifikazzjoni tal-firmware standardizzata li tissimplifika u tiżgura l-inizjalizzazzjoni tal-pjattaforma u l-operazzjonijiet tal-bootstrap tal-firmware. UEFI bħalissa hija żviluppata u appoġġjata minn rappreżentanti minn aktar minn 250 kumpanija tat-teknoloġija ewlenija fl-industrija. Arm u l-Linaro Enterprise Group qed jippromwovu wkoll l-użu ta 'UEFI fuq l-arkitettura ta' Arm minħabba li l-ispeċifikazzjoni UEFI tgħin biex tistandardizza l-proċess tal-boot għal pjattaformi bbażati fuq il-proċessur Arm. It-teknoloġija UEFI hija valida għall-futur permezz tal-istandardizzazzjoni tad-disinn tal-firmware aktar milli disinn tal-firmware proprjetarju. L-ispeċifikazzjonijiet UEFI jippromwovu l-effiċjenza tan-negozju u teknoloġika, itejbu l-prestazzjoni u s-sigurtà, jiffaċilitaw l-interoperabbiltà bejn apparati, pjattaformi u sistemi u jikkonformaw mat-teknoloġiji tal-ġenerazzjoni li jmiss. L-ispeċifikazzjoni UEFI hija peer-reviewed u ppubblikati, li jippermettu lill-iżviluppaturi jiktbu firmware darba għal kull pjattaforma u jerġgħu jużawha mingħajr ħafna modifika. Dan l-użu mill-ġdid jirriżulta fi ffrankar ta 'spejjeż u ħin waqt l-iżvilupp tal-boot loader. Dan il-qafas juża l-liċenzja BSD, li jippermettilek li b'mod fakultattiv tikkummerċjalizza l-implimentazzjoni tiegħek bi kwistjonijiet legali minimi. Tista' tiġbor il-kodiċi tas-sors UEFI jew f'sistema Windows jew f'sistema Linux.

Prerekwiżiti

Il-bini tal-UEFI jeħtieġ pakketti Linux addizzjonali. Skont id-distribuzzjoni tal-Linux tiegħek, il-kmand biex tinstalla l-pakketti huwa differenti:

Jekk qed tuża distribuzzjoni Ubuntu, ittajpja

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

Jekk qed tuża distribuzzjoni Fedora, ittajpja

  • sudo yum install uuid-devel libuuid-devel

Għall-bini UEFI, il-pakkett Python huwa meħtieġ. Jekk Python ma jkunx diġà disponibbli fis-sistema tiegħek, it-tħaddim tal-kmandi mis-SoC EDS Embedded Command Shell jipprovdi d-dipendenza Python meħtieġa.

Ksib tal-Kodiċi Sors UEFI

Il-kodiċi tas-sors UEFI jinsab f'GitHub. Il-passi li ġejjin juruk kif tikseb il-kodiċi tas-sors UEFI.

  1. Iftaħ terminal.
  2. Ikklonja s-sors UEFI mis-siġar Git.
  3. Meta titlesta, ibdel għall-folder edk2 u wettaq checkout Git.
    • cd edk2
    • git checkout socfpga_udk201905

Il-kodiċi tas-sors tal-pjattaformi edk2 jinsab f'GitHub. Biex tikseb il-kodiċi tas-sors tal-pjattaformi edk2

Il-kumpilazzjoni tal-Kodiċi Sors UEFI mal-Katina tal-Għodda Linaro

Din it-taqsima tispjega kif tikkompila l-kodiċi tas-sors UEFI mal-katina tal-għodda Linaro f'sistema Linux

  1. Iftaħ terminal u daħħal il-kmand li ġej:
    • cd
    • esportazzjoni PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • esporta CROSS_COMPILE= aarch64-linux-gnu-
    • esportazzjoni ARCH=arm64
    • esportazzjoni GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Stabbilixxi l-EDK_TOOLS_PATH:
    • esporta EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Stabbilixxi l-PACKAGES_PATH biex tipponta lejn il-post tar-repożitorji:
    • export PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. Waħħal l-ISPAZJU TA' XOGĦOL:
    • esportazzjoni WORKSPACE = $PWD
  5. Stabbilixxi l-ambjent tal-bini:
    • edk2/edksetup.sh
  6. Ibni BaseTools (iżgura li l-għodod python huma installati):
    • tagħmel -C edk2/BaseTools
  7. Ikkompila l-UEFI bootloader billi ddaħħal il-kmand li ġej:
    • build -a AARCH64 -p Platform/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y rapport.log -j build.log -Y PCD -Y LIBRARY -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRESS
  8. It-terminal tiegħek juri messaġġ "Bini Magħmul" wara li l-UEFI jiġi kkumpilat b'suċċess.
UEFI Ġenerat Files

Il-kompilazzjoni tal-kodiċi tas-sors UEFI toħloq dan li ġej files fil-folder /Build/ Stratix10SoCPkg/RELEASE_GCC48:

UEFI Ġenerat Files

File Deskrizzjoni
INTELSTRATIX10_EFI.fd Dan file huwa l-UEFI bootloader biex boot UEFI shell u jippermetti l-karatteristika ethernet jew iħaddem applikazzjoni UEFI
Ġenerazzjoni tal-FIP

FIP hija t-tagħbija li l-BL2 tal-ATF jgħabbi fir-RAM u eżegwita. L-FIP fih il-binarju għal BL31 u UEFI bootloader, u kontenitur li BL2 jirrikonoxxi.

Biex tibni l-FIP, segwi dawn il-kmandi

  • esportazzjoni ARCH = ARM64
  • esporta CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Ibni l-FIP billi tuża l-kmand li ġej

  • agħmel fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

Tħaddim UEFI fuq Intel Stratix 10 Hardware

Tħaddim fuq Bord Fiżiku b'ATF u UEFI Bootloader

Din it-taqsima tiddeskrivi kif tħaddem is-Secure Monitor fuq bord fiżiku.

Iġġenera .sof file ma 'ATF

  1. Ikseb .sof file mid-direttorju tal-installazzjoni $SOCEDS_DEST_ROOT.
  2. Ikkonverti l-binarju file bl2.bin, iġġenerat fil-Bini tal-ATF.
    • aarch64-linux-gnu-objcopy -I binarju -O ihex – \-bidla-indirizzi 0xffe00000 bl2.bin bl2.hex
  3. Inkludi l-bootloader fil-.sof file kif ġej:
    • 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

Informazzjoni Relatata

  • Bini tal-ATF.

Ħolqien ta 'Immaġni SD Card

  1. Iġġenera UEFI Bootloader u FIP bħal fil-Bini tal-UEFI Boot Loader u Ġenerazzjoni tal-FIP.
  2. Ibni Linux u għerq file sistema bbażata fuq l-istruzzjonijiet f'Rocketboard.
  3. Ibni l-immaġni tal-karta SD:
  • Ikseb l-iskrittura make_image python u agħmilha eżekutibbli
  • Ipprepara l-kontenut tal-partizzjoni tax-xaħam:
    • mkdir xaħam && cd xaħam
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Ipprepara l-għerq file kontenut tal-partizzjoni tas-sistema:
    • mkdir rootfs && cd rootfs
    • qatran xf /gsrd-console-image-*.tar.xz
  • Oħloq l-immaġni tal-karta 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
    • Image,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Nota: Jekk diġà għandek immaġni SD b'partizzjoni A2, tista 'tissostitwixxi l-FIP file bil-kmand hawn taħt:
    • sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Informazzjoni Relatata
  • Il-kumpilazzjoni tal-Kodiċi Sors UEFI mal-Katina tal-Għodda Linaro.
  • Bini tal-UEFI Boot Loader.

Tmexxi l-Monitor Sikur

  1. Ixgħel il-bord wara li tiddaħħal il-karta SD.
  2. Iftaħ il-programmer Quartus u pprogramma l-bord bil-.sof file iġġenerat fil-Ġenerazzjoni ta' .sof File ma 'ATF.

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

  • Il-bord jibda mill-ATF u awtomatikament jgħabbi UEFI bootloader biex ibbutja l-qoxra UEFI.

Informazzjoni Relatata

  • Iġġenera .sof file ma 'ATF.
Debugging ma 'DS

Din it-taqsima tiddeskrivi kif tagħbija ATF u UEFI bootloader fuq il-bord fiżiku permezz ta 'DS.

  1. Kun żgur li installajt DS. Tnedija eclipse billi tuża l-kmand li ġej:
    • armds_ide &
  2. Stabbilixxi konnessjoni ġdida tad-debug
    • Illustrazzjoni tal-Passintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Wara li titlesta l-konfigurazzjoni, qabbad mal-mira.
    • Nota: Int trid tipprogramma l-bord b'ghrd_1sx280lu2f50e2vg_hps_debug.sof qabel ma tikkonnettja mal-mira.
  4. Fil-console tal-kmand DS, tista 'tagħbija script tad-debug bil-kontenut li ġej biex tniżżel l-ATF u l-UEFI bootloader fuq il-bord fiżiku.

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

Ibbutjar tal-Linux

Din it-taqsima turi kif tibbutja Linux wara li UEFI jidħol fil-qoxra UEFI.

Ibbutjar mill-UEFI Shell

  1. Ibda l-bord sal-qoxra UEFI, kif deskritt fit-Tmexxija tal-Monitor Sikur.
  2. Ladarba l-qoxra UEFI titgħabba, daħħal il-kmand li ġej biex tibda Linux:
    • Immaġini dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb

Nota: Kun żgur li l-immaġni Linux u dtb huma maħżuna fil-karta SD.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Storja ta 'Reviżjoni tad-Dokument għall-Gwida għall-Utent tal-Utent tal-Boot Loader tal-Intel Stratix 10 SoC UEFI

Verżjoni tad-Dokument Bidliet
2020.06.19 Aġġorna t-taqsimiet li ġejjin:
  • Rekwiżiti Minimi tal-Hardware
  • Rekwiżiti Minimi tas-Softwer
  • Installazzjoni tal-Kompilatur Toolchain
  • Konfigurazzjoni tal-Utent
  • Ksib tal-Kodiċi Sors tal-Firmware Arm Trusted
  • Bini tal-ATF
  • Ksib tal-Kodiċi Sors UEFI
  • Il-ksib tal-Kodiċi Sors tal-Pjattaforma edk2
  • Il-kumpilazzjoni tal-Kodiċi Sors UEFI mal-Katina tal-Għodda Linaro
  • UEFI Ġenerat Files
  • Iġġenera .sof file ma 'ATF
  • Ħolqien ta 'Immaġni SD Card
  • Debugging ma 'DS
  • Ibbutjar mill-UEFI Shell
2019.03.28
  • Żid taqsima ġdida: Bini tal-Monitor Sikur biex jiddeskrivi boot stage u boot sigur.
  • Sezzjoni aġġornata: UEFI Ġenerat Files.
  • Żid taqsima ġdida: Tħaddim UEFI fuq Intel Stratix 10 Hardware.
2017.06.19 Rilaxx inizjali.

Korporazzjoni Intel. Id-drittijiet kollha riżervati. Intel, il-logo Intel, u marki oħra Intel huma trademarks ta' Intel Corporation jew is-sussidjarji tagħha. Intel tiggarantixxi l-prestazzjoni tal-prodotti FPGA u semikondutturi tagħha skont l-ispeċifikazzjonijiet attwali skont il-garanzija standard ta 'Intel iżda tirriżerva d-dritt li tagħmel bidliet fi kwalunkwe prodott u servizz fi kwalunkwe ħin mingħajr avviż. Intel ma tassumi l-ebda responsabbiltà jew responsabbiltà li tirriżulta mill-applikazzjoni jew l-użu ta' kwalunkwe informazzjoni, prodott jew servizz deskritt hawnhekk ħlief kif miftiehem espressament bil-miktub minn Intel. Il-klijenti Intel huma avżati biex jiksbu l-aħħar verżjoni tal-ispeċifikazzjonijiet tal-apparat qabel ma jiddependu fuq kwalunkwe informazzjoni ppubblikata u qabel ma jagħmlu ordnijiet għal prodotti jew servizzi. *Ismijiet u marki oħra jistgħu jiġu mitluba bħala proprjetà ta’ ħaddieħor.

ID: 683134
Verżjoni: 2020.06.19

Dokumenti / Riżorsi

intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdfGwida għall-Utent
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *