intel UG-20080 Stratix 10 SoC UEFI Pemuat But
Berakhirview
Dokumen ini menyediakan maklumat komprehensif tentang pemuat but Antara Muka Perisian Tegar Boleh Diperluas Bersepadu (UEFI) untuk Intel Stratix 10 SoC. Intel Stratix 10 SoC menyediakan aliran but selamat, yang terdiri daripada
- ROM but
- Pengurus peranti selamat (SDM)
- Pemantau Selamat
- Pemuat but UEFI
Aliran but selamat Intel Stratix 10 SoC memastikan bahawa pemuat but sistem ditandatangani dengan kunci kriptografi, disahkan oleh perisian tegar. Pemantau Selamat stage juga melaksanakan model TrustZone* pembahagian selamat. Model ini membahagikan persekitaran perisian kepada dua sekatan terpencil, dipanggil dunia selamat dan dunia tidak selamat. Kedua-dua dunia hanya boleh berkomunikasi antara satu sama lain melalui Secure Monitor. Imej binari pemuat but UEFI boleh disimpan pada kad SD/MMC kilat Quad SPI. Semasa dinaikkan kuasa, pengurus peranti selamat (SDM) memuatkan Monitor Selamat terus ke RAM pada cip Sistem Pemproses Keras (HPS). Kemudian Secure Monitor memuatkan pemuat but UEFI dalam memori HPS DDR.
Tugas Pemantau Selamat termasuk
- Memulakan memori DDR SDRAM
- Mengkonfigurasi perkakasan tahap rendah, seperti PLL, IO dan PIN MUX, yang diperlukan oleh perisian dunia yang tidak selamat
Tugas pemuat but UEFI termasuk
- Menyediakan sokongan Ethernet
- Menyokong ciri diagnostik perkakasan asas
- Mengambil perisian but seterusnya seperti pakej sistem pengendalian atau imej kernel.
Nota: Untuk but tidak selamat, pakej sistem pengendalian boleh termasuk imej kernel, gumpalan pokok peranti dan filesistem. Untuk but selamat ia boleh menjadi kernel selamat.
Aliran But UEFI Selesaiview
Keperluan Sistem
Untuk memuatkan dan melaksanakan pemuat but Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), sistem anda mesti memenuhi keperluan berikut.
Keperluan Perkakasan Minimum
- Stesen kerja Linux dengan konfigurasi berikut:
- Terminal bersiri, seperti Minicom untuk Linux
- slot kad microSD atau penulis kad microSD atau penulis berkemampuan SD dengan penukar SD ke microSD
Keupayaan Platform
Linux | |
Dapat menyusun pemuat but UEFI | ya |
Mampu menyusun Monitor Selamat | ya |
Keperluan Perisian Minimum
- Suite Pembangunan Terbenam Intel® SoC FPGA (SoC EDS) v18.1 dan ke atas
- Rantai alat Linaro aarch64-linux-gnu-gcc
Bermula
Memasang Komponen Perisian
Memasang Intel SoC EDS
- Anda mesti memasang Intel SoC EDS pada mesin anda.
- Muat turun Intel SoC EDS daripada Pusat Muat Turun untuk FPGA.
Memasang Rangkaian Alat Pengkompil
Anda menyusun pemuat but UEFI dan Secure Monitor dengan GNU Toolchain (EABI Release) untuk Pemproses Lengan*. Anda boleh memuat turun GNU Toolchain dari halaman muat turun Arm.
- Linux: gcc-arm-8.3-2019.03-x86_64-aarch64-Linux-gnu.tar.xz
Membina Monitor Selamat
Apabila keselamatan menjadi semakin penting, penyelesaian but terjamin menjadi keperluan dalam dunia terbenam. Untuk memastikan keselamatan yang komprehensif dan platform yang dipercayai, pembahagian selamat diperlukan. Peranti Intel Stratix 10 mencapai pembahagian selamat dengan melaksanakan model TrustZone dengan Arm Trusted Firmware (ATF). Model TrustZone membahagikan persekitaran pengkomputeran kepada dua dunia terpencil, dunia selamat dan dunia biasa, yang dipautkan oleh pemantau perisian yang dipanggil Secure Monitor. Kedua-dua dunia telah memisahkan ruang alamat logik dan persisian. Komunikasi antara dua dunia hanya boleh dilakukan dengan memanggil arahan panggilan Secure Monitor (SMC) istimewa.
Penyelesaian but selamat penuh ialah
- BootRom
- Pengurus Peranti Selamat
- Monitor Selamat
- Uboot/UEFI
- Hipervisor
- OS
Mod Secure Monitor ialah mod istimewa dan sentiasa selamat tanpa mengira keadaan bit NS. Secure Monitor ialah kod yang berjalan dalam mod Secure Monitor dan proses beralih ke dan dari dunia Secure. Keselamatan keseluruhan perisian bergantung pada keselamatan kod ini bersama-sama dengan kod but Secure.
Maklumat Berkaitan
Maklumat am tentang Perisian Tegar Arm Trusted
Konfigurasi Pengguna
Anda boleh menemui semua konfigurasi platform dalam arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. Untuk konfigurasi pengguna, anda mesti mengubah suai sumber but berdasarkan keutamaan anda. Anda pilih BOOT_SOURCE_SDMMC jika but daripada SDMMC atau pilih BOOT_SOURCE_QSPI jika but daripada QSPI.
- #define BOOT_SOURCE BOOT_SOURCE_SDMMC
Nota: Untuk menukar but filenama atau offset, anda boleh menukar #define dalam ini file.
Mendapatkan Kod Sumber Perisian Tegar Arm Trusted
Sumber ATF ada di GitHub. Untuk mendapatkan kod sumber ATF, jalankan langkah berikut
- Buka terminal.
- Buat direktori baharu untuk menyemak kod sumber ATF daripada GitHub.
- Tukar ke direktori kerja ini dan klon sumber ATF daripada pepohon Git seperti berikut:
- Apabila selesai, tukar kepada folder perisian tegar yang dipercayai lengan dan lakukan semakan Git seperti berikut:
- cd arm-trusted-firmware
- git checkout socfpga_v2.1
Maklumat Berkaitan
- Membina ATF.
- Menyusun Kod Sumber UEFI dengan Rantaian Alat Linaro.
- Menjalankan Monitor Selamat.
Membina ATF
Bahagian ini menerangkan cara membina ATF dengan pengkompil Linaro GCC. Untuk mula membina ATF dengan pengkompil Linaro GCC, hanya jalankan langkah berikut
- Tukar direktori anda kepada lokasi kod sumber ATF seperti berikut:
- cd arm-trusted-firmware
- Tetapkan laluan GCC dan pembolehubah persekitaran CROSS_COMPILE kepada kompil silang Linaro seperti berikut: eksport PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- eksport ARCH=lengan64
- eksport CROSS_COMPILE=aarch64-linux-gnu-
- Keluarkan pokok binaan sepenuhnya seperti berikut:
- buat betul-betul bersih
- Bina ATF dengan menggunakan arahan berikut:
- jadikan PLAT=stratix10 bl2 bl31
- Mesej berikut muncul apabila binaan ATF berjaya
- Jadual di bawah menyenaraikan output Monitor Selamat files.
Penerangan mengenai Secure Monitor Files
File Laluan dan Nama | Penerangan |
\build\stratix10\release\bl31.bin | Binari yang dihasilkan file |
\build\stratix10\release\bl31\bl31.elf | Bunian yang dihasilkan file |
\build\stratix10\release\bl2.bin | Binari yang dihasilkan file |
\build\stratix10\release\bl2\bl2.elf | Bunian yang dihasilkan file |
Membina Pemuat But UEFI
Untuk membina pemuat but UEFI, anda mendapatkan kod sumber UEFI dan menyusun sumber UEFI dengan rantai alat yang disokong.
Antara Muka Perisian Tegar Boleh Diperluas Bersepadu (UEFI) ialah spesifikasi perisian tegar piawai yang memudahkan dan menjamin operasi pemulaan platform dan bootstrap perisian tegar. UEFI pada masa ini dibangunkan dan disokong oleh wakil daripada lebih 250 syarikat teknologi peneraju industri. Arm dan Kumpulan Perusahaan Linaro juga mempromosikan penggunaan UEFI pada seni bina Lengan kerana spesifikasi UEFI membantu menyeragamkan proses but untuk platform berasaskan pemproses Arm. Teknologi UEFI kalis masa hadapan melalui penyeragaman reka bentuk perisian tegar dan bukannya reka bentuk perisian tegar proprietari. Spesifikasi UEFI menggalakkan kecekapan perniagaan dan teknologi, meningkatkan prestasi dan keselamatan, memudahkan kebolehoperasian antara peranti, platform dan sistem serta mematuhi teknologi generasi akan datang. Spesifikasi UEFI adalah peer-reviewed dan diterbitkan, membenarkan pembangun menulis perisian tegar sekali setiap platform dan menggunakannya semula tanpa banyak pengubahsuaian. Penggunaan semula ini menghasilkan penjimatan kos dan masa semasa pembangunan pemuat but. Rangka kerja ini menggunakan lesen BSD, membenarkan anda untuk mengkomersialkan pelaksanaan anda secara pilihan dengan isu undang-undang yang minimum. Anda boleh menyusun kod sumber UEFI sama ada dalam Windows atau dalam sistem Linux.
Prasyarat
Membina UEFI memerlukan pakej Linux tambahan. Bergantung pada pengedaran Linux anda, arahan untuk memasang pakej adalah berbeza:
Jika anda menggunakan pengedaran Ubuntu, taip
- sudo apt-get install uuid-dev build-essential
Jika anda menggunakan pengedaran Fedora, taip
- sudo yum pasang uuid-devel libuuid-devel
Untuk membina UEFI, pakej Python diperlukan. Jika Python belum tersedia pada sistem anda, menjalankan arahan daripada SoC EDS Embedded Command Shell menyediakan pergantungan Python yang diperlukan.
Mendapatkan Kod Sumber UEFI
Kod sumber UEFI terletak di GitHub. Langkah berikut menunjukkan kepada anda cara mendapatkan kod sumber UEFI.
- Buka terminal.
- Klon sumber UEFI daripada pokok Git.
- Apabila selesai, tukar kepada folder edk2 dan lakukan pembayaran Git.
- cd edk2
- git checkout socfpga_udk201905
Kod sumber platform edk2 terletak di GitHub. Untuk mendapatkan kod sumber platform edk2
- git klon https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-platform
- git checkout socfpga_udk201905
Menyusun Kod Sumber UEFI dengan Rantaian Alat Linaro
Bahagian ini menerangkan cara untuk menyusun kod sumber UEFI dengan rantai alat Linaro dalam sistem Linux
- Buka terminal dan masukkan arahan berikut:
- cd
- eksport PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- eksport CROSS_COMPILE= aarch64-linux-gnu-
- eksport ARCH=lengan64
- eksport GCC48_AARCH64_PREFIX=aarch64-linux-gnu-
- Sediakan EDK_TOOLS_PATH:
- eksport EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- Sediakan PACKAGES_PATH untuk menunjuk ke lokasi repositori:
- eksport PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- Sediakan RUANG KERJA:
- eksport RUANG KERJA = $PWD
- Sediakan persekitaran binaan:
- edk2/edksetup.sh
- Bina BaseTools (pastikan alat python dipasang):
- buat -C edk2/BaseTools
- Susun pemuat but UEFI dengan memasukkan arahan berikut:
- bina -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
- Terminal anda memaparkan mesej "Bina Selesai" selepas UEFI berjaya disusun.
UEFI Dijana Files
Menyusun kod sumber UEFI mencipta yang berikut files dalam folder /Build/ Stratix10SoCPkg/RELEASE_GCC48:
UEFI Dijana Files
File | Penerangan |
INTELSTRATIX10_EFI.fd | ini file ialah pemuat but UEFI untuk boot shell UEFI dan mendayakan ciri ethernet atau menjalankan aplikasi UEFI |
Menjana FIP
FIP ialah muatan yang dimuatkan oleh BL2 ATF ke dalam RAM dan dilaksanakan. FIP mengandungi binari untuk pemuat but BL31 dan UEFI, dan bekas yang dikenali BL2.
Untuk membina FIP, ikut arahan ini
- eksport ARCH = ARM64
- eksport CROSS_COMPILE= aarch64-linux-gnu-
- cd
Bina FIP dengan menggunakan arahan berikut
- buat fip BL33= /Build/Stratix10SoCPKG/\DEBUG_GCC48/FV/INTELSTRATIX10_EFI.fd fip PLAT=stratix10
Menjalankan UEFI pada Perkakasan Intel Stratix 10
Berjalan pada Papan Fizikal dengan Pemuat But ATF dan UEFI
Bahagian ini menerangkan cara menjalankan Monitor Selamat pada papan fizikal.
Hasilkan .sof file dengan ATF
- Dapatkan .sof file daripada direktori pemasangan $SOCEDS_DEST_ROOT.
- Tukarkan binari file bl2.bin, dijana dalam Membina ATF.
- aarch64-linux-gnu-objcopy -I binari -O ihex – \-change-addresses 0xffe00000 bl2.bin bl2.hex
- Sertakan pemuat but ke dalam .sof file seperti berikut:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof
Maklumat Berkaitan
- Membina ATF.
Mencipta Imej Kad SD
- Hasilkan Pemuat But UEFI dan FIP seperti dalam Membina Pemuat But UEFI dan Menjana FIP.
- Bina Linux dan root file sistem berdasarkan arahan dalam Rocketboard.
- Bina imej kad SD:
- Dapatkan skrip python make_image dan jadikan ia boleh laku
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- Sediakan kandungan sekatan lemak:
- mkdir lemak && cd lemak
- cp /linux-socfpga/arch/arm64/boot/Image
- cp /linux-socfpga/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dtb
- Sediakan akar file kandungan partition sistem:
- mkdir rootfs && cd rootfs
- tar xf /gsrd-console-image-*.tar.xz
- Buat imej kad 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
- Imej,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
- Nota: Jika anda sudah mempunyai imej SD dengan partition A2, anda boleh menggantikan FIP file dengan arahan di bawah:
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- Menyusun Kod Sumber UEFI dengan Rantaian Alat Linaro.
- Membina Pemuat But UEFI.
Menjalankan Monitor Selamat
- Kuasakan papan selepas kad SD dimasukkan.
- Buka pengaturcara Quartus dan atur cara papan dengan .sof file dijana dalam Menjana .sof File dengan ATF.
- Papan but daripada ATF dan secara automatik memuatkan pemuat but UEFI untuk boot shell UEFI.
Maklumat Berkaitan
- Hasilkan .sof file dengan ATF.
Menyahpepijat dengan DS
Bahagian ini menerangkan cara memuatkan pemuat but ATF dan UEFI ke papan fizikal melalui DS.
- Pastikan anda telah memasang DS. Lancarkan eclipse menggunakan arahan berikut:
- armds_ide &
- Sediakan sambungan nyahpepijat baharu
- Ilustrasi Langkah
- Ilustrasi Langkah
- Selepas konfigurasi selesai, sambungkan ke sasaran.
- Nota: Anda mesti memprogramkan papan dengan ghrd_1sx280lu2f50e2vg_hps_debug.sof sebelum menyambung ke sasaran.
- Dalam konsol arahan DS, anda boleh memuatkan skrip nyahpepijat dengan kandungan berikut untuk memuat turun pemuat but ATF dan UEFI ke papan fizikal.
Memulakan Linux
Bahagian ini menunjukkan kepada anda cara untuk boot Linux selepas UEFI memasuki shell UEFI.
Boot dari Shell UEFI
- But papan ke atas cangkerang UEFI, seperti yang diterangkan dalam Menjalankan Monitor Selamat.
- Setelah shell UEFI dimuatkan, masukkan arahan berikut untuk boot Linux:
- Imej dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb
Nota: Pastikan imej Linux dan dtb disimpan dalam kad SD.
Sejarah Semakan Dokumen untuk Panduan Pengguna Pemuat But UEFI Intel Stratix 10 SoC
Versi Dokumen | Perubahan |
2020.06.19 | Mengemas kini bahagian berikut:
|
2019.03.28 |
|
2017.06.19 | Keluaran awal. |
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ID: 683134
Versi: 2020.06.19
Dokumen / Sumber
![]() |
intel UG-20080 Stratix 10 SoC UEFI Pemuat But [pdf] Panduan Pengguna UG-20080 Stratix 10 SoC UEFI Pemuat But, UG-20080, Stratix 10 SoC UEFI Pemuat But, 10 SoC UEFI Pemuat But, UEFI Pemuat But |