Intel UG-20080 Stratix 10 SoC UEFI Boot Loader
Kuphelileview
Lo mbhalo uhlinzeka ngolwazi olubanzi ngesilayishi sokuqalisa se-Unified Extensible Firmware Interface (UEFI) se-Intel Stratix 10 SoC. I-Intel Stratix 10 SoC inikeza ukugeleza kwebhuthi okuphephile, okuhlanganisa
- I-ROM yokuqalisa
- Umphathi wedivayisi evikelekile (SDM)
- I-Secure Monitor
- Isilayishi sokuqalisa se-UEFI
Ukugeleza kwe-boot okuvikelekile kwe-Intel Stratix 10 SoC kuqinisekisa ukuthi isilayishi sesistimu yokuqalisa sisayinwe ngokhiye we-cryptographic, ogunyazwe i-firmware. I-Secure Monitor stagfuthi isebenzisa imodeli ye-TrustZone* yokuhlukanisa okuvikelekile. Le modeli ihlukanisa imvelo yesofthiwe ibe izingxenye ezimbili ezihlukene, ezibizwa ngokuthi umhlaba ovikelekile kanye nomhlaba ongavikelekile. Le mihlaba emibili ingaxhumana kuphela nge-Secure Monitor. Isithombe esinambambili sesilayishi sokuqalisa se-UEFI singagcinwa ekhadini le-Quad SPI flash SD/MMC. Ekufakeni amandla ebhodini, umphathi wedivayisi evikelekile (i-SDM) ulayisha i-Secure Monitor ngqo ku-Hard Processor System (HPS) ku-chip RAM. Bese i-Secure Monitor ilayisha i-UEFI boot loader kumemori ye-HPS DDR.
Imisebenzi ye-Secure Monitor ihlanganisa
- Iqalisa inkumbulo ye-DDR SDRAM
- Ilungiselela ihadiwe yezinga eliphansi, njenge-PLL, i-IOs, namaphinikhodi ama-MUX, adingwa isofthiwe yomhlaba engavikelekile
Imisebenzi ye-UEFI boot loader ihlanganisa
- Ihlinzeka ngosekelo lwe-Ethernet
- Isekela izici zokuxilonga zehadiwe eziyisisekelo
- Ilanda isofthiwe yokuqalisa elandelayo njengephakheji yesistimu yokusebenza noma isithombe se-kernel.
Qaphela: Nge-boot engavikelekile, iphakheji yesistimu yokusebenza ingafaka isithombe se-kernel, i-blob yesihlahla sedivayisi kanye fileuhlelo. Ukuze uthole i-boot evikelekile ingaba i-kernel evikelekile.
UEFI Boot Flow Overview
Izidingo Zesistimu
Ukuze ulayishe futhi usebenzise isilayishi sokuqalisa se-Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), isistimu yakho kufanele ihlangabezane nezimfuneko ezilandelayo.
Izidingo Ezincane Zekhompuyutha
- I-Linux workstation ngokucushwa okulandelayo:
- I-serial terminal, njenge-Minicom ye-Linux
- Isikhala sekhadi le-microSD noma umlobi wekhadi le-MicroSD noma umbhali onekhono we-SD one-SD kuya kusiguquli se-microSD
Amakhono Wenkundla
I-Linux | |
Iyakwazi ukuhlanganisa i-UEFI boot loader | Yebo |
Iyakwazi ukuhlanganisa i-Secure Monitor | Yebo |
Izidingo Ezincane Zesofthiwe
- I-Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 nangaphezulu
- I-Linaro aarch64-linux-gnu-gcc toolchain
Ukuqalisa
Ifaka Izingxenye Zesofthiwe
Ukufaka i-Intel SoC EDS
- Kufanele ufake i-Intel SoC EDS emshinini wakho.
- Landa i-Intel SoC EDS esikhungweni Sokulanda sama-FPGA.
Ukufaka i-Compiler Toolchain
Uhlanganisa isilayishi sokuqalisa se-UEFI kanye ne-Secure Monitor nge-GNU Toolchain (Ukukhishwa kwe-EABI) yama-Arm* Processors. Ungalanda i-GNU Toolchain ekhasini lokulanda le-Arm.
- I-Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Ukwakha I-Monitor Evikelekile
Njengoba ukuvikeleka kukhula kubaluleke kakhulu, isixazululo se-boot esivikelekile siba yimfuneko emhlabeni oshumekiwe. Ukuqinisekisa ukuvikeleka okuphelele kanye nenkundla ethembekile, ukuhlukaniswa okuvikelekile kuyadingeka. Idivayisi ye-Intel Stratix 10 izuza ukwahlukanisa okuvikelekile ngokusebenzisa imodeli ye-TrustZone nge-Arm Trusted Firmware (ATF). Imodeli ye-TrustZone ihlukanisa indawo yekhompuyutha ibe imihlaba emibili engayodwa, umhlaba ovikelekile nomhlaba ovamile, oxhunywe ukuqapha kwesofthiwe ebizwa ngokuthi i-Secure Monitor. Le mihlaba yomibili ihlukanise indawo yamakheli anengqondo kanye nama-peripherals. Ukuxhumana phakathi kwale mihlaba yomibili kungenzeka kuphela ngokubiza umyalo wekholi ye-Secure Monitor (SMC) enenhlanhla.
Isixazululo esigcwele sokuqalisa esivikelekile sithi
- I-BootRom
- Vikela Isiphathi Sedivayisi
- I-Monitor evikelekile
- Qalisa/UEFI
- I-Hypervisor
- OS
Imodi ye-Secure Monitor iyimodi enenhlanhla futhi ihlezi ivikelekile kungakhathaliseki ukuthi ukusiphi isimo sebhithi ye-NS. I-Secure Monitor ikhodi esebenza ngemodi ye-Secure Monitor futhi icubungula ishintshela futhi isuke emhlabeni Ovikelekile. Ukuphepha kukonke kwesofthiwe kuncike ekuvikelekeni kwale khodi kanye nekhodi yokuqalisa evikelekile.
Ulwazi Oluhlobene
Ulwazi olujwayelekile mayelana ne-Arm Trusted Firmware
Ukucushwa komsebenzisi
Ungathola konke ukulungiselelwa kwenkundla ku-arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Ngokucushwa komsebenzisi, kufanele uguqule imithombo yokuqalisa ngokusekelwe kokuncamelayo. Ukhetha i-BOOT_SOURCE_SDMMC uma iqalisa ku-SDMMC noma khetha BOOT_SOURCE_QSPI uma iqalisa ku-QSPI.
- #define BOOT_SOURCE BOOT_SOURCE_SDMMC
Qaphela: Ukuze ushintshe i-boot fileigama noma i-offset, ungashintsha okuthi #define kulokhu file.
Ukuthola Ikhodi Yomthombo We-Firmware Ethembekile
Umthombo we-ATF uku-GitHub. Ukuze uthole ikhodi yomthombo we-ATF, mane usebenzise izinyathelo ezilandelayo
- Vula itheminali.
- Dala uhla lwemibhalo olusha ukuze uhlole ikhodi yomthombo ye-ATF evela ku-GitHub.
- Shintshela kulolu hlu olusebenzayo futhi uhlanganise umthombo we-ATF osuka ezihlahleni ze-Git kanje:
- Uma usuqedile, shintshela kufolda ye-arm-trusted-firmware bese wenza ukuhlola kwe-Git kanje:
- cd arm-trusted-firmware
- git checkout socfpga_v2.1
Ulwazi Oluhlobene
- Ukwakha i-ATF.
- Ukuhlanganisa Ikhodi Yomthombo we-UEFI nge-Linaro Tool Chain.
- Ukusebenzisa i-Secure Monitor.
Ukwakha i-ATF
Lesi sigaba sichaza indlela yokwakha i-ATF ngomqoqi we-Linaro GCC. Ukuze uqale ukwakha i-ATF nge-Linaro GCC compiler, vele wenze izinyathelo ezilandelayo
- Shintsha uhla lwakho lwemibhalo lube indawo yekhodi yomthombo we-ATF ngendlela elandelayo:
- cd arm-trusted-firmware
- Setha indlela ye-GCC nokuguquguquka kwemvelo CROSS_COMPILE ukuya ku-Linaro hlanganisa ngale ndlela: thekelisa PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- thekelisa i-ARCH=arm64
- thekelisa CROSS_COMPILE=aarch64-linux-gnu-
- Susa isihlahla sokwakha ngokuphelele ngale ndlela elandelayo:
- hlanzeka ngempela
- Yakha i-ATF ngokusebenzisa umyalo olandelayo:
- yenza i-PLAT=stratix10 bl2 bl31
- Imilayezo elandelayo ivela lapho ukwakhiwa kwe-ATF kuphumelela
- Ithebula elingezansi libonisa ukuphuma kwe-Secure Monitor files.
Izincazelo ze-Secure Monitor Files
File Indlela Negama | Incazelo |
\build\stratix10\release\bl31.bin | Kukhiqizwe kanambambili file |
\ukwakha\stratix10\khulula\bl31\bl31.elf | I-elf eyakhiwe file |
\build\stratix10\release\bl2.bin | Kukhiqizwe kanambambili file |
\ukwakha\stratix10\khulula\bl2\bl2.elf | I-elf eyakhiwe file |
Ukwakha i-UEFI Boot Loader
Ukuze wakhe isilayishi sokuqalisa se-UEFI, uthola ikhodi yomthombo ye-UEFI futhi uhlanganise umthombo we-UEFI ngochungechunge lwamathuluzi asekelwe.
I-Unified Extensible Firmware Interface (UEFI) iyisimiso esimisiwe se-firmware esenza lula futhi sivikele ukuqaliswa kweplathifomu kanye nokusebenza kwe-firmware bootstrap. I-UEFI okwamanje ithuthukiswe futhi isekelwa abameleli abavela ezinkampanini zobuchwepheshe ezihamba phambili embonini ezingaphezu kuka-250. I-Arm kanye ne-Linaro Enterprise Group nazo zikhuthaza ukusetshenziswa kwe-UEFI ekwakhiweni kwe-Arm ngenxa yokuthi imininingwane ye-UEFI isiza ukumisa inqubo yokuqalisa yamapulatifomu asekelwe ku-Arm processor. Ubuchwepheshe be-UEFI bufakazelwa esikhathini esizayo ngokumiswa komklamo we-firmware esikhundleni sokuklanywa kwe-firmware yobunikazi. Imininingwane ye-UEFI ikhuthaza ukusebenza kahle kwebhizinisi nezobuchwepheshe, ithuthukisa ukusebenza nokuphepha, yenza kube lula ukusebenzisana phakathi kwamadivayisi, amapulatifomu namasistimu futhi ihambisane nobuchwepheshe besizukulwane esilandelayo. Ukucaciswa kwe-UEFI kungukuthi kontangaviewihlelwe futhi yashicilelwa, okuvumela abathuthukisi ukuthi babhale i-firmware kanye nengxenyekazi ngayinye futhi bayisebenzise kabusha ngaphandle kokuguqulwa okuningi. Lokhu kuphinda kusetshenziswe kuholela ezindlekweni nokonga kwesikhathi phakathi nokuthuthukiswa kwesilayishi sebhuthi. Lolu hlaka lusebenzisa ilayisense ye-BSD, olukuvumela ukuthi ukhethe ngokuthengisa ukusebenzisa kwakho ngezinkinga zomthetho ezincane. Ungakwazi ukuhlanganisa ikhodi yomthombo ye-UEFI kungaba ku-Windows noma ohlelweni lwe-Linux.
Okudingekayo
Ukwakha i-UEFI kudinga amaphakheji e-Linux engeziwe. Ngokuya ngokusatshalaliswa kwakho kwe-Linux, umyalo wokufaka amaphakheji uhlukile:
Uma usebenzisa ukusatshalaliswa kwe-Ubuntu, thayipha
- sudo apt-get ukufaka uuid-dev ukwakha-okubalulekile
Uma usebenzisa ukusatshalaliswa kwe-Fedora, thayipha
- sudo yum faka uuid-devel libuuid-devel
Ukwakha i-UEFI, iphakethe lePython liyadingeka. Uma i-Python ingatholakali ohlelweni lwakho, ukusebenzisa imiyalo evela ku-SoC EDS Embedded Command Shell inikeza ukuncika okudingekayo kwePython.
Ukuthola Ikhodi Yomthombo we-UEFI
Ikhodi yomthombo ye-UEFI itholakala ku-GitHub. Izinyathelo ezilandelayo zikukhombisa ukuthi ungayithola kanjani ikhodi yomthombo ye-UEFI.
- Vula itheminali.
- Vala umthombo we-UEFI ezihlahleni ze-Git.
- Uma usuqedile, shintshela kufolda ye-edk2 futhi wenze ukuphuma kwe-Git.
- cd ek2
- git checkout socfpga_udk201905
Ikhodi yomthombo yezingxenyekazi ze-edk2 itholakala ku-GitHub. Ukuze uthole ikhodi yomthombo yesikhulumi se-edk2
- git clone https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-platforms
- git checkout socfpga_udk201905
Ukuhlanganisa Ikhodi Yomthombo we-UEFI nge-Linaro Tool Chain
Lesi sigaba sichaza indlela yokuhlanganisa ikhodi yomthombo ye-UEFI ne-Linaro toolchain ohlelweni lwe-Linux
- Vula ukuphela bese ufaka umyalo olandelayo:
- cd
- thekelisa INDLELA= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- thekelisa CROSS_COMPILE= aarch64-linux-gnu-
- thekelisa i-ARCH=arm64
- thekelisa i-GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
- Setha i-EDK_TOOLS_PATH:
- thekelisa EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Setha i-PACKAGES_PATH ukuze ukhombe indawo yamakhosombe:
- thekelisa PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- Setha i-WORKSPACE:
- thekelisa INDAWO YOKUSEBENZA = $PWD
- Setha indawo yokwakha:
- edk2/edksetup.sh
- Yakha i-BaseTools (qinisekisa ukuthi amathuluzi e-python afakiwe):
- make -C edk2/BaseTools
- Hlanganisa i-UEFI bootloader ngokufaka umyalo olandelayo:
- ukwakha -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 YAKHA_IFLAGS -Y FIXED_ADDRESS
- Itheminali yakho ibonisa umlayezo othi “Yakha Kwenziwe” ngemva kokuhlanganiswa kwe-UEFI ngempumelelo.
I-UEFI Yakhiwe Files
Ukuhlanganisa ikhodi yomthombo ye-UEFI kudala okulandelayo files kufolda ethi /Build/ Stratix10SoCPkg/RELEASE_GCC48:
I-UEFI Yakhiwe Files
File | Incazelo |
INTELSTRATIX10_EFI.fd | Lokhu file iyi-bootloader ye-UEFI yokuqalisa igobolondo le-UEFI futhi inike amandla isici se-ethernet noma iqalise uhlelo lwe-UEFI |
Ukukhiqiza i-FIP
I-FIP umthwalo okhokhelwayo i-ATF's BL2 ewulayisha ku-RAM bese isetshenziswa. I-FIP iqukethe kanambambili ye-BL31 ne-UEFI bootloader, kanye nesiqukathi esibonwa yi-BL2.
Ukuze wakhe i-FIP, landela le miyalo
- thekelisa i-ARCH = ARM64
- thekelisa CROSS_COMPILE= aarch64-linux-gnu-
- cd
Yakha i-FIP ngokusebenzisa umyalo olandelayo
- yenza i-fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10
Isebenzisa i-UEFI ku-Intel Stratix 10 Hardware
Ukugijima ebhodini Lomzimba eline-ATF ne-UEFI Bootloader
Lesi sigaba sichaza indlela yokusebenzisa Imonitha Evikelekile ebhodini eliphathekayo.
Khiqiza i-.sof file nge-ATF
- Thola i-.sof file kusukela kunkomba yokufaka engu-$SOCEDS_DEST_ROOT.
- Guqula kanambambili file bl2.bin, ekhiqizwe Ekwakhiweni kwe-ATF.
- aarch64-linux-gnu-objcopy -I kanambambili -O ihex – \-shintsha-amakheli 0xffe00000 bl2.bin bl2.hex
- Faka i-bootloader ku-.sof file Ngokulandelayo:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof
Ulwazi Oluhlobene
- Ukwakha i-ATF.
Ukudala isithombe sekhadi le-SD
- Khiqiza i-UEFI Bootloader kanye ne-FIP njengasekwakheni i-UEFI Boot Loader kanye Nokukhiqiza i-FIP.
- Yakha i-Linux kanye nezimpande file uhlelo olusekelwe emiyalweni eku-Rocketboard.
- Yakha isithombe sekhadi le-SD:
- Thola iskripthi se-make_image python futhi usenze sisebenziseke
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- Lungiselela okuqukethwe kwe-fat partition:
- mkdir fat && cd fat
- cp /linux-socfpga/arch/arm64/boot/Image
- cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
- Lungisa impande file okuqukethwe kokuhlukaniswa kwesistimu:
- mkdir rootfs && cd rootfs
- qoma xf /gsrd-console-image-*.tar.xz
- Dala isithombe sekhadi le-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
- Isithombe,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
- Qaphela: Uma usuvele unesithombe se-SD esine-A2 partition, ungakwazi esikhundleni se-FIP file ngomyalo ongezansi:
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- Ukuhlanganisa Ikhodi Yomthombo we-UEFI nge-Linaro Tool Chain.
- Ukwakha i-UEFI Boot Loader.
Ukusebenzisa i-Secure Monitor
- Nika amandla ibhodi ngemva kokufakwa kwekhadi le-SD.
- Vula i-Quartus programmer bese uhlela ibhodi nge-.sof file ekhiqizwe kokuthi Ukwenza i-.sof File nge-ATF.
- Ibhodi lisuka ku-ATF bese lilayisha ngokuzenzakalelayo i-UEFI bootloader ukuze iqalise igobolondo le-UEFI.
Ulwazi Oluhlobene
- Khiqiza i-.sof file nge-ATF.
Ukulungisa iphutha nge-DS
Lesi sigaba sichaza indlela yokulayisha i-ATF ne-UEFI bootloader ebhodini eliphathekayo nge-DS.
- Qinisekisa ukuthi uyifakile i-DS. Yethula ukusitheka kwelanga usebenzisa umyalo olandelayo:
- i-arms_ide &
- Setha uxhumano olusha lokususa iphutha
- Isinyathelo Umfanekiso
- Isinyathelo Umfanekiso
- Ngemuva kokuthi ukumisa kuqediwe, xhuma kokuqondisiwe.
- Qaphela: Kumelwe uhlele ibhodi ngokuthi ghrd_1sx280lu2f50e2vg_hps_debug.sof ngaphambi kokuxhuma kokuhlosiwe.
- Kukhonsoli yomyalo we-DS, ungalayisha iskripthi sokususa iphutha esinokuqukethwe okulandelayo ukuze ulande i-ATF ne-UEFI bootloader ebhodini elibonakalayo.
Iqalisa i-Linux
Lesi sigaba sikhombisa indlela yokuqalisa i-Linux ngemuva kokuthi i-UEFI ifake igobolondo le-UEFI.
Ukuqalisa kusuka ku-UEFI Shell
- Qalisa ibhodi kuze kufike kugobolondo le-UEFI, njengoba kuchazwe kokuthi Running the Secure Monitor.
- Lapho igobolondo le-UEFI selilayishiwe, faka umyalo olandelayo ukuze uqalise i-Linux:
- Isithombe dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb
Qaphela: Qiniseka ukuthi isithombe se-Linux ne-dtb kugcinwe ekhadini le-SD.
Umlando Wokubuyekeza Idokhumenti we-Intel Stratix 10 SoC UEFI Umhlahlandlela Womsebenzisi Wokulayisha I-Boot Loader
Inguqulo Yedokhumenti | Izinguquko |
2020.06.19 | Kubuyekezwe izigaba ezilandelayo:
|
2019.03.28 |
|
2017.06.19 | Ukukhishwa kokuqala. |
Inkampani ye-Intel Wonke Amalungelo Agodliwe. I-Intel, ilogo ye-Intel, nezinye izimpawu ze-Intel yizimpawu zokuthengisa ze-Intel Corporation noma izinkampani ezingaphansi kwayo. I-Intel iqinisekisa ukusebenza kwe-FPGA yayo kanye nemikhiqizo ye-semiconductor ekucacisweni kwamanje ngokuvumelana newaranti evamile ye-Intel kodwa igodla ilungelo lokwenza izinguquko kunoma imiphi imikhiqizo namasevisi nganoma yisiphi isikhathi ngaphandle kwesaziso. I-Intel ayithathi mthwalo noma isikweletu esivele ngenxa yesicelo noma ukusetshenziswa kwanoma yiluphi ulwazi, umkhiqizo, noma isevisi echazwe lapha ngaphandle kwalapho okuvunyelwene ngakho ngokubhaliwe yi-Intel. Amakhasimende e-Intel ayelulekwa ukuthi athole inguqulo yakamuva yokucaciswa kwedivayisi ngaphambi kokuthembela kunoma yiluphi ulwazi olushicilelwe nangaphambi kokufaka ama-oda emikhiqizo noma amasevisi. *Amanye amagama namabhrendi angafunwa njengempahla yabanye.
I-ID: 683134
Inguqulo: 2020.06.19
Amadokhumenti / Izinsiza
![]() |
Intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] Umhlahlandlela Womsebenzisi UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader |