Intel logo

Intel UG-20080 Stratix 10 SoC UEFI Boot Loader

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

Zathaview

Chikalatachi chimapereka chidziwitso chokwanira pa Unified Extensible Firmware Interface (UEFI) bootloader ya Intel Stratix 10 SoC. Intel Stratix 10 SoC imapereka kuthamanga kwa boot kotetezeka, kophatikiza

  • ROM yoyambira
  • Woyang'anira zida zotetezedwa (SDM)
  • The Secure Monitor
  • The UEFI bootloader

Kuthamanga kwa boot kwa Intel Stratix 10 SoC kotetezedwa kumatsimikizira kuti bootloader ya system imasainidwa ndi kiyi ya cryptographic, yotsimikiziridwa ndi firmware. The Secure Monitor stagimagwiritsanso ntchito mtundu wa TrustZone* wogawika bwino. Chitsanzochi chimagawaniza chilengedwe cha mapulogalamu mu magawo awiri akutali, otchedwa dziko lotetezeka ndi dziko lopanda chitetezo. Maiko awiriwa amatha kulumikizana wina ndi mnzake kudzera mu Secure Monitor. Chithunzi cha binary cha UEFI boot loader chikhoza kusungidwa pa Quad SPI flash SD/MMC khadi. Powonjezera mphamvu, woyang'anira chipangizo chotetezedwa (SDM) amanyamula Secure Monitor molunjika pa Hard processor System (HPS) pa-chip RAM. Kenako Secure Monitor imanyamula UEFI bootloader mu HPS DDR memory.

Ntchito za Secure Monitor zikuphatikiza

  • Kuyambitsa kukumbukira kwa DDR SDRAM
  • Kukonza zida zotsika, monga PLL, IOs, ndi pini MUXes, zofunika ndi pulogalamu yapadziko lonse lapansi yopanda chitetezo.

Ntchito za UEFI bootloader zikuphatikiza

  • Kupereka chithandizo cha Ethernet
  • Kuthandizira zofunikira zowunikira ma hardware
  • Kutenga pulogalamu yoyambira yoyambira monga phukusi la opareshoni kapena chithunzi cha kernel.

Zindikirani: Kwa boot yopanda chitetezo, phukusi la opaleshoni likhoza kuphatikizapo chithunzi cha kernel, blob ya mtengo wa chipangizo ndi filedongosolo. Kwa boot yotetezeka ikhoza kukhala kernel yotetezeka.

UEFI Boot Flow Overview

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

Zofunikira pa System

Kuti mutsegule ndikuyendetsa chojambulira cha Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), makina anu ayenera kukwaniritsa izi.

Zofunikira Zochepa Za Hardware

  • Linux workstation ndi masinthidwe awa:
    • Seri terminal, monga Minicom ya Linux
    • MicroSD khadi slot kapena microSD khadi wolemba kapena SD wolemba SD ndi SD kuti microSD converter

Maluso a nsanja

  Linux
Kutha kuphatikiza UEFI bootloader Inde
Mutha kupanga Secure Monitor Inde

Zofunika Zochepa Zamapulogalamu

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 ndi pamwambapa
  • Linaro aarch64-linux-gnu-gcc toolchain

Kuyambapo

Kuyika Mapulogalamu a Mapulogalamu

Kuyika Intel SoC EDS

  • Muyenera kukhazikitsa Intel SoC EDS pamakina anu.
  • Tsitsani Intel SoC EDS kuchokera ku Download Center ya FPGAs.

Kukhazikitsa Compiler Toolchain

Mumaphatikiza chojambulira chojambulira cha UEFI ndi Secure Monitor ndi GNU Toolchain (EABI Release) ya Arm* processors. Mutha kutsitsa GNU Toolchain kuchokera patsamba lotsitsa la Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Kumanga Monitor Yotetezedwa

Pamene chitetezo chimakhala chofunikira kwambiri, njira yothetsera boot yotetezedwa imakhala yofunikira m'dziko lophatikizidwa. Kuonetsetsa chitetezo chokwanira komanso nsanja yodalirika, magawo otetezedwa amafunikira. Chipangizo cha Intel Stratix 10 chimakwaniritsa magawo otetezeka pogwiritsa ntchito mtundu wa TrustZone wokhala ndi Arm Trusted Firmware (ATF). Mtundu wa TrustZone umagawanitsa malo apakompyuta kukhala maiko awiri akutali, dziko lotetezeka komanso dziko labwinobwino, lomwe limalumikizidwa ndi pulogalamu yowunikira pulogalamu yotchedwa Secure Monitor. Maiko awiriwa alekanitsa malo omveka bwino adilesi ndi zotumphukira. Kulankhulana pakati pa mayiko awiriwa kumatheka poyimba foni yamwayi ya Secure Monitor call (SMC).

Yankho lathunthu lotetezedwa la boot ndi

  • BootRom
  • Tetezani Woyang'anira Chipangizo
  • Safe Monitor
  • Uboot/UEFI
  • Hypervisor
  • OS

Secure Monitor mode ndi mwayi wapadera ndipo nthawi zonse imakhala yotetezeka mosasamala kanthu za momwe NS bit. The Secure Monitor ndi kachidindo kamene kamayendera mu Secure Monitor mode ndikusintha kupita kudziko Lotetezedwa. Chitetezo chonse cha pulogalamuyo chimadalira chitetezo cha code iyi pamodzi ndi Safe boot code.

Zambiri Zogwirizana

Zambiri za Arm Trusted Firmware

Kusintha kwa Wogwiritsa

Mutha kupeza masanjidwe onse a nsanja mu arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Pakusintha kwa ogwiritsa ntchito, muyenera kusintha magwero a boot potengera zomwe mumakonda. Mumasankha BOOT_SOURCE_SDMMC ngati yayamba kuchokera ku SDMMC kapena sankhani BOOT_SOURCE_QSPI ngati yayamba kuchokera ku QSPI.

  • #define BOOT_SOURCE BOOT_SOURCE_SDMMC

Zindikirani: Kusintha boot filedzina kapena kuchotsera, mutha kusintha #define mu izi file.

Kupeza Arm Trusted Firmware Source Code

Gwero la ATF lili ku GitHub. Kuti mupeze nambala yoyambira ya ATF, ingoyendetsani njira zotsatirazi

  1. Tsegulani potherapo.
  2. Pangani chikwatu chatsopano kuti muwone kachidindo ka ATF kuchokera ku GitHub.
  3. Sinthani ku bukhuli logwira ntchito ndikusintha gwero la ATF kuchokera ku mitengo ya Git motere:
  4. Mukamaliza, sinthani ku foda yodalirika-yodalirika ndikuchita Git fufuzani motere:
    • cd arm-trusted-firmware
    • git Checkout socfpga_v2.1

Zambiri Zogwirizana

  • Kupanga ATF.
  • Kupanga UEFI Source Code ndi Linaro Tool Chain.
  • Kuthamanga Monitor Yotetezedwa.

Kupanga ATF

Gawoli likufotokoza momwe mungamangire ATF ndi makina ojambulira a Linaro GCC. Kuti muyambe kumanga ATF ndi makina a Linaro GCC, ingoyendetsani njira zotsatirazi

  1. Sinthani chikwatu chanu kukhala malo a ATF source code motere:
    • cd arm-trusted-firmware
  2. Khazikitsani njira ya GCC ndi kusintha kwa chilengedwe CROSS_COMPILE kupita ku Linaro phatikizani motere: export PATH= /\gcc-arm-8.3-2019.03-x86_64-arch64-linux-gnu/bin/:$PATH
    • kutumiza kunja ARCH=arm64
    • kutumiza kunja CROSS_COMPILE=aarch64-linux-gnu-
  3. Chotsani mtengo womanga kwathunthu motere:
    • yeretsani kwenikweni
  4. Pangani ATF pogwiritsa ntchito lamulo ili:
    • kupanga PLAT=stratix10 bl2 bl31
  5. Mauthenga otsatirawa amawonekera pamene kumanga kwa ATF kwapambanaintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Tebulo ili m'munsiyi limatchula zotsatira za Secure Monitor files.

Mafotokozedwe a Secure Monitor Files

File Njira ndi Dzina Kufotokozera
\build\stratix10\release\bl31.bin Wopanga binary file
\ kumanga\stratix10\kutulutsa\bl31\bl31.elf Wopangidwa elf file
\build\stratix10\release\bl2.bin Wopanga binary file
\ kumanga\stratix10\kutulutsa\bl2\bl2.elf Wopangidwa elf file

Kupanga UEFI Boot Loader

Kuti mupange chojambulira cha boot cha UEFI, mumapeza code ya UEFI ndikuphatikiza gwero la UEFI ndi chida chothandizira.

Unified Extensible Firmware Interface (UEFI) ndi ndondomeko yokhazikika ya firmware yomwe imathandizira ndikuteteza kuyambika kwa nsanja ndi ntchito za firmware bootstrap. UEFI pakali pano ikupangidwa ndikuthandizidwa ndi oimira ochokera kumakampani otsogola aukadaulo a 250. Arm ndi Linaro Enterprise Group akulimbikitsanso kugwiritsa ntchito UEFI pa zomangamanga za Arm chifukwa mafotokozedwe a UEFI amathandizira kukhazikika kwa boot kwa nsanja zokhazikitsidwa ndi Arm. Ukadaulo wa UEFI umatsimikiziridwa mtsogolo kudzera pakukhazikika kwa kapangidwe ka firmware m'malo motengera kamangidwe ka firmware. Mafotokozedwe a UEFI amalimbikitsa bizinesi ndi luso laukadaulo, kukonza magwiridwe antchito ndi chitetezo, kumathandizira kuyanjana pakati pa zida, nsanja ndi machitidwe ndikutsata ukadaulo wam'badwo wotsatira. Mafotokozedwe a UEFI ndi peer-reviewed ndi kusindikizidwa, kulola opanga kuti alembe firmware kamodzi papulatifomu ndikuigwiritsanso ntchito popanda kusinthidwa kwambiri. Kugwiritsanso ntchito uku kumabweretsa ndalama komanso kupulumutsa nthawi panthawi yopanga bootloader. Dongosololi limagwiritsa ntchito layisensi ya BSD, kukulolani kuti mugulitse zomwe mwasankha ndizovuta zamalamulo. Mutha kupanga code ya UEFI mu Windows kapena Linux.

Zofunikira

Kumanga UEFI kumafuna ma phukusi owonjezera a Linux. Kutengera kugawa kwanu kwa Linux, lamulo loyika mapaketilo ndi losiyana:

Ngati mukugwiritsa ntchito kugawa kwa Ubuntu, lembani

  • sudo apt-get kukhazikitsa uuid-dev kumanga-kofunika

Ngati mukugwiritsa ntchito kugawa kwa Fedora, lembani

  • sudo yum kukhazikitsa uuid-devel libuuid-devel

Kuti mumange UEFI, phukusi la Python likufunika. Ngati Python sichipezeka kale pamakina anu, kuyendetsa malamulo kuchokera ku SoC EDS Embedded Command Shell kumapereka kudalira kwa Python komwe kumafunikira.

Kupeza UEFI Source Code

Khodi yochokera ku UEFI ili ku GitHub. Njira zotsatirazi zikuwonetsani momwe mungapezere nambala yoyambira ya UEFI.

  1. Tsegulani potherapo.
  2. Tsatani gwero la UEFI kuchokera kumitengo ya Git.
  3. Mukamaliza, sinthani ku chikwatu cha edk2 ndikuchita zotuluka za Git.
    • cd ndi 2
    • git Checkout socfpga_udk201905

Nambala yochokera pamapulatifomu a edk2 ili ku GitHub. Kuti mupeze gwero la nsanja za edk2

Kupanga UEFI Source Code ndi Linaro Tool Chain

Gawoli likufotokoza momwe mungapangire code ya UEFI ndi Linaro toolchain mu Linux system

  1. Tsegulani malo ogwiritsira ntchito ndikulemba lamulo ili:
    • cd
    • kutumiza kunja PATH= /\gcc-arm-8.3-2019.03-x86_64-arch64-linux-gnu/bin/:$PATH
    • kutumiza kunja CROSS_COMPILE= aarch64-linux-gnu-
    • kutumiza kunja ARCH=arm64
    • kutumiza kunja GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Konzani EDK_TOOLS_PATH:
    • kutumiza kunja EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Konzani PACKAGES_PATH kuti muloze komwe kuli nkhokwe:
    • kutumiza PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. Konzani WORKSPACE:
    • kutumiza kunja WORKSPACE = $PWD
  5. Konzani malo omangira:
    • edk2/edksetup.sh
  6. Pangani Zida Zoyambira (onetsetsani kuti zida za python zayikidwa):
    • kupanga -C edk2/BaseTools
  7. Lembani UEFI bootloader polemba lamulo ili:
    • build -a AARCH64 -p Platform/Intel/Stratix10/Stratix10SoCPkg.dsc -t GCC48-b DEBUG -y report.log -j build.log -Y PCD -Y LIBRARY -Y FLASH -Y DEPEX -Y BUILD_FLAGS -Y FIXED_ADDRESS
  8. Ma terminal anu amawonetsa uthenga wa "Build Done" UEFI itapangidwa bwino.
UEFI Yopangidwa Files

Kupanga code ya UEFI kumapanga zotsatirazi files mu /Build/ Stratix10SoCPkg/RELEASE_GCC48 chikwatu:

UEFI Yopangidwa Files

File Kufotokozera
INTELSTRATIX10_EFI.fd Izi file ndi UEFI bootloader kuti muyambitse chipolopolo cha UEFI ndikuyambitsa mawonekedwe a ethernet kapena kugwiritsa ntchito UEFI
Kupanga FIP

FIP ndiye ndalama zomwe ATF's BL2 imanyamula mu RAM ndikuzipereka. FIP ili ndi binary ya BL31 ndi UEFI bootloader, ndi chidebe chomwe BL2 chimazindikira.

Kuti mupange FIP, tsatirani malamulo awa

  • kutumiza kunja ARCH = ARM64
  • kutumiza kunja CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Pangani FIP pogwiritsa ntchito lamulo ili

  • kupanga fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

Kuthamanga UEFI pa Intel Stratix 10 Hardware

Kuthamanga pa Physical Board yokhala ndi ATF ndi UEFI Bootloader

Gawoli likufotokoza momwe mungayendetsere Secure Monitor pa bolodi lakuthupi.

Pangani a .sof file ndi ATF

  1. Pezani a.sof file kuchokera pamndandanda woyika $SOCEDS_DEST_ROOT.
  2. Sinthani binary file bl2.bin, yopangidwa mu Kumanga ATF.
    • aarch64-linux-gnu-objcopy -I binary -O ihex - \ -kusintha-maadiresi 0xffe00000 bl2.bin bl2.hex
  3. Phatikizani ndi bootloader mu .sof file motere:
    • 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

Zambiri Zogwirizana

  • Kupanga ATF.

Kupanga chithunzi cha SD Card

  1. Pangani UEFI Bootloader ndi FIP monga Kumanga UEFI Boot Loader ndi Kupanga FIP.
  2. Pangani Linux ndi mizu file dongosolo kutengera malangizo mu Rocketboard.
  3. Pangani chithunzi cha khadi la SD:
  • Pezani make_image python script ndikupangitsa kuti ikwaniritsidwe
  • Konzani zomwe zili mugawo la mafuta:
    • mkdir mafuta && cd mafuta
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Konzani muzu file magawo a dongosolo:
    • mkdir rootfs && cd rootfs
    • nsi xf /gsrd-console-image-*.tar.xz
  • Pangani chithunzi cha khadi la 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
    • Chithunzi,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Zindikirani: Ngati muli ndi chithunzi cha SD chokhala ndi gawo la A2, mutha kusintha FIP file ndi lamulo ili pansipa:
    • sudo dd ngati =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Zambiri Zogwirizana
  • Kupanga UEFI Source Code ndi Linaro Tool Chain.
  • Kupanga UEFI Boot Loader.

Kuthamanga Monitor Yotetezedwa

  1. Limbikitsani bolodi khadi la SD litayikidwa.
  2. Tsegulani pulogalamu ya Quartus ndikukonzekera bolodi ndi .sof file opangidwa mu Kupanga a .sof File ndi ATF.

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

  • Bolodi imayambira kuchokera ku ATF ndikungonyamula UEFI bootloader kuti iyambitse chipolopolo cha UEFI.

Zambiri Zogwirizana

  • Pangani a .sof file ndi ATF.
Kuthetsa vuto ndi DS

Gawoli likufotokoza momwe mungayikitsire ATF ndi UEFI bootloader ku bolodi lakuthupi kudzera pa DS.

  1. Onetsetsani kuti mwayika DS. Yambitsani kadamsana pogwiritsa ntchito lamulo ili:
    • armds_ide &
  2. Khazikitsani kulumikizana kwatsopano kosokoneza
    • Masitepe Chitsanzointel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Mukamaliza kukonza, lumikizani ku chandamale.
    • Zindikirani: Muyenera kukonza bolodi ndi ghrd_1sx280lu2f50e2vg_hps_debug.sof musanalumikizane ndi chandamale.
  4. Mu DS command console, mutha kuyika zolemba zowongolera zomwe zili ndi zotsatirazi kuti mutsitse ATF ndi UEFI bootloader ku bolodi lakuthupi.

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

Kuyambitsa Linux

Gawoli likuwonetsani momwe mungayambitsire Linux pambuyo pa UEFI kulowa mu chipolopolo cha UEFI.

Kuwombera kuchokera ku UEFI Shell

  1. Yambirani bolodi ku chipolopolo cha UEFI, monga tafotokozera mu Running the Secure Monitor.
  2. Chipolopolo cha UEFI chikatsegulidwa, lowetsani lamulo ili kuti muyambitse Linux:
    • Chithunzi dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb

Zindikirani: Onetsetsani kuti chithunzi cha Linux ndi dtb zasungidwa mu SD khadi.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Mbiri Yokonzanso Zolemba za Intel Stratix 10 SoC UEFI Boot Loader User Guide

Document Version Zosintha
2020.06.19 Adasintha magawo otsatirawa:
  • Zofunikira Zochepa Za Hardware
  • Zofunika Zochepa Zamapulogalamu
  • Kukhazikitsa Compiler Toolchain
  • Kusintha kwa Wogwiritsa
  • Kupeza Arm Trusted Firmware Source Code
  • Kupanga ATF
  • Kupeza UEFI Source Code
  • Kupeza edk2 Platform Source Code
  • Kupanga UEFI Source Code ndi Linaro Tool Chain
  • UEFI Yopangidwa Files
  • Pangani a .sof file ndi ATF
  • Kupanga chithunzi cha SD Card
  • Kuthetsa vuto ndi DS
  • Kuwombera kuchokera ku UEFI Shell
2019.03.28
  • Adawonjeza gawo latsopano: Kumanga Monitor Yotetezedwa kufotokoza boot yatsopano stage ndi chitetezo boot.
  • Gawo losinthidwa: UEFI Yopangidwa Files.
  • Adawonjeza gawo latsopano: Kuthamanga UEFI pa Intel Stratix 10 Hardware.
2017.06.19 Kutulutsidwa koyamba.

Malingaliro a kampani Intel Corporation Maumwini onse ndi otetezedwa. Intel, logo ya Intel, ndi zizindikiro zina za Intel ndi zizindikiro za Intel Corporation kapena mabungwe ake. Intel imatsimikizira kugwira ntchito kwa FPGA yake ndi zinthu zopangira semiconductor malinga ndi zomwe zilipo malinga ndi chitsimikizo cha Intel koma ili ndi ufulu wosintha zinthu zilizonse ndi ntchito nthawi iliyonse popanda kuzindikira. Intel sakhala ndi udindo kapena udindo chifukwa chakugwiritsa ntchito kapena kugwiritsa ntchito zidziwitso zilizonse, malonda, kapena ntchito zomwe zafotokozedwa pano kupatula monga momwe Intel adavomerezera momveka bwino. Makasitomala a Intel amalangizidwa kuti apeze mtundu waposachedwa kwambiri wamakina a chipangizocho asanadalire zidziwitso zilizonse zosindikizidwa komanso asanayike maoda azinthu kapena ntchito. *Mayina ena ndi mtundu zitha kunenedwa kuti ndi za ena.

ID: 683134
Mtundu: 2020.06.19

Zolemba / Zothandizira

Intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] Buku Logwiritsa Ntchito
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *