Intel UG-20080 Stratix 10 SoC UEFI Boot Loader
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
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
- Hap një terminal.
- Krijo një direktori të re për të kontrolluar kodin burimor ATF nga GitHub.
- Ndryshoni në këtë drejtori pune dhe klononi burimin ATF nga pemët Git si më poshtë:
- 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
- Ndryshoni drejtorinë tuaj në vendndodhjen e kodit burimor ATF si më poshtë:
- cd arm-trusted-firmware
- 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-
- Hiqni plotësisht pemën e ndërtimit si më poshtë:
- bëj të vërtetë të pastër
- Ndërtoni ATF duke përdorur komandën e mëposhtme:
- bëjnë PLAT=stratix10 bl2 bl31
- Mesazhet e mëposhtme shfaqen kur ndërtimi i ATF është i suksesshëm
- 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.
- Hap një terminal.
- Klononi burimin UEFI nga pemët Git.
- 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
- klon git https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-platforma
- git arka socfpga_udk201905
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
- 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-
- Konfiguro EDK_TOOLS_PATH:
- eksportoni EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Vendosni një PACKAGES_PATH për të treguar vendndodhjen e depove:
- eksportoni PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- Konfiguro hapësirën e punës:
- eksportoni WORKSPACE = $PWD
- Vendosni mjedisin e ndërtimit:
- edk2/edksetup.sh
- Ndërtoni BaseTools (sigurohuni që mjetet e python janë instaluar):
- make -C edk2/BaseTools
- 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
- 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
- Merr një .sof file nga direktoria e instalimit $SOCEDS_DEST_ROOT.
- 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
- Përfshini ngarkuesin në .sof file si më poshtë:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof
Informacione të Përafërta
- Ndërtimi i ATF.
Krijimi i një imazhi të kartës SD
- Gjeneroni UEFI Bootloader dhe FIP si në ndërtimin e UEFI Boot Loader dhe Gjenerimin e FIP.
- Ndërtoni Linux dhe rrënjë file sistemi i bazuar në udhëzimet në Rocketboard.
- Ndërtoni imazhin e kartës SD:
- Merrni skriptin make_image python dhe bëjeni atë të ekzekutueshëm
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- 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
- Përpilimi i kodit burimor UEFI me zinxhirin e mjeteve Linaro.
- Ndërtimi i ngarkuesit të nisjes UEFI.
Drejtimi i Monitorit të Sigurt
- Ndizeni bordin pasi të jetë futur karta SD.
- Hapni programuesin Quartus dhe programoni tabelën me .sof file gjeneruar në Gjenerimi i një .sof File me ATF.
- 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.
- Sigurohuni që të keni instaluar DS. Nisni eklipsin duke përdorur komandën e mëposhtme:
- arms_ide &
- Konfiguro lidhjen e re të korrigjimit
- Ilustrimi i hapit
- Ilustrimi i hapit
- 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.
- 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.
Booting Linux
Ky seksion ju tregon se si të nisni Linux pasi UEFI hyn në guaskën UEFI.
Nisja nga UEFI Shell
- Nisni bordin deri në guaskën UEFI, siç përshkruhet në Ekzekutimi i Monitorit të Sigurt.
- 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.
Historia 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:
|
2019.03.28 |
|
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 |