מטעין האתחול של intel UG-20080 Stratix 10 SoC UEFI
מֵעַלview
מסמך זה מספק מידע מקיף על מטעין האתחול Unified Extensible Firmware Interface (UEFI) עבור Intel Stratix 10 SoC. ה-Intel Stratix 10 SoC מספק זרימת אתחול מאובטחת, המורכבת מ
- ROM האתחול
- מנהל ההתקנים המאובטח (SDM)
- המוניטור המאובטח
- מטעין האתחול של UEFI
זרימת האתחול המאובטחת של Intel Stratix 10 SoC מבטיחה שמטען האתחול של המערכת חתום עם מפתח קריפטוגרפי, מאומת על ידי הקושחה. ה-Secure Monitor stage גם מיישמת את מודל TrustZone* של חלוקה מאובטחת. מודל זה מחלק את סביבת התוכנה לשתי מחיצות מבודדות, הנקראות העולם המאובטח והעולם הלא מאובטח. שני העולמות יכולים לתקשר זה עם זה רק דרך ה-Secure Monitor. ניתן לאחסן את התמונה הבינארית של טוען האתחול של UEFI בכרטיס Quad SPI flash SD/MMC. הפעלה על הלוח, מנהל ההתקנים המאובטח (SDM) טוען את הצג המאובטח ישירות על זיכרון ה-RAM שבשבב של מערכת המעבד הקשיח (HPS). לאחר מכן, ה-Secure Monitor טוען את טוען האתחול של UEFI בזיכרון HPS DDR.
המשימות של Secure Monitor כוללות
- אתחול זיכרון DDR SDRAM
- קביעת תצורה של חומרה ברמה נמוכה, כגון PLL, IOs ו-Pin MUXes, הדרושה לתוכנת עולם לא מאובטחת
משימות מטעין האתחול של UEFI כוללות
- מתן תמיכה ב-Ethernet
- תמיכה בתכונות אבחון חומרה בסיסיות
- שליפת תוכנות אתחול עוקבות כגון חבילת מערכת ההפעלה או תמונת ליבה.
פֶּתֶק: עבור אתחול לא מאובטח, חבילת מערכת ההפעלה יכולה לכלול תמונת ליבה, עץ מכשיר ו fileמערכת. לאתחול מאובטח זה יכול להיות ליבה מאובטחת.
אתחול של UEFI נגמרview

דרישות מערכת
כדי לטעון ולהפעיל את מטעין האתחול של Intel Stratix 10 SoC Unified Extensible Firmware Interface (UEFI), המערכת שלך חייבת לעמוד בדרישות הבאות.
דרישות חומרה מינימליות
- תחנת עבודה לינוקס עם התצורה הבאה:
- מסוף טורי, כגון Minicom עבור לינוקס
- חריץ לכרטיס microSD או סופר כרטיס microSD או סופר בעל יכולת SD עם ממיר SD ל-microSD
יכולות פלטפורמה
| לינוקס | |
| מסוגל להדר את טוען האתחול של UEFI | כֵּן |
| מסוגל להדר את ה-Secure Monitor | כֵּן |
דרישות תוכנה מינימליות
- Intel® SoC FPGA Embedded Development Suite (SoC EDS) v18.1 ומעלה
- Linaro aarch64-linux-gnu-gcc toolchain
תחילת העבודה
התקנת רכיבי תוכנה
התקנת Intel SoC EDS
- עליך להתקין את Intel SoC EDS במחשב שלך.
- הורד את Intel SoC EDS ממרכז ההורדות עבור FPGAs.
התקנת כלי המהדר
אתה מהדר את טוען האתחול של UEFI ואת הצג המאובטח עם GNU Toolchain (EABI Release) למעבדי Arm*. אתה יכול להוריד את GNU Toolchain מדף ההורדות של Arm.
- לינוקס: 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 (SMC).
פתרון האתחול המאובטח המלא הוא
- BootRom
- מנהל התקנים מאובטח
- צג מאובטח
- Uboot/UEFI
- היפרוויזר
- OS
מצב מוניטור מאובטח הוא מצב מועדף והוא תמיד מאובטח ללא קשר למצב ה-NS bit. ה-Secure Monitor הוא קוד שפועל במצב Secure Monitor ומעבד מעברים לעולם המאובטח וממנו. האבטחה הכוללת של התוכנה מסתמכת על האבטחה של קוד זה יחד עם קוד האתחול המאובטח.
מידע קשור
מידע כללי על Arm Trusted Firmware
תצורת משתמש
אתה יכול למצוא את כל תצורות הפלטפורמה ב-arm-trusted-firmware/plat/intel/soc/stratix10/include/socfpga_plat_def.h. עבור תצורת משתמש, עליך לשנות את מקורות האתחול בהתבסס על ההעדפות שלך. אתה בוחר BOOT_SOURCE_SDMMC אם אתחול מ-SDMMC או בחר BOOT_SOURCE_QSPI אם אתחול מ-QSPI.
- #define BOOT_SOURCE BOOT_SOURCE_SDMMC
פֶּתֶק: כדי לשנות את האתחול fileשם או היסט, אתה יכול לשנות את ה-#define בזה file.
השגת קוד מקור הקושחה של Arm Trusted
מקור ה-ATF נמצא ב-GitHub. כדי לקבל את קוד המקור של ATF, פשוט הפעל את השלבים הבאים
- פתח מסוף.
- צור ספרייה חדשה כדי לבדוק את קוד המקור של ATF מ- GitHub.
- שנה לספריית עבודה זו ושבט את מקור ה-ATF מעצי Git באופן הבא:
- בסיום, עבור לתיקיית arm-trusted-firmware ובצע בדיקת Git באופן הבא:
- cd arm-trusted-firmware
- git checkout socfpga_v2.1
מידע קשור
- בניית ה-ATF.
- קומפילציה של קוד המקור של UEFI עם שרשרת הכלים של Linaro.
- הפעלת ה-Secure Monitor.
בניית ה-ATF
סעיף זה מתאר כיצד לבנות את ה-ATF עם המהדר Linaro GCC. כדי להתחיל לבנות את ה-ATF עם מהדר Linaro GCC, פשוט הפעל את השלבים הבאים
- שנה את הספרייה שלך למיקום קוד המקור של ATF באופן הבא:
- cd arm-trusted-firmware
- הגדר את נתיב GCC ומשתני הסביבה CROSS_COMPILE ל-Linaro Cross Compile באופן הבא: export PATH= /\gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/:$PATH
- ייצוא ARCH=arm64
- ייצוא CROSS_COMPILE=aarch64-linux-gnu-
- הסר את עץ הבנייה לחלוטין באופן הבא:
- להפוך ממש נקי
- בנה את ה-ATF באמצעות הפקודה הבאה:
- הפוך PLAT=stratix10 bl2 bl31
- ההודעות הבאות מופיעות כאשר בניית ה-ATF מצליחה

- הטבלה שלהלן מפרטת את הפלט של Secure Monitor files.
תיאורים של Secure Monitor Files
| File נתיב ושם | תֵאוּר |
| \build\stratix10\release\bl31.bin | בינארי שנוצר file |
| \build\stratix10\release\bl31\bl31.elf | שדון שנוצר file |
| \build\stratix10\release\bl2.bin | בינארי שנוצר file |
| \build\stratix10\release\bl2\bl2.elf | שדון שנוצר file |
בניית UEFI Boot Loader
כדי לבנות טוען אתחול של UEFI, אתה משיג את קוד המקור של UEFI ומקמפל את מקור ה-UEFI עם שרשרת הכלים הנתמכת.
ממשק הקושחה המורחב המאוחד (UEFI) הוא מפרט קושחה סטנדרטי המפשט ומאובטח אתחול הפלטפורמה ופעולות אתחול הקושחה. UEFI מפותחת ונתמכת כיום על ידי נציגים של יותר מ-250 חברות טכנולוגיה מובילות בתעשייה. Arm וקבוצת Linaro Enterprise גם מקדמות את השימוש בארכיטקטורת UEFI on Arm מכיוון שמפרט UEFI עוזר לתקנן את תהליך האתחול עבור פלטפורמות מבוססות מעבד Arm. טכנולוגיית UEFI מוגנת עתיד באמצעות סטנדרטיזציה של עיצוב קושחה ולא עיצוב קושחה קנייני. מפרטי UEFI מקדמים יעילות עסקית וטכנולוגית, משפרים ביצועים ואבטחה, מקלים על יכולת פעולה הדדית בין מכשירים, פלטפורמות ומערכות ועומדים בטכנולוגיות הדור הבא. מפרט UEFI הוא peer-reviewed ופורסם, המאפשר למפתחים לכתוב קושחה פעם אחת לכל פלטפורמה ולהשתמש בה מחדש ללא שינויים רבים. שימוש חוזר זה מביא לחיסכון בעלויות ובזמן במהלך פיתוח מטעין האתחול. מסגרת זו משתמשת ברישיון BSD, ומאפשרת לך למסחר באופן אופציונלי את היישום שלך עם בעיות משפטיות מינימליות. אתה יכול להרכיב את קוד המקור של UEFI במערכת Windows או במערכת לינוקס.
דרישות מוקדמות
בניית ה-UEFI דורשת חבילות לינוקס נוספות. בהתאם להפצת לינוקס שלך, הפקודה להתקנת החבילות שונה:
אם אתה משתמש בהפצה של אובונטו, הקלד
- sudo apt-get install uuid-dev build-essential
אם אתה משתמש בהפצה של פדורה, הקלד
- sudo yum להתקין uuid-devel libuuid-devel
לבניית UEFI, נדרשת חבילת Python. אם Python אינו זמין כבר במערכת שלך, הפעלת הפקודות מ-SoC EDS Embedded Command Shell מספקת את התלות הנדרשת ב-Python.
השגת קוד המקור של UEFI
קוד המקור של UEFI נמצא ב- GitHub. השלבים הבאים מראים לך כיצד להשיג את קוד המקור של UEFI.
- פתח מסוף.
- שיבוט את מקור ה-UEFI מעצי Git.
- בסיום, עברו לתיקיית edk2 ובצעו בדיקת Git.
- cd edk2
- git checkout socfpga_udk201905
קוד המקור של פלטפורמות edk2 נמצא ב- GitHub. כדי לקבל את קוד המקור של פלטפורמות edk2
- שיבוט git https://github.com/altera-opensource/edk2-platforms-socfpgaedk2-platforms
- cd edk2-פלטפורמות
- git checkout socfpga_udk201905
קומפילציה של קוד המקור של UEFI עם שרשרת הכלים של Linaro
סעיף זה מסביר כיצד להרכיב את קוד המקור של UEFI עם שרשרת הכלים Linaro במערכת לינוקס
- פתח מסוף והזן את הפקודה הבאה:
- 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-
- הגדר את EDK_TOOLS_PATH:
- ייצוא EDK_TOOLS_PATH=$PWD/edk2/BaseTools
- הגדר את ה-PACKAGES_PATH כדי להצביע על המיקום של המאגרים:
- export PACKAGES_PATH= $PWD/edk2:$PWD/edk2-platforms/
- הגדר את מרחב העבודה:
- ייצוא WORKSPACE = $PWD
- הגדר את סביבת הבנייה:
- edk2/edksetup.sh
- בניית BaseTools (ודא שכלי python מותקנים):
- עשה -C edk2/BaseTools
- הידור את טוען האתחול של UEFI על ידי הזנת הפקודה הבאה:
- 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
- הטרמינל שלך מציג הודעת "Build Done" לאחר הידור ה-UEFI בהצלחה.
UEFI שנוצר Files
הידור של קוד המקור של UEFI יוצר את הדברים הבאים files בתיקייה /Build/ Stratix10SoCPkg/RELEASE_GCC48:
UEFI שנוצר Files
| File | תֵאוּר |
| INTELSTRATIX10_EFI.fd | זֶה file הוא טוען האתחול של UEFI כדי לאתחל מעטפת UEFI ולאפשר תכונת Ethernet או להפעיל יישום UEFI |
יצירת ה-FIP
FIP הוא המטען שה-BL2 של ATF טוען ל-RAM ומבצע. ה-FIP מכיל את הקובץ הבינארי עבור טוען האתחול BL31 ו-UEFI, ומיכל ש-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
- קבל .sof file מספריית ההתקנה של $SOCEDS_DEST_ROOT.
- המר את הבינארי file bl2.bin, שנוצר בבניית ה-ATF.
- aarch64-linux-gnu-objcopy -I binary -O ihex – \-change-addresses 0xffe00000 bl2.bin bl2.hex
- כלול את טוען האתחול ב-.sof file כְּדִלקַמָן:
- quartus_pfg -c -o hps_path=bl2.hex \ghrd_1sx280lu2f50e2vg.sof ghrd_1sx280lu2f50e2vg_hps.sof

מידע קשור
- בניית ה-ATF.
יצירת תמונת כרטיס SD
- צור UEFI Bootloader ו-FIP כמו בבניית UEFI Boot Loader ויצירת FIP.
- בנה לינוקס ושורש file מערכת המבוססת על ההוראות ב- Rocketboard.
- בנה את תמונת כרטיס ה-SD:
- קבל את הסקריפט make_image python והפוך אותו לניתן להפעלה
- wget https://releases.rocketboards.org/release/2019.10/gsrd/tools/make_sdimage.py
- chmod +x make_sdimage.py
- הכן את תכולת מחיצת השומן:
- mkdir fat && cd fat
- cp /linux-socfpga/arch/arm64/boot/Image
- 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
- Image,socfpga_stratix10_socdk.dtb,num=1,format=fat32,size=500M -s 2G -n sdimage.img
- פֶּתֶק: אם כבר יש לך תמונת SD עם מחיצת A2, אתה יכול להחליף את ה-FIP file עם הפקודה למטה:
- sudo dd if =arm-trusted-firmware/build/stratix10/release/fip.bin of=/dev/sdx3
- קומפילציה של קוד המקור של UEFI עם שרשרת הכלים של Linaro.
- בניית UEFI Boot Loader.
הפעלת ה-Secure Monitor
- הפעל את הלוח לאחר הכנסת כרטיס ה-SD.
- פתח את מתכנת Quartus ותכנת את הלוח עם ה-.sof file נוצר ביצירת .sof File עם ATF.

- הלוח מאתחל מה-ATF וטוען אוטומטית את טוען האתחול של UEFI לאתחול מעטפת UEFI.
מידע קשור
- צור .sof file עם ATF.
איתור באגים עם DS
סעיף זה מתאר כיצד לטעון את טוען האתחול ATF ו-UEFI ללוח הפיזי דרך DS.
- ודא שהתקנת את DS. הפעל eclipse באמצעות הפקודה הבאה:
- armds_ide &
- הגדר חיבור ניפוי באגים חדש
- איור שלב

- איור שלב
- לאחר השלמת התצורה, התחבר אל היעד.
- פֶּתֶק: עליך לתכנת את הלוח עם ghrd_1sx280lu2f50e2vg_hps_debug.sof לפני חיבור ליעד.
- במסוף הפקודות של DS, אתה יכול לטעון סקריפט באגים עם התוכן הבא כדי להוריד את טוען האתחול ATF ו-UEFI ללוח הפיזי.

אתחול לינוקס
סעיף זה מראה לך כיצד לאתחל את לינוקס לאחר ש-UEFI נכנס למעטפת UEFI.
אתחול מ-UEFI Shell
- אתחל את הלוח עד למעטפת UEFI, כמתואר בהפעלת הצג המאובטח.
- לאחר טעינת מעטפת UEFI, הזן את הפקודה הבאה כדי לאתחל את לינוקס:
- תמונה dtb=socfpga_stratix10_socdk.dtb console=ttyS0,115200 root=/dev/mmcb
פֶּתֶק: ודא שתמונת Linux ו-dtb מאוחסנים בכרטיס ה-SD.

היסטוריית תיקונים של מסמך עבור Intel Stratix 10 SoC UEFI מדריך למשתמש של טוען האתחול
| גרסת מסמך | שינויים |
| 2020.06.19 | עדכנו את הסעיפים הבאים:
|
| 2019.03.28 |
|
| 2017.06.19 | שחרור ראשוני. |
תאגיד אינטל. כל הזכויות שמורות. Intel, הלוגו של Intel וסימני Intel אחרים הם סימנים מסחריים של Intel Corporation או של חברות הבת שלה. אינטל מתחייבת לביצועים של מוצרי ה-FPGA והמוליכים למחצה שלה לפי המפרט הנוכחי בהתאם לאחריות הסטנדרטית של אינטל, אך שומרת לעצמה את הזכות לבצע שינויים בכל מוצר ושירות בכל עת ללא הודעה מוקדמת. אינטל אינה נושאת באחריות או חבות הנובעת מהיישום או השימוש בכל מידע, מוצר או שירות המתוארים כאן, למעט כפי שהוסכם במפורש בכתב על ידי אינטל. ללקוחות אינטל מומלץ להשיג את הגרסה העדכנית ביותר של מפרטי המכשיר לפני הסתמכות על מידע שפורסם ולפני ביצוע הזמנות של מוצרים או שירותים. *שמות ומותגים אחרים עשויים להיטען כרכושם של אחרים.
תְעוּדַת זֶהוּת: 683134
גִרְסָה: 2020.06.19
מסמכים / משאבים
![]() |
מטעין האתחול של intel UG-20080 Stratix 10 SoC UEFI [pdfמדריך למשתמש UG-20080 Stratix 10 SoC UEFI Loader, UG-20080, Stratix 10 SoC UEFI Loader, 10 SoC UEFI Loader, UEFI Boot Loader |






