intel-logo

Intel UG-20080 Stratix 10 SoC UEFI Bootloader

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

Fetileview

Tokomane ena e fana ka tlhaiso-leseling e felletseng mabapi le Sesebelisoa sa Unified Extensible Firmware Interface (UEFI) bootloader bakeng sa Intel Stratix 10 SoC. Intel Stratix 10 SoC e fana ka phallo e sireletsehileng ea boot, e nang le

  • ROM ea ho qala
  • Motsamaisi oa sesebelisoa se sireletsehileng (SDM)
  • The Secure Monitor
  • Sesebelisoa sa bootloader sa UEFI

Intel Stratix 10 SoC e sireletsehileng ea boot flow e netefatsa hore mochini oa bootloader o saennoe ka senotlolo sa cryptographic, se tiisitsoeng ke firmware. The Secure Monitor stage boetse e sebelisa mokhoa oa TrustZone* oa karohano e sireletsehileng. Moetso ona o arola tikoloho ea software ka likarolo tse peli tse arohaneng, tse bitsoang lefatše le sireletsehileng le lefats'e le sa sireletsehang. Mafatše a mabeli a ka buisana feela ka Secure Monitor. Setšoantšo sa binary sa UEFI bootloader se ka bolokoa kareteng ea Quad SPI flash SD/MMC. Ha a le matla, mookameli oa sesebelisoa se sireletsehileng (SDM) o kenya Secure Monitor ka ho toba ho Hard processor System (HPS) ho-chip RAM. Ebe Secure Monitor e jarisa bootloader ea UEFI mohopolong oa HPS DDR.

The Secure Monitor mesebetsi kenyeletsa

  • Ho qala memori ea DDR SDRAM
  • Ho hlophisa lisebelisoa tsa boemo bo tlase, joalo ka PLL, IOs, le pin MUXes, tse hlokoang ke software ea lefats'e e sa sireletsehang.

Mesebetsi ea UEFI bootloader e kenyelletsa

  • Ho fana ka tšehetso ea Ethernet
  • E tšehetsa likarolo tsa motheo tsa tlhahlobo ea hardware
  • Ho lata software e latelang ea ho qala joalo ka sephutheloana sa sistimi e sebetsang kapa setšoantšo sa kernel.

Hlokomela: Bakeng sa boot e sa sireletsehang, sephutheloana sa tsamaiso ea ts'ebetso se ka kenyelletsa setšoantšo sa kernel, sefate sa sefate sa blob le filetsamaiso. Bakeng sa boot bo sireletsehileng e ka ba kernel e sireletsehileng.

UEFI Boot Flow Overview

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

Litlhoko tsa Tsamaiso

Ho kenya le ho kenya mochini oa bootloader oa Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), sistimi ea hau e tlameha ho fihlela litlhoko tse latelang.

Bonyane Litlhoko tsa Hardware

  • Sesebelisoa sa Linux se nang le tlhophiso e latelang:
    • Seteishene sa serial, joalo ka Minicom bakeng sa Linux
    • Slot ea karete ea microSD kapa sengoli sa karete ea MicroSD kapa sengoli se nang le bokhoni ba SD se nang le SD ho converter ea microSD

Bokhoni ba Sethala

  Linux
E khona ho bokella bootloader ea UEFI Ee
E khona ho bokella Secure Monitor Ee

Bonyane ba Litlhoko tsa Software

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 le holimo
  • Linaro aarch64-linux-gnu-gcc ketane ea lisebelisoa

Rea qala

Ho kenya Lisebelisoa tsa Software

Ho kenya Intel SoC EDS

  • U tlameha ho kenya Intel SoC EDS mochining oa hau.
  • Khoasolla Intel SoC EDS ho Setsi sa Khoasolla bakeng sa li-FPGA.

Ho kenya Compiler Toolchain

U kopanya mochini oa bootloader oa UEFI le Monitor e Sireletsehileng ka GNU Toolchain (eaBI Release) bakeng sa Arm* processors. U ka khoasolla GNU Toolchain leqepheng la download la Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Ho aha Sebui se Sireletsehileng

Ha ts'ireletso e ntse e e-ba bohlokoa le ho feta, tharollo ea boot e sireletsehileng e fetoha ntho e hlokahalang lefatšeng le kentsoeng. Ho netefatsa ts'ireletso e felletseng le sethala se tšeptjoang, karohano e sireletsehileng ea hlokahala. Sesebelisoa sa Intel Stratix 10 se fihlella karohano e sireletsehileng ka ho kenya ts'ebetsong mohlala oa TrustZone ka Arm Trusted Firmware (ATF). Moetso oa TrustZone o arola tikoloho ea komporo hore e be mafatše a mabeli a arohaneng, lefatše le sireletsehileng le lefats'e le tloaelehileng, tse hokahantsoeng ke sesebelisoa sa software se bitsoang Secure Monitor. Mafatše a mabeli a arotse sebaka sa liaterese tse utloahalang le li-peripherals. Puisano lipakeng tsa mafatše a mabeli e ka khoneha feela ka ho letsetsa taelo e khethehileng ea Secure Monitor call (SMC).

Tharollo e feletseng e sireletsehileng ea bootlamo ke

  • BootRom
  • Sireletsa Sesebelisoa sa Sesebelisoa
  • Secure Monitor
  • Uboot/UEFI
  • Hypervisor
  • OS

Secure Monitor mode ke mokhoa o khethehileng 'me o lula o sireletsehile ho sa tsotellehe boemo ba NS bit. Secure Monitor ke khoutu e tsamaeang ka mokhoa o Sireletsehileng oa Monitor mme e sebetsa ho ea le ho tsoa lefats'eng le Sireletsehileng. Tšireletseho ka kakaretso ea software e itšetlehile ka tšireletso ea khoutu ena hammoho le Sireletsehile khoutu ea boot.

Lintlha Tse Amanang

Lintlha tse akaretsang mabapi le Arm Trusted Firmware

Mosebelisi Configuration

U ka fumana litlhophiso tsohle tsa sethala ho arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Bakeng sa tlhophiso ea basebelisi, o tlameha ho fetola mehloli ea boot ho latela khetho ea hau. U khetha BOOT_SOURCE_SDMMC haeba o qala ho tsoa ho SDMMC kapa o khetha BOOT_SOURCE_QSPI ha o qala QSPI.

  • #define BOOT_SOURCE BOOT_SOURCE_SDMMC

Hlokomela: Ho fetola boot filelebitso kapa offset, o ka fetola #define ho sena file.

Ho Fumana Khoutu ea Mohloli oa Firmware e Tšepahalang

Mohloli oa ATF o ho GitHub. Ho fumana khoutu ea mohloli oa ATF, tsamaisa feela mehato e latelang

  1. Bula terminal.
  2. Theha lethathamo le lecha ho sheba khoutu ea mohloli oa ATF ho tsoa ho GitHub.
  3. Fetolela bukeng ena e sebetsang 'me u kopanye mohloli oa ATF ho tsoa lifateng tsa Git ka tsela e latelang:
  4. Ha o qetile, fetohela ho foldara e tšeptjoang-ea-firmware 'me u etse tlhahlobo ea Git ka tsela e latelang:
    • cd arm-trusted-firmware
    • git Checkout socfpga_v2.1

Lintlha Tse Amanang

  • Ho haha ​​​​ATF.
  • Ho bokella Khoutu ea Mohloli oa UEFI ka Chain ea Sesebelisoa sa Linaro.
  • Ho tsamaisa Monitor e Sireletsehileng.

Ho haha ​​​​ATF

Karolo ena e hlalosa mokhoa oa ho aha ATF ka motlalehi oa Linaro GCC. Ho qala ho aha ATF ka motlalehi oa Linaro GCC, tsamaisa feela mehato e latelang

  1. Fetola bukana ea hau sebakeng sa khoutu ea mohloli oa ATF ka tsela e latelang:
    • cd arm-trusted-firmware
  2. Beha tsela ea GCC le ho feto-fetoha ha tikoloho CROSS_COMPILE ho Linaro ho kopanya ka tsela e latelang: export PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • thomelontle ARCH=arm64
    • export CROSS_COMPILE=aarch64-linux-gnu-
  3. Tlosa sefate sa mohaho ka ho feletseng ka tsela e latelang:
    • hloekisa ka sebele
  4. Haha ATF ka ho sebelisa taelo e latelang:
    • etsa PLAT=stratix10 bl2 bl31
  5. Melaetsa e latelang e hlaha ha moaho oa ATF o atlehileintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. Tafole e ka tlase e thathamisa tlhahiso ea Secure Monitor files.

Litlhaloso tsa Secure Monitor Files

File Tsela le Lebitso Tlhaloso
\ haha ​​\ stratix10 \ lokolla \ bl31.bin E hlahisoang ke binary file
\ haha ​​\ stratix10 \ lokolla \ bl31 \ bl31.elf Elf e entsoeng file
\ haha ​​\ stratix10 \ lokolla \ bl2.bin E hlahisoang ke binary file
\ haha ​​\ stratix10 \ lokolla \ bl2 \ bl2.elf Elf e entsoeng file

Ho haha ​​​​UEFI Boot Loader

Ho aha mochini oa bootloader oa UEFI, o fumana khoutu ea mohloli oa UEFI ebe o bokella mohloli oa UEFI ka ketane ea lisebelisoa e tšehetsoeng.

Unified Extensible Firmware Interface (UEFI) ke mokhoa o hlophisitsoeng oa firmware o nolofatsang le ho boloka ts'ebetso ea sethala le ts'ebetso ea firmware bootstrap. Hona joale UEFI e ntse e ntlafatsoa le ho tšehetsoa ke baemeli ba lik'hamphani tse fetang 250 tsa theknoloji tse etellang pele indastering. Arm le Linaro Enterprise Group le tsona li khothaletsa tšebeliso ea UEFI meahong ea Arm hobane litlhaloso tsa UEFI li thusa ho tiisa ts'ebetso ea boot bakeng sa li-platform tse thehiloeng ho Arm processor. Theknoloji ea UEFI e pakoa nakong e tlang ka maemo a moralo oa firmware ho fapana le moralo oa firmware oa mong'a ntlo. Litlhaloso tsa UEFI li khothaletsa katleho ea khoebo le thekenoloji, ho ntlafatsa ts'ebetso le ts'ireletso, ho thusa ho sebelisana pakeng tsa lisebelisoa, sethala le litsamaiso le ho latela mahlale a morao-rao. Tlhaloso ea UEFI ke peer-reviewed le ho phatlalatsoa, ​​​​ho lumella bahlahisi ho ngola firmware hang ka sethala le ho e sebelisa hape ntle le liphetoho tse ngata. Tšebeliso ena hape e fella ka ho boloka litšenyehelo le nako nakong ea ntlafatso ea bootloader. Moralo ona o sebelisa laesense ea BSD, e u lumellang hore u iketsetse khoebo ts'ebetsong ea hau ka litaba tse fokolang tsa molao. U ka bokella khoutu ea mohloli oa UEFI ebang ke Windows kapa tsamaisong ea Linux.

Lintho tse hlokahalang

Ho aha UEFI ho hloka liphutheloana tse ling tsa Linux. Ho ipapisitse le kabo ea hau ea Linux, taelo ea ho kenya liphutheloana e fapane:

Haeba u sebelisa kabo ea Ubuntu, thaepa

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

Haeba u sebelisa phepelo ea Fedora, thaepa

  • sudo yum kenya uuid-devel libuuid-devel

Bakeng sa ho aha UEFI, sephutheloana sa Python sea hlokahala. Haeba Python ha e so fumanehe ho sistimi ea hau, ho tsamaisa litaelo tse tsoang ho SoC EDS Embedded Command Shell e fana ka ts'epo e hlokahalang ea Python.

Ho fumana Khoutu ea Mohloli oa UEFI

Khoutu ea mohloli oa UEFI e fumaneha ho GitHub. Mehato e latelang e u bontša mokhoa oa ho fumana khoutu ea mohloli oa UEFI.

  1. Bula terminal.
  2. Tlosa mohloli oa UEFI ho tsoa lifateng tsa Git.
  3. Ha o qetile, fetohela foldareng ea edk2 'me u etse tlhahlobo ea Git.
    • cd edk2
    • git Checkout socfpga_udk201905

Khoutu ea mohloli oa sethala sa edk2 e fumaneha ho GitHub. Ho fumana khoutu ea mohloli oa sethala sa edk2

Ho bokella Khoutu ea Mohloli oa UEFI ka Chain ea Sesebelisoa sa Linaro

Karolo ena e hlalosa mokhoa oa ho bokella khoutu ea mohloli oa UEFI le Linaro toolchain tsamaisong ea Linux

  1. Bula terminal ebe u kenya taelo e latelang:
    • cd
    • thomelontle PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • export CROSS_COMPILE= aarch64-linux-gnu-
    • thomelontle ARCH=arm64
    • export GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. Hlophisa EDK_TOOLS_PATH:
    • romela kantle EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. Beha PACKAGES_PATH ho supa sebaka sa polokelo:
    • kantle ho naha PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. Lokisa WORKSPACE:
    • kantle ho naha MOSEBETSI OA = $PWD
  5. Hlophisa tikoloho ea kaho:
    • edk2/edksetup.sh
  6. Haha BaseTools (netefatsa hore lisebelisoa tsa python li kentsoe):
    • etsa -C edk2/BaseTools
  7. Kopanya bootloader ea UEFI ka ho kenya taelo e latelang:
    • haha -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. Terminal ea hau e bonts'a molaetsa oa "Build Done" kamora hore UEFI e hlophisitsoe ka katleho.
UEFI E hlahisitsoe Files

Ho bokella khoutu ea mohloli oa UEFI ho etsa tse latelang files ho foldareng ea /Build/ Stratix10SoCPkg/RELEASE_GCC48:

UEFI E hlahisitsoe Files

File Tlhaloso
INTELSTRATIX10_EFI.fd Sena file ke UEFI bootloader ea ho bulela khetla ea UEFI le ho nolofalletsa tšobotsi ea ethernet kapa ho tsamaisa sesebelisoa sa UEFI
Ho hlahisa FIP

FIP ke moroalo oo ATF's BL2 e o jarang ho RAM ebe oa etsoa. FIP e na le binary bakeng sa BL31 le UEFI bootloader, le setshelo seo BL2 e se hlokomelang.

Ho theha FIP, latela litaelo tsena

  • ho romela kantle ho naha ARCH = ARM64
  • export CROSS_COMPILE= aarch64-linux-gnu-
  • cd

Theha FIP ka ho sebelisa taelo e latelang

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

E tsamaisa UEFI ho Intel Stratix 10 Hardware

Ho matha ka Boto ea 'mele e nang le ATF le UEFI Bootloader

Karolo ena e hlalosa mokhoa oa ho tsamaisa Secure Monitor ka boto ea 'mele.

Hlahisa .sof file ka ATF

  1. Fumana .sof file ho tsoa ho $SOCEDS_DEST_ROOT bukana ea ho kenya.
  2. Fetola binary file bl2.bin, e hlahisitsoeng ho Haha ATF.
    • aarch64-linux-gnu-objcopy -I binary -O ihex - \-fetola-liaterese 0xffe00000 bl2.bin bl2.hex
  3. Kenyelletsa bootloader ho .sof file ka mokoa o latelang:
    • 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

Lintlha Tse Amanang

  • Ho haha ​​​​ATF.

Ho theha setšoantšo sa karete ea SD

  1. Hlahisa UEFI Bootloader le FIP joalo ka ho Aha UEFI Boot Loader le ho Hlahisa FIP.
  2. Haha Linux le motso file tsamaiso e thehiloeng ho litaelo tsa Rocketboard.
  3. Theha setšoantšo sa karete ea SD:
  • Fumana make_image python script 'me u etse hore e phethahale
  • Lokisetsa likarolo tsa karohano ea mafura:
    • mafura a mkdir && cd fat
    • cp /linux-socfpga/arch/arm64/boot/Image
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • Lokisetsa motso file litaba tsa karohano ea sistimi:
    • mkdir rootfs && cd rootfs
    • tar xf /gsrd-console-image-*.tar.xz
  • Theha setšoantšo sa karete ea 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
    • Setšoantšo,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • Hlokomela: Haeba u se u ntse u e-na le setšoantšo sa SD se nang le karohano ea A2, u ka nka sebaka sa FIP file ka taelo e ka tlase:
    • sudo dd haeba =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
Lintlha Tse Amanang
  • Ho bokella Khoutu ea Mohloli oa UEFI ka Chain ea Sesebelisoa sa Linaro.
  • Ho haha ​​​​UEFI Boot Loader.

Ho tsamaisa Monitor e Sireletsehileng

  1. Matlafatsa boto ka mor'a hore karete ea SD e kenngoe.
  2. Bula lenaneo la Quartus mme o hlophise boto ka .sof file hlahiswa ka Ho Hlahisa a.sof File ka ATF.

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

  • Boto e nyoloha ho tloha ho ATF ebe e jarisa bootloader ea UEFI ho qala khetla ea UEFI.

Lintlha Tse Amanang

  • Hlahisa .sof file ka ATF.
Ho rarolla bothata ka DS

Karolo ena e hlalosa mokhoa oa ho kenya bootloader ea ATF le UEFI ho boto ea 'mele ka DS.

  1. Netefatsa hore o kentse DS. Qala eclipse ka ho sebelisa taelo e latelang:
    • li-arms_ide &
  2. Beha khokahano e ncha ea ho lokisa bothata
    • Papiso ea Mohatointel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. Ka mor'a hore tlhophiso e phethe, ikopanye le sepheo.
    • Hlokomela: O tlameha ho hlophisa boto ka ghrd_1sx280lu2f50e2vg_hps_debug.sof pele o hokela ho sepheo.
  4. Ka har'a komporo ea taelo ea DS, u ka kenya mongolo oa debug o nang le litaba tse latelang ho khoasolla bootloader ea ATF le UEFI botong ea 'mele.

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

Ho qala Linux

Karolo ena e u bontša mokhoa oa ho qalisa Linux ka mor'a hore UEFI e kene ka har'a khetla ea UEFI.

Ho qala ho tsoa ho UEFI Shell

  1. Tlosa boto ho fihla ho khetla ea UEFI, joalo ka ha ho hlalositsoe ho Running the Secure Monitor.
  2. Hang ha khetla ea UEFI e kentsoe, kenya taelo e latelang ho boot Linux:
    • Setšoantšo dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 motso=/dev/mmcb

Hlokomela: Etsa bonnete ba hore setšoantšo sa Linux le dtb li bolokiloe kareteng ea SD.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4Nalane ea Tokomane ea Tokomane ea Intel Stratix 10 SoC UEFI Boot Loader Guide

Tokomane Version Liphetoho
2020.06.19 E ntlafalitse likarolo tse latelang:
  • Bonyane Litlhoko tsa Hardware
  • Bonyane ba Litlhoko tsa Software
  • Ho kenya Compiler Toolchain
  • Mosebelisi Configuration
  • Ho Fumana Khoutu ea Mohloli oa Firmware e Tšepahalang
  • Ho haha ​​​​ATF
  • Ho fumana Khoutu ea Mohloli oa UEFI
  • Ho fumana Khoutu ea Mohloli oa Sethala sa edk2
  • Ho bokella Khoutu ea Mohloli oa UEFI ka Chain ea Sesebelisoa sa Linaro
  • UEFI E hlahisitsoe Files
  • Hlahisa .sof file ka ATF
  • Ho theha setšoantšo sa karete ea SD
  • Ho rarolla bothata ka DS
  • Ho qala ho tsoa ho UEFI Shell
2019.03.28
  • E kentse karolo e ncha: Ho aha Sebui se Sireletsehileng ho hlalosa boots e ncha stage le tšireletso ea boot.
  • Karolo e ntlafalitsoeng: UEFI E hlahisitsoe Files.
  • E kentse karolo e ncha: E tsamaisa UEFI ho Intel Stratix 10 Hardware.
2017.06.19 Tokollo ea pele.

Intel Corporation. Litokelo tsohle li sirelelitsoe. Intel, logo ea Intel, le matšoao a mang a Intel ke matšoao a khoebo a Intel Corporation kapa lithuso tsa eona. Intel e tiisa ts'ebetso ea FPGA ea eona le lihlahisoa tsa semiconductor ho latela litlhaloso tsa hajoale ho latela waranti e tloaelehileng ea Intel empa e na le tokelo ea ho etsa liphetoho ho lihlahisoa le lits'ebeletso life kapa life ka nako efe kapa efe ntle le tsebiso. Intel ha e nke boikarabello kapa boikarabello bo hlahang ka lebaka la kopo kapa ts'ebeliso ea tlhahisoleseling efe kapa efe, sehlahisoa, kapa ts'ebeletso e hlalositsoeng mona ntle le ha ho lumellane ka ho hlaka ka lengolo ke Intel. Bareki ba Intel ba eletsoa ho fumana mofuta oa morao-rao oa litlhaloso tsa sesebelisoa pele ba itšetleha ka tlhahisoleseling efe kapa efe e phatlalalitsoeng le pele ba kenya liodara tsa lihlahisoa kapa lits'ebeletso. *Mabitso a mang le mabitso a mang a ka nkoa e le thepa ea ba bang.

ID: 683134
Mofuta: 2020.06.19

Litokomane / Lisebelisoa

Intel UG-20080 Stratix 10 SoC UEFI Bootloader [pdf] Bukana ea Mosebelisi
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

Litšupiso

Tlohela maikutlo

Aterese ea hau ea lengolo-tsoibila e ke ke ea phatlalatsoa. Libaka tse hlokahalang li tšoailoe *