intel UG-20080 Stratix 10 SoC UEFI Boot Loader
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
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
- Iftaħ terminal.
- Oħloq direttorju ġdid biex tiċċekkja l-kodiċi tas-sors ATF minn GitHub.
- Ibdel għal dan id-direttorju tax-xogħol u kklona s-sors ATF mis-siġar Git kif ġej:
- 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
- Ibdel id-direttorju tiegħek fil-post tal-kodiċi tas-sors ATF kif ġej:
- cd arm-trusted-firmware
- 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-
- Neħħi s-siġra tal-bini kompletament kif ġej:
- tagħmel realclean
- Ibni l-ATF billi tuża l-kmand li ġej:
- agħmel PLAT=stratix10 bl2 bl31
- Il-messaġġi li ġejjin jidhru meta l-bini ATF jirnexxi
- 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.
- Iftaħ terminal.
- Ikklonja s-sors UEFI mis-siġar Git.
- 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
- git klonu https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-pjattaformi
- git checkout socfpga_udk201905
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
- 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-
- Stabbilixxi l-EDK_TOOLS_PATH:
- esporta EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Stabbilixxi l-PACKAGES_PATH biex tipponta lejn il-post tar-repożitorji:
- export PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- Waħħal l-ISPAZJU TA' XOGĦOL:
- esportazzjoni WORKSPACE = $PWD
- Stabbilixxi l-ambjent tal-bini:
- edk2/edksetup.sh
- Ibni BaseTools (iżgura li l-għodod python huma installati):
- tagħmel -C edk2/BaseTools
- 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
- 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
- Ikseb .sof file mid-direttorju tal-installazzjoni $SOCEDS_DEST_ROOT.
- 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
- Inkludi l-bootloader fil-.sof file kif ġej:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof
Informazzjoni Relatata
- Bini tal-ATF.
Ħolqien ta 'Immaġni SD Card
- Iġġenera UEFI Bootloader u FIP bħal fil-Bini tal-UEFI Boot Loader u Ġenerazzjoni tal-FIP.
- Ibni Linux u għerq file sistema bbażata fuq l-istruzzjonijiet f'Rocketboard.
- Ibni l-immaġni tal-karta SD:
- Ikseb l-iskrittura make_image python u agħmilha eżekutibbli
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- 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
- Il-kumpilazzjoni tal-Kodiċi Sors UEFI mal-Katina tal-Għodda Linaro.
- Bini tal-UEFI Boot Loader.
Tmexxi l-Monitor Sikur
- Ixgħel il-bord wara li tiddaħħal il-karta SD.
- Iftaħ il-programmer Quartus u pprogramma l-bord bil-.sof file iġġenerat fil-Ġenerazzjoni ta' .sof File ma 'ATF.
- 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.
- Kun żgur li installajt DS. Tnedija eclipse billi tuża l-kmand li ġej:
- armds_ide &
- Stabbilixxi konnessjoni ġdida tad-debug
- Illustrazzjoni tal-Pass
- Illustrazzjoni tal-Pass
- 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.
- 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.
Ibbutjar tal-Linux
Din it-taqsima turi kif tibbutja Linux wara li UEFI jidħol fil-qoxra UEFI.
Ibbutjar mill-UEFI Shell
- Ibda l-bord sal-qoxra UEFI, kif deskritt fit-Tmexxija tal-Monitor Sikur.
- 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.
Storja 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:
|
2019.03.28 |
|
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 |