ໂລໂກ້ Intel

intel UG-20080 Stratix 10 SoC UEFI Boot Loader

intel-UG-20080-Stratix-10-SoC -Boot-Loader-ຜະລິດຕະພັນ

ເກີນview

ເອກະສານນີ້ໃຫ້ຂໍ້ມູນທີ່ສົມບູນແບບກ່ຽວກັບ Unified Extensible Firmware Interface (UEFI) boot loader ສໍາລັບ Intel Stratix 10 SoC. Intel Stratix 10 SoC ສະຫນອງການໄຫຼເຂົ້າເກີບທີ່ປອດໄພ, ປະກອບດ້ວຍ

  • ROM boot
  • ຕົວຈັດການອຸປະກອນທີ່ປອດໄພ (SDM)
  • The Secure Monitor
  • UEFI boot loader

Intel Stratix 10 SoC secure boot flow ຮັບປະກັນວ່າຕົວໂຫລດເຄື່ອງບູດລະບົບຖືກເຊັນດ້ວຍລະຫັດເຂົ້າລະຫັດ, ກວດສອບໂດຍເຟີມແວ. The Secure Monitor stage ຍັງປະຕິບັດຕົວແບບ TrustZone* ຂອງການແບ່ງປັນທີ່ປອດໄພ. ຮູບແບບນີ້ແບ່ງສະພາບແວດລ້ອມຂອງຊອບແວອອກເປັນສອງສ່ວນທີ່ໂດດດ່ຽວ, ເອີ້ນວ່າໂລກທີ່ປອດໄພ ແລະໂລກທີ່ບໍ່ປອດໄພ. ທັງສອງໂລກພຽງແຕ່ສາມາດຕິດຕໍ່ສື່ສານເຊິ່ງກັນແລະກັນໂດຍຜ່ານ Secure Monitor. ຮູບພາບຄູ່ຂອງ UEFI boot loader ສາມາດຖືກເກັບໄວ້ໃນ Quad SPI flash SD/MMC card. ໃນການເປີດເຄື່ອງ, ຕົວຈັດການອຸປະກອນທີ່ປອດໄພ (SDM) ຈະໂຫລດ Secure Monitor ໂດຍກົງໃສ່ Hard Processor System (HPS) on-chip RAM. ຫຼັງຈາກນັ້ນ, Secure Monitor ໂຫຼດ UEFI boot loader ໃນຫນ່ວຍຄວາມຈໍາ HPS DDR.

ວຽກງານຕິດຕາມກວດກາຄວາມປອດໄພປະກອບມີ

  • ກຳລັງເລີ່ມໜ່ວຍຄວາມຈຳ DDR SDRAM
  • ກຳນົດຄ່າຮາດແວລະດັບຕໍ່າ, ເຊັ່ນ PLL, IOs, ແລະ pin MUXes, ຕ້ອງການໂດຍຊອບແວໂລກທີ່ບໍ່ປອດໄພ

ວຽກງານ UEFI boot loader ປະກອບມີ

  • ສະຫນອງການສະຫນັບສະຫນູນ Ethernet
  • ຮອງຮັບຄຸນສົມບັດການວິນິດໄສຂອງຮາດແວພື້ນຖານ
  • ກຳລັງດຶງເອົາຊອບແວ boot ຕໍ່ໆມາ ເຊັ່ນ: ຊຸດລະບົບປະຕິບັດການ ຫຼືຮູບພາບ kernel.

ໝາຍເຫດ: ສໍາລັບການ boot ທີ່ບໍ່ປອດໄພ, ຊຸດລະບົບປະຕິບັດການສາມາດປະກອບມີຮູບພາບ kernel, blob ຕົ້ນໄມ້ອຸປະກອນແລະ fileລະບົບ. ສໍາລັບການ boot ທີ່ປອດໄພ, ມັນສາມາດເປັນ kernel ທີ່ປອດໄພ.

UEFI Boot Flow Overview

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

ຄວາມຕ້ອງການລະບົບ

ເພື່ອໂຫຼດ ແລະປະຕິບັດ Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI) boot loader, ລະບົບຂອງທ່ານຕ້ອງຕອບສະໜອງໄດ້ຕາມຄວາມຕ້ອງການຕໍ່ໄປນີ້.

ຄວາມຕ້ອງການຮາດແວຂັ້ນຕ່ໍາ

  • Linux workstation ທີ່ມີການຕັ້ງຄ່າຕໍ່ໄປນີ້:
    • Serial terminal, ເຊັ່ນ Minicom ສໍາລັບ Linux
    • ຊ່ອງສຽບກາດ microSD ຫຼືຕົວຂຽນບັດ microSD ຫຼືຕົວຂຽນທີ່ມີຄວາມສາມາດ SD ທີ່ມີຕົວປ່ຽນ SD ເປັນ microSD

ຄວາມສາມາດຂອງເວທີ

  Linux
ສາມາດລວບລວມ UEFI boot loader ແມ່ນແລ້ວ
ສາມາດລວບລວມຕົວຕິດຕາມກວດກາທີ່ປອດໄພ ແມ່ນແລ້ວ

ຄວາມຕ້ອງການຊອບແວຂັ້ນຕ່ໍາ

  • Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 ແລະສູງກວ່າ
  • ລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro aarch64-linux-gnu-gcc

ການເລີ່ມຕົ້ນ

ການຕິດຕັ້ງອົງປະກອບຊອບແວ

ການຕິດຕັ້ງ Intel SoC EDS

  • ທ່ານຕ້ອງຕິດຕັ້ງ Intel SoC EDS ໃນເຄື່ອງຂອງເຈົ້າ.
  • ດາວໂຫລດ Intel SoC EDS ຈາກສູນດາວໂຫລດສໍາລັບ FPGAs.

ການຕິດຕັ້ງ Compiler Toolchain

ທ່ານລວບລວມ UEFI boot loader ແລະ Secure Monitor ກັບ GNU Toolchain (EABI Release) ສໍາລັບ Arm* Processors. ທ່ານສາມາດດາວໂຫລດ GNU Toolchain ຈາກຫນ້າດາວໂຫລດຂອງ Arm.

  • Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
ການສ້າງຕົວຕິດຕາມກວດກາທີ່ປອດໄພ

ເມື່ອຄວາມປອດໄພກາຍເປັນສິ່ງສໍາຄັນຫຼາຍຂຶ້ນ, ການແກ້ໄຂການໃສ່ເກີບທີ່ປອດໄພກາຍເປັນຄວາມຕ້ອງການໃນໂລກທີ່ຝັງໄວ້. ເພື່ອຮັບປະກັນຄວາມປອດໄພທີ່ສົມບູນແບບແລະເວທີທີ່ເຊື່ອຖືໄດ້, ຈໍາເປັນຕ້ອງມີການແບ່ງປັນທີ່ປອດໄພ. ອຸປະກອນ Intel Stratix 10 ບັນລຸການແບ່ງປັນທີ່ປອດໄພໂດຍການຈັດຕັ້ງປະຕິບັດຕົວແບບ TrustZone ກັບ Arm Trusted Firmware (ATF). ຮູບແບບ TrustZone ແຍກສະພາບແວດລ້ອມຄອມພິວເຕີອອກເປັນສອງໂລກທີ່ໂດດດ່ຽວ, ໂລກທີ່ປອດໄພ ແລະ ໂລກປົກກະຕິ, ເຊິ່ງເຊື່ອມຕໍ່ກັນໂດຍຕົວກວດສອບຊອບແວທີ່ເອີ້ນວ່າ Secure Monitor. ທັງສອງໂລກໄດ້ແຍກພື້ນທີ່ທີ່ຢູ່ຢ່າງມີເຫດຜົນ ແລະອຸປະກອນຕໍ່ພ່ວງ. ການສື່ສານລະຫວ່າງສອງໂລກແມ່ນເປັນໄປໄດ້ພຽງແຕ່ໂດຍການໂທຫາຄໍາແນະນໍາ Secure Monitor call (SMC) ທີ່ໄດ້ຮັບສິດທິພິເສດ.

ການແກ້ໄຂ boot ທີ່ປອດໄພຢ່າງເຕັມທີ່ແມ່ນ

  • BootRom
  • ຕົວຈັດການອຸປະກອນທີ່ປອດໄພ
  • ຕິດຕາມກວດກາຄວາມປອດໄພ
  • Uboot/UEFI
  • Hypervisor
  • OS

ໂໝດ Secure Monitor ເປັນໂໝດສິດທິພິເສດ ແລະ ປອດໄພສະເໝີໂດຍບໍ່ຄໍານຶງເຖິງສະຖານະຂອງ NS bit. Secure Monitor ແມ່ນລະຫັດທີ່ເຮັດວຽກຢູ່ໃນໂໝດ Secure Monitor ແລະຂະບວນການປ່ຽນໄປ ແລະຈາກ Secure world. ຄວາມປອດໄພໂດຍລວມຂອງຊອບແວແມ່ນຂຶ້ນກັບຄວາມປອດໄພຂອງລະຫັດນີ້ພ້ອມກັບລະຫັດ boot ທີ່ປອດໄພ.

ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ

ຂໍ້ມູນທົ່ວໄປກ່ຽວກັບ Arm Trusted Firmware

ການຕັ້ງຄ່າຜູ້ໃຊ້

ທ່ານສາມາດຊອກຫາການຕັ້ງຄ່າແພລດຟອມທັງໝົດໃນ arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. ສໍາລັບການຕັ້ງຄ່າຜູ້ໃຊ້, ທ່ານຕ້ອງແກ້ໄຂແຫຼ່ງ boot ໂດຍອີງໃສ່ຄວາມມັກຂອງທ່ານ. ທ່ານເລືອກ BOOT_SOURCE_SDMMC ຖ້າບູດຈາກ SDMMC ຫຼືເລືອກ BOOT_SOURCE_QSPI ຖ້າບູດຈາກ QSPI.

  • #ກຳນົດ BOOT_SOURCE BOOT_SOURCE_SDMMC

ໝາຍເຫດ: ເພື່ອປ່ຽນເກີບໃສ່ເກີບ fileຊື່ຫຼືຊົດເຊີຍ, ທ່ານສາມາດປ່ຽນ #define ໃນນີ້ file.

ການໄດ້ຮັບ Arm Trusted Firmware Source Code

ແຫຼ່ງ ATF ຢູ່ທີ່ GitHub. ເພື່ອໃຫ້ໄດ້ຮັບລະຫັດແຫຼ່ງ ATF, ພຽງແຕ່ດໍາເນີນການຂັ້ນຕອນຕໍ່ໄປນີ້

  1. ເປີດ terminal.
  2. ສ້າງໄດເລກະທໍລີໃຫມ່ເພື່ອກວດເບິ່ງລະຫັດແຫຼ່ງ ATF ຈາກ GitHub.
  3. ປ່ຽນເປັນໄດເລກະທໍລີທີ່ເຮັດວຽກນີ້ແລະ clone ແຫຼ່ງ ATF ຈາກຕົ້ນໄມ້ Git ດັ່ງຕໍ່ໄປນີ້:
  4. ເມື່ອສຳເລັດແລ້ວ, ໃຫ້ປ່ຽນໄປທີ່ໂຟນເດີ arm-trusted-firmware ແລະດຳເນີນການກວດສອບ Git ດັ່ງຕໍ່ໄປນີ້:
    • cd arm-trusted-firmware
    • git checkout socfpga_v2.1

ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ

  • ການສ້າງ ATF.
  • ການລວບລວມລະຫັດແຫຼ່ງ UEFI ກັບລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro.
  • ແລ່ນຕົວກວດສອບທີ່ປອດໄພ.

ການສ້າງ ATF

ພາກນີ້ອະທິບາຍວິທີການສ້າງ ATF ດ້ວຍຕົວສັງລວມ Linaro GCC. ເພື່ອເລີ່ມຕົ້ນການສ້າງ ATF ດ້ວຍຕົວສັງລວມ Linaro GCC, ພຽງແຕ່ດໍາເນີນການຂັ້ນຕອນຕໍ່ໄປນີ້

  1. ປ່ຽນໄດເລກະທໍລີຂອງທ່ານໄປຫາສະຖານທີ່ລະຫັດແຫຼ່ງ ATF ດັ່ງຕໍ່ໄປນີ້:
    • cd arm-trusted-firmware
  2. ກຳນົດເສັ້ນທາງ GCC ແລະຕົວແປສະພາບແວດລ້ອມ CROSS_COMPILE ເປັນ Linaro cross compile ດັ່ງນີ້: ສົ່ງອອກ PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • ສົ່ງອອກ ARCH=arm64
    • ສົ່ງອອກ CROSS_COMPILE=aarch64-linux-gnu-
  3. ເອົາ​ຕົ້ນ​ໄມ້​ທີ່​ສ້າງ​ອອກ​ໃຫ້​ຫມົດ​ດັ່ງ​ນີ້​:
    • ເຮັດໃຫ້ສະອາດ
  4. ສ້າງ ATF ໂດຍໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:
    • ເຮັດໃຫ້ PLAT=stratix10 bl2 bl31
  5. ຂໍ້ຄວາມຕໍ່ໄປນີ້ຈະປາກົດເມື່ອການກໍ່ສ້າງ ATF ປະສົບຜົນສໍາເລັດintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-5
  6. ຕາຕະລາງຂ້າງລຸ່ມນີ້ສະແດງຜົນອອກມາຂອງ Secure Monitor files.

ລາຍ​ລະ​ອຽດ​ຂອງ Secure Monitor Files

File ເສັ້ນທາງແລະຊື່ ລາຍລະອຽດ
\build\stratix10\release\bl31.bin ສ້າງຖານສອງ file
\build\stratix10\release\bl31\bl31.elf ສ້າງ elf file
\build\stratix10\release\bl2.bin ສ້າງຖານສອງ file
\build\stratix10\release\bl2\bl2.elf ສ້າງ elf file

ການສ້າງ UEFI Boot Loader

ເພື່ອສ້າງຕົວໂຫລດ UEFI boot, ທ່ານໄດ້ຮັບລະຫັດແຫຼ່ງ UEFI ແລະລວບລວມແຫຼ່ງ UEFI ດ້ວຍລະບົບຕ່ອງໂສ້ເຄື່ອງມືທີ່ສະຫນັບສະຫນູນ.

Unified Extensible Firmware Interface (UEFI) ເປັນມາດຕະຖານສະເພາະຂອງເຟີມແວທີ່ງ່າຍ ແລະຮັບປະກັນການເລີ່ມຕົ້ນແພລດຟອມ ແລະການເຮັດວຽກຂອງເຟີມແວ bootstrap. ໃນປັດຈຸບັນ UEFI ໄດ້ຖືກພັດທະນາແລະສະຫນັບສະຫນູນໂດຍຜູ້ຕາງຫນ້າຈາກຫຼາຍກວ່າ 250 ບໍລິສັດເຕັກໂນໂລຢີຊັ້ນນໍາຂອງອຸດສາຫະກໍາ. Arm ແລະກຸ່ມບໍລິສັດ Linaro Enterprise ຍັງໄດ້ສົ່ງເສີມການນໍາໃຊ້ UEFI ກ່ຽວກັບສະຖາປັດຕະຍະກໍາ Arm ເນື່ອງຈາກວ່າຂໍ້ກໍານົດຂອງ UEFI ຊ່ວຍໃຫ້ມາດຕະຖານຂະບວນການບູດສໍາລັບແພລະຕະຟອມທີ່ອີງໃສ່ໂປເຊດເຊີ Arm. ເທກໂນໂລຍີ UEFI ໄດ້ຮັບການພິສູດໃນອະນາຄົດໂດຍຜ່ານມາດຕະຖານການອອກແບບເຟີມແວແທນທີ່ຈະເປັນການອອກແບບເຟີມແວທີ່ເປັນເຈົ້າຂອງ. ຂໍ້ມູນຈໍາເພາະຂອງ UEFI ສົ່ງເສີມທຸລະກິດ ແລະປະສິດທິພາບທາງດ້ານເຕັກໂນໂລຊີ, ປັບປຸງປະສິດທິພາບ ແລະຄວາມປອດໄພ, ອໍານວຍຄວາມສະດວກໃນການເຮັດວຽກຮ່ວມກັນລະຫວ່າງອຸປະກອນ, ເວທີ ແລະລະບົບຕ່າງໆ ແລະປະຕິບັດຕາມເຕັກໂນໂລຊີຮຸ່ນຕໍ່ໄປ. ຂໍ້ມູນຈໍາເພາະຂອງ UEFI ແມ່ນ peer-reviewed ແລະຈັດພີມມາ, ໃຫ້ນັກພັດທະນາຂຽນເຟີມແວຫນຶ່ງຄັ້ງຕໍ່ແພລະຕະຟອມແລະໃຊ້ໃຫມ່ໂດຍບໍ່ມີການດັດແປງຫຼາຍ. ການໃຊ້ຄືນນີ້ເຮັດໃຫ້ຄ່າໃຊ້ຈ່າຍແລະເວລາປະຫຍັດໃນລະຫວ່າງການພັດທະນາ boot loader. ໂຄງຮ່າງການນີ້ໃຊ້ໃບອະນຸຍາດ BSD, ອະນຸຍາດໃຫ້ທ່ານທາງເລືອກໃນການໂຄສະນາການປະຕິບັດຂອງທ່ານດ້ວຍບັນຫາທາງດ້ານກົດຫມາຍຫນ້ອຍທີ່ສຸດ. ທ່ານສາມາດລວບລວມລະຫັດແຫຼ່ງ UEFI ບໍ່ວ່າຈະຢູ່ໃນ Windows ຫຼືໃນລະບົບ Linux.

ເງື່ອນໄຂເບື້ອງຕົ້ນ

ການສ້າງ UEFI ຕ້ອງການແພັກເກດ Linux ເພີ່ມເຕີມ. ອີງຕາມການແຈກຢາຍ Linux ຂອງທ່ານ, ຄໍາສັ່ງໃນການຕິດຕັ້ງແພັກເກັດແມ່ນແຕກຕ່າງກັນ:

ຖ້າທ່ານກໍາລັງໃຊ້ການແຈກຢາຍ Ubuntu, ພິມ

  • sudo apt-get ຕິດຕັ້ງ uuid-dev build-essential

ຖ້າທ່ານໃຊ້ການແຈກຢາຍ Fedora, ພິມ

  • sudo yum ຕິດຕັ້ງ uuid-devel libuuid-devel

ສໍາລັບການກໍ່ສ້າງ UEFI, ຊຸດ Python ແມ່ນຕ້ອງການ. ຖ້າ Python ບໍ່ສາມາດໃຊ້ໄດ້ໃນລະບົບຂອງເຈົ້າ, ການແລ່ນຄໍາສັ່ງຈາກ SoC EDS Embedded Command Shell ສະຫນອງການຂຶ້ນກັບ Python ທີ່ຕ້ອງການ.

ການໄດ້ຮັບລະຫັດແຫຼ່ງ UEFI

ລະຫັດແຫຼ່ງ UEFI ແມ່ນຢູ່ໃນ GitHub. ຂັ້ນຕອນຕໍ່ໄປນີ້ສະແດງໃຫ້ທ່ານເຫັນວິທີການເອົາລະຫັດແຫຼ່ງ UEFI.

  1. ເປີດ terminal.
  2. Clone ແຫຼ່ງ UEFI ຈາກຕົ້ນໄມ້ Git.
  3. ເມື່ອສໍາເລັດ, ປ່ຽນໄປທີ່ໂຟນເດີ edk2 ແລະດໍາເນີນການກວດສອບ Git.
    • cd edk2
    • git checkout socfpga_udk201905

ລະຫັດແຫຼ່ງຂອງເວທີ edk2 ແມ່ນຢູ່ໃນ GitHub. ເພື່ອໃຫ້ໄດ້ຮັບລະຫັດແຫຼ່ງ edk2 platforms

ການລວບລວມລະຫັດແຫຼ່ງ UEFI ກັບລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro

ພາກນີ້ອະທິບາຍວິທີການລວບລວມລະຫັດແຫຼ່ງ UEFI ກັບລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro ໃນລະບົບ Linux

  1. ເປີດຢູ່ປາຍຍອດແລະໃສ່ ຄຳ ສັ່ງຕໍ່ໄປນີ້:
    • cd
    • ສົ່ງອອກ PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
    • ສົ່ງອອກ CROSS_COMPILE= aarch64-linux-gnu-
    • ສົ່ງອອກ ARCH=arm64
    • ສົ່ງອອກ GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
  2. ຕັ້ງຄ່າ EDK_TOOLS_PATH:
    • ສົ່ງອອກ EDK_TOOLS_PATH=$PWD/edk2/BaseTools
  3. ຕັ້ງຄ່າ PACKAGES_PATH ເພື່ອຊີ້ໃຫ້ເຫັນສະຖານທີ່ຂອງ repositories:
    • ສົ່ງອອກ PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
  4. ຕັ້ງຄ່າບ່ອນເຮັດວຽກ:
    • export WORKSPACE = $PWD
  5. ຕັ້ງຄ່າສະພາບແວດລ້ອມການກໍ່ສ້າງ:
    • edk2/edksetup.sh
  6. Build BaseTools (ໃຫ້ແນ່ໃຈວ່າເຄື່ອງມື python ຖືກຕິດຕັ້ງ):
    • ເຮັດໃຫ້ -C edk2/BaseTools
  7. ລວບລວມ UEFI bootloader ໂດຍການໃສ່ຄໍາສັ່ງຕໍ່ໄປນີ້:
    • 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. terminal ຂອງທ່ານສະແດງຂໍ້ຄວາມ "Build Done" ຫຼັງຈາກ UEFI ຖືກລວບລວມສົບຜົນສໍາເລັດ.
UEFI ສ້າງຂຶ້ນ Files

ການລວບລວມລະຫັດແຫຼ່ງ UEFI ສ້າງສິ່ງຕໍ່ໄປນີ້ files ໃນໂຟນເດີ /Build/ Stratix10SoCPkg/RELEASE_GCC48:

UEFI ສ້າງຂຶ້ນ Files

File ລາຍລະອຽດ
INTELSTRATIX10_EFI.fd ນີ້ file ເປັນ bootloader UEFI ເພື່ອບູດ UEFI shell ແລະເປີດໃຊ້ຄຸນສົມບັດອີເທີເນັດຫຼືແລ່ນແອັບພລິເຄຊັນ UEFI
ການສ້າງ FIP

FIP ແມ່ນ payload ທີ່ BL2 ຂອງ ATF ໂຫລດເຂົ້າໄປໃນ RAM ແລະປະຕິບັດ. FIP ປະກອບມີ binary ສໍາລັບ BL31 ແລະ UEFI bootloader, ແລະ container ທີ່ BL2 ຮັບຮູ້.

ເພື່ອສ້າງ FIP, ປະຕິບັດຕາມຄໍາສັ່ງເຫຼົ່ານີ້

  • ສົ່ງອອກ ARCH = ARM64
  • ສົ່ງອອກ CROSS_COMPILE= aarch64-linux-gnu-
  • cd

ສ້າງ FIP ໂດຍໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້

  • ເຮັດ fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10

ແລ່ນ UEFI ເທິງຮາດແວ Intel Stratix 10

ແລ່ນຢູ່ໃນກະດານທາງດ້ານຮ່າງກາຍທີ່ມີ ATF ແລະ UEFI Bootloader

ພາກນີ້ອະທິບາຍວິທີການແລ່ນ Secure Monitor ຢູ່ໃນກະດານທາງດ້ານຮ່າງກາຍ.

ສ້າງ .sof file ກັບ ATF

  1. ເອົາ .sof file ຈາກໄດເຣັກທໍຣີການຕິດຕັ້ງ $SOCEDS_DEST_ROOT.
  2. ແປງຄູ່ file bl2.bin, ສ້າງຂຶ້ນໃນການກໍ່ສ້າງ ATF.
    • aarch64-linux-gnu-objcopy -I binary -O ihex - \-change-addresses 0xffe00000 bl2.bin bl2.hex
  3. ລວມເອົາ bootloader ເຂົ້າໄປໃນ .sof file ດັ່ງນີ້:
    • 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

ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ

  • ການສ້າງ ATF.

ການ​ສ້າງ​ຮູບ​ພາບ​ບັດ SD​

  1. ສ້າງ UEFI Bootloader ແລະ FIP ຄືກັບການສ້າງ Boot Loader UEFI ແລະສ້າງ FIP.
  2. ສ້າງ Linux ແລະຮາກ file ລະບົບໂດຍອີງໃສ່ຄໍາແນະນໍາໃນ Rocketboard.
  3. ສ້າງ​ຮູບ​ພາບ​ບັດ SD​:
  • ເອົາສະຄຣິບ make_image python ແລະເຮັດໃຫ້ມັນສາມາດປະຕິບັດໄດ້
  • ການກະກຽມເນື້ອໃນການແບ່ງປັນໄຂມັນ:
    • mkdir ໄຂມັນ && ໄຂມັນ CD
    • cp /linux-socfpga/arch/arm64/boot/ຮູບພາບ
    • cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
  • ກະກຽມຮາກ file ເນື້ອ​ໃນ​ການ​ແບ່ງ​ປັນ​ລະ​ບົບ​:
    • mkdir rootfs && cd rootfs
    • tar xf /gsrd-console-image-*.tar.xz
  • ສ້າງ​ຮູບ​ພາບ​ບັດ 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
    • ຮູບພາບ,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
    • ໝາຍເຫດ: ຖ້າທ່ານມີຮູບພາບ SD ທີ່ມີພາທິຊັນ A2 ແລ້ວ, ທ່ານສາມາດທົດແທນ FIP ໄດ້ file ດ້ວຍຄໍາສັ່ງຂ້າງລຸ່ມນີ້:
    • sudo dd ຖ້າ =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ
  • ການລວບລວມລະຫັດແຫຼ່ງ UEFI ກັບລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro.
  • ການສ້າງ UEFI Boot Loader.

ແລ່ນຕົວກວດສອບທີ່ປອດໄພ

  1. ເປີດກະດານຫຼັງຈາກສຽບ SD card ແລ້ວ.
  2. ເປີດ Quartus programmer ແລະ program board ດ້ວຍ .sof file ສ້າງຂຶ້ນໃນ Generating a .sof File ກັບ ATF.

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

  • ກະດານເລີ່ມຕົ້ນຈາກ ATF ແລະໂຫຼດ UEFI bootloader ໂດຍອັດຕະໂນມັດເພື່ອ boot shell UEFI.

ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ

  • ສ້າງ .sof file ກັບ ATF.
Debugging ກັບ DS

ພາກນີ້ອະທິບາຍວິທີການໂຫຼດ ATF ແລະ UEFI bootloader ໃສ່ກະດານທາງດ້ານຮ່າງກາຍຜ່ານ DS.

  1. ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ຕິດຕັ້ງ DS. ເປີດ eclipse ໂດຍໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:
    • armds_ide &
  2. ຕັ້ງຄ່າການເຊື່ອມຕໍ່ດີບັກໃໝ່
    • ຮູບປະກອບຂັ້ນຕອນintel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-8
  3. ຫຼັງຈາກການຕັ້ງຄ່າສໍາເລັດ, ເຊື່ອມຕໍ່ກັບເປົ້າຫມາຍ.
    • ໝາຍເຫດ: ທ່ານຕ້ອງຕັ້ງໂປຣແກຣມກະດານດ້ວຍ ghrd_1sx280lu2f50e2vg_hps_debug.sof ກ່ອນທີ່ຈະເຊື່ອມຕໍ່ກັບເປົ້າໝາຍ.
  4. ໃນຄອນໂຊຄໍາສັ່ງ DS, ທ່ານອາດຈະໂຫລດສະຄິບດີບັກທີ່ມີເນື້ອຫາຕໍ່ໄປນີ້ເພື່ອດາວໂຫລດ bootloader ATF ແລະ UEFI ໄປຫາກະດານທາງດ້ານຮ່າງກາຍ.

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

ກຳລັງເປີດເຄື່ອງ Linux

ພາກນີ້ສະແດງໃຫ້ທ່ານເຫັນວິທີການບູດ Linux ຫຼັງຈາກ UEFI ເຂົ້າໄປໃນ UEFI shell.

ເລີ່ມຕົ້ນຈາກ UEFI Shell

  1. ບູດກະດານຂຶ້ນໄປຫາແກະ UEFI, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ ແລ່ນຈໍທີ່ປອດໄພ.
  2. ເມື່ອ UEFI shell ຖືກໂຫລດ, ໃສ່ຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອ boot Linux:
    • ຮູບພາບ dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb

ໝາຍເຫດ: ໃຫ້ແນ່ໃຈວ່າຮູບພາບ Linux ແລະ dtb ຖືກເກັບໄວ້ໃນ SD card.

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

intel-UG-20080-Stratix-10-SoC -Boot-Loader-fig-4ປະຫວັດການແກ້ໄຂເອກະສານສໍາລັບ Intel Stratix 10 SoC UEFI Boot Loader ຄູ່ມືຜູ້ໃຊ້

ສະບັບເອກະສານ ການປ່ຽນແປງ
2020.06.19 ອັບເດດພາກສ່ວນຕໍ່ໄປນີ້:
  • ຄວາມຕ້ອງການຮາດແວຂັ້ນຕ່ໍາ
  • ຄວາມຕ້ອງການຊອບແວຂັ້ນຕ່ໍາ
  • ການຕິດຕັ້ງ Compiler Toolchain
  • ການຕັ້ງຄ່າຜູ້ໃຊ້
  • ການໄດ້ຮັບ Arm Trusted Firmware Source Code
  • ການສ້າງ ATF
  • ການໄດ້ຮັບລະຫັດແຫຼ່ງ UEFI
  • ການໄດ້ຮັບລະຫັດແຫຼ່ງຂອງເວທີ edk2
  • ການລວບລວມລະຫັດແຫຼ່ງ UEFI ກັບລະບົບຕ່ອງໂສ້ເຄື່ອງມື Linaro
  • UEFI ສ້າງຂຶ້ນ Files
  • ສ້າງ .sof file ກັບ ATF
  • ການ​ສ້າງ​ຮູບ​ພາບ​ບັດ SD​
  • Debugging ກັບ DS
  • ເລີ່ມຕົ້ນຈາກ UEFI Shell
2019.03.28
  • ເພີ່ມພາກສ່ວນໃໝ່: ການສ້າງຕົວຕິດຕາມກວດກາທີ່ປອດໄພ ເພື່ອອະທິບາຍ boot ໃໝ່tage ແລະ boot ປອດໄພ.
  • ສະບັບປັບປຸງ: UEFI ສ້າງຂຶ້ນ Files.
  • ເພີ່ມພາກສ່ວນໃໝ່: ແລ່ນ UEFI ເທິງຮາດແວ Intel Stratix 10.
2017.06.19 ການປ່ອຍຕົວໃນເບື້ອງຕົ້ນ.

ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຖືກແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.

ID: 683134
ລຸ້ນ: 2020.06.19

ເອກະສານ / ຊັບພະຍາກອນ

intel UG-20080 Stratix 10 SoC UEFI Boot Loader [pdf] ຄູ່ມືຜູ້ໃຊ້
UG-20080 Stratix 10 SoC UEFI Boot Loader, UG-20080, Stratix 10 SoC UEFI Boot Loader, 10 SoC UEFI Boot Loader, UEFI Boot Loader

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *