Raspberry Pi: יש לו BIOS?

Raspberry Pi BIOS

חלק מהמשתמשים תוהה אם ל-Raspberry Pi יש BIOS או UEFI, כמו מחשבים אחרים, מכיוון ש-UEFI, כידוע, נתמך גם במחשבים מבוססי Arm, כפי שקורה עם SBC כל כך פופולרי וזול. אבל האמת היא שהחבר'ה הפטל בחרו בפתרון חלופי אחר.

כאן תלמד מהו הפתרון הזה והסיבות לכך אינו משתמש בקושחה זו, בנוסף להראות לך איך כמה תצורות נעשות ב-Raspberry Pi כאשר אין תפריט הגדרות כמו במחשבים...

מדוע ה-Raspberry Pi אינו משתמש ב-BIOS/UEFI?

פטל Pi 4

כפי שאתה יודע, ה BIOS או UEFI הם קושחה שקיים בהמון מחשבים, הן מחשבים שולחניים, מחשבים ניידים, AIO, שרתים, תחנות עבודה וכו'. עם זאת, זה לא נמצא ב-Raspberry Pi, למרות היותו מחשב SBC (Single Board Computer), בניגוד ל-X86 SBCs אחרים שכן משתמשים בקושחה זו לתהליך האתחול ולבדיקת המערכת. וזה לא בגלל שה-Raspberry Pi מבוסס על ARM, שכן למחשבי ARM רבים יש גם BIOS/UEFI.

מצד שני, יש לומר שהקושחה הזו מתוכננת כך המגף קל יותר מאמצעי האחסון בו ממוקמת מערכת ההפעלה, בנוסף ליכולת לשלוט בהגדרות רבות אחרות. זה המקום שבו הוא נותן לנו רמזים מדוע ה-Raspberry Pi לא משתמש ב-BIOS. מצד אחד, כי הוא יכול רק לאתחל מכשירים מאותו מדיום, כמו כרטיסי SD, ולא בדרכים אחרות. ומצד שני בגלל שמספר הציוד ההיקפי והפונקציות ב-Raspberry Pi מוגבל יותר.

עם זאת, זו לא לגמרי סיבה לא להשתמש ב-BIOS או UEFI. למעשה, אם ננתח בקפידה, ה ה-ARM SoC של Raspberry Pi משתמש בקושחה פנימית משלו לאתחל את המעבד למצב תקין ואת שאר המערכת ללא צורך בשבב BIOS נפרד. אבל... אז למה אתה לא יכול לגשת לתפריט BIOS Setup או BIOS? מצד אחד, מכיוון שהקושחה הזו מוגבלת מאוד, ולא מורכבת כמו ה-BIOS/UEFI, אז תפריט לקביעת פרמטרים יהיה חסר משמעות, ומצד שני, בגלל מה שהוזכר קודם, שהוא יכול לאתחל רק מ- אמצעי אחסון ברירת מחדל. כמו גם כרטיס ה-SD.

מפתחי ה-Raspberry Pi העדיפו מסיבה זו להשתמש בקושחה הבסיסית הזו לאתחול ואתחול מכרטיס SD במקום להשתמש שבב רום עם קושחה מורכבת יותר מותקנת על ה-PCB. וזה שאם תסתכל, למכשירים ניידים אין גם BIOS / UEFI, מכיוון שהם יכולים לאתחל רק את אנדרואיד (או מערכת הפעלה אחרת), מהזיכרון הפנימי.

כך נחסך מצד אחד אותו שבב נוסף על הלוח, ומצד שני מתבטל גם הצורך לכלול זיכרון פלאש לאחסון. ייקר את ה-Raspberry Pi. אתה צריך לקנות את כרטיס ה-SD בנפרד.

עם זאת, יש לומר כי ב-Raspberry Pi 3 נוספה תמיכה ניסיונית עבור אתחול ממדיה USB אשר חייב להיות מופעל במפורש ולא ניתן להשבית. זה כלול בקושחה המשובצת של ה-SoC של הגרסה החדשה, אבל זה היה קצת יותר מסובך, וזו כנראה הסיבה שבהתחלה הם החליטו להתחיל עם הדברים הקלים ולהשתמש באתחול רק מכרטיסי זיכרון SD.

במה השתמש ה-Raspberry Pi במקום?

Rasbperry Pi 4 כוח

ל-Raspberry Pi אין BIOS או UEFI כפי שמבינים בעולם המחשבים, למשל, אבל יש לו קושחת קוד סגור ב-SoC כפי שציינתי למעלה. שבב זה תוכנן על ידי חברת Broadcom, המספקת את ה-BCMs ללוחות Raspberry Pi Foundation אלה.

ב SoC (מערכת על שבב) הוא משלב מעבד מסדרת ARM Cortex-A, VideoCore GPU, DSP לעיבוד אותות דיגיטלי, זיכרון SDRAM משותף למעבד ול-GPU, ובקרים כמו USB וכו'. בנוסף, הוא כולל גם זיכרון ROM בו משולבת הקושחה עליה אנו מדברים וזה הכרחי לאתחול.

תחילת הליך

ل pasos שאחרי הקושחה הזו הם:

  1. קושחה זו מטפלת הפעל את טוען האתחול של מערכת ההפעלה שנמצאת בכרטיס ה-SD. כידוע, טוען האתחול מעלה את מחיצת ה-FAT32 של כרטיס הזיכרון SD ועובר לשלב האתחול השני, שמתוכנת ב-SoC ולא ניתן לשנותו.
  2. בשלב השני, קובץ המכונה bootcode.bin, שבו מכינים ומופעלים את קושחת ה-GPU. ניתן לאחסן קובץ זה רק בכרטיס ה-SD, כך שלא ניתן לשנות את עדיפות האתחול כמו ב-BIOS/UEFI קונבנציונלי של מחשב, והוא יאתחל רק משם. עם זאת, כפי שאמרתי, ב-Pi 3 נוספה בניסוי גם היכולת לאתחל מ-USB.
  3. לאחר מכן מגיע שלב שלישי בו נעשה שימוש בקובץ start.elf, המפעיל את המעבד, ובקובץ בשם fixup.dat, המשמש ליצירת המחיצה הדרושה ב-SDRAM כדי שניתן יהיה להתחיל להשתמש בו. על ידי המעבד וה-GPU.
  4. לבסוף, קוד המשתמש מבוצע, שהם בדרך כלל הקבצים הבינאריים הניתנים להפעלה או התמונות של ליבת לינוקס, כגון kernel.img, או ממערכות הפעלה אחרות הנתמכות על ידי ה-Raspberry Pi, וכך מערכת ההפעלה מאתחלת כדי שתוכל להשתמש בה...

כפי שראית, זה תהליך פשוט, אבל קצת מוזר אם נשווה אותו למחשב או למחשבים אחרים. וזה שבמקרה של Raspberry Pi, במקום להפעיל את המעבד, כמו במקרים אחרים, מגפי GPU קודם. למעשה, Broadcomo GPU זה יהיה אחראי על ביצוע מעין מערכת הפעלה משובצת ב-SoC שהיא מאוד פשוטה, אבל הכרחית לתפקוד. זה ידוע בשם VCOS (מערכת הפעלה וידאו ליבה), והוא יתקשר עם לינוקס. זה נדיר מאוד, אבל האמת היא שה-GPU של ה-Pi לא רק אחראי על הגרפיקה וההתנעה, הוא גם אחראי על מערכת בקרת שעון ושמע.

באופן עקרוני, לאחר שאמרתי את זה, נראה שיש מעט שאנחנו יכולים לעשות כדי לשנות את תצורת האתחולאבל האמת היא שזה לא לגמרי ככה. וזה שיש קובץ בשם config.txt שנמצא בספריית /boot/ של המערכת ואם הוא נפתח עם עורך טקסט, ניתן לשנות את התוכן שלו בקלות כדי לשנות את האתחול ולהגדיר אותו עם פרמטרים מסוימים .

זה קובץ config.txt הוא ייקרא על ידי ה-GPU לאחר הפעלת ליבת ARM, והוא מכיל הוראות ל-SoC לדעת מה לעשות במהלך אתחול המערכת. לדוגמה, אנו יכולים לשנות את הזיכרון הייעודי בו, את רענון הזיכרון, להשבית את הגישה למטמון L2, לשנות את תצורת ה-CMA, להפעיל או להשבית את LED המצלמה, לשנות אפשרויות של מצב וידאו, קודקים, כמה אפשרויות אתחול, אוברקלוקינג וכו'.

לקובץ הזה יש א תחביר די מוזר, אז יש לכבד את זה כדי למנוע בעיות בהפעלה. ואם אתה רוצה מידע נוסף על זה, אתה יכול קרא את הוויקי שאני משאיר לך בקישור הזה.

שנה את עדיפות האתחול ב-Raspberry Pi

NOOBS config.txt

כאשר אתה משנה את סדר האתחול או העדיפות במחשב, הכל מאוד פשוט, אתה רק צריך להיכנס ל-BIOS/UEFI, ובכרטיסייה אתחול אתה יכול למצוא את הפרמטרים שאתה יכול לשנות כדי לאתחל מהדיסק הקשיח, מדיום אופטי , USB, רשת וכו'. במקום זאת, ב-Raspberry Pi זה לא כל כך קל. כברירת מחדל זה תמיד יאתחל את מערכת ההפעלה מכרטיס הזיכרון SD שהוכנס ל-SBC. למעשה, גם לאחר גרסה 3, אם מכניסים גם כרטיס SD וגם מקל USB, המערכת עדיין תאתחל מ-SD תחילה. אם ה-SD יוסר ונשאר רק ה-USB, זה יתבצע דרך ה-USB.

אבל ניתן לשנות את הסדר הזה. בשביל זה אתה חייב להתחיל רספביאן, לדוגמה, ובצע את הפעולות הבאות:

  • פתח את הגדרת Raspberry Pi עם הפקודה:
sudo raspi-config
  • עבור לקטע "אפשרויות מתקדמות". (שימו לב, התפריט הוא באנגלית)
  • לאחר מכן, בתוך סעיף זה, הקש ENTER על האפשרות "סדר אתחול".
  • כעת אתה אמור לראות שלוש אפשרויות שונות לבחירה:
    • אתחול כרטיס SD- כברירת מחדל, אפשרות זו כבר מופעלת במכשיר ה-Raspberry Pi שלך ואם תכניס כרטיס SD ו-USB בו-זמנית, המערכת תשתמש בכרטיס ה-SD כאפשרות אתחול ברירת המחדל אלא אם תסיר אותו.
    • אתחול usb: אם ברצונך להשתמש ב-USB כהתקן הראשי לאתחול, תוכל לבחור באפשרות זו, שפועלת כאשר מוכנס לך התקן USB ל-Raspberry Pi. אחרת, אין להכניס כרטיס SD כדי לאתחל את המערכת.
    • אתחול רשת: אפשרות אתחול זו שימושית אם כרטיס ה-Raspberry Pi SD שלך לא עובד מסיבה כלשהי או אם יש בעיה במערכת ההפעלה שלך. במקרה זה, הוא יעשה שימוש בכלי Imager כדי להתקין מחדש את המערכת בכרטיס ה-SD.

לאחר שתסיים, אתה יכול הפעל מחדש את ה-raspberry pi להחיל את השינויים...

אבחון בעיות Raspberry Pi (POST)

לבסוף, תדע שב-BIOS/UEFI ישנו שלב שנקרא POST שמתבצע לפני אתחול מערכת ההפעלה שיבדוק את מצב הרכיבים השונים. אם הכל בסדר, זה יתחיל את מערכת ההפעלה. אבל אם הוא מזהה בעיה כלשהי, הוא מפסיק ומציג הודעת שגיאה על המסך או פולט איזה קוד צפצוף נשמע כדי לזהות מה הבעיה.

גם זה ב-Raspberry Pi לא קיים. עם זאת, לקושחת ה-SoC יש שיטה לנסות לסמן בעיות שעלולות להתרחש לצורך אבחון קל. וזה דרך LED הכוח שלו. לדוגמה, עבור Raspberry Pi 4, קודי האור שה-LED פולטת כדי לציין בעיות הם:

הבזקים ארוכים הבזקים קצרים מצב
0 3 כשל כללי במהלך האתחול
0 4 start*.elf לא נמצא
0 7 תמונת ליבה לא נמצאה
0 8 כשל ב-SDRAM
0 9 לא מספיק SDRAM
0 10 במצב HALT
2 1 המחיצה אינה FAT (לא נתמכת)
2 2 קריאת המחיצה נכשלה
2 3 מחיצה מורחבת ללא FAT
2 4 Hash או חתימה אינם תואמים
3 1 שגיאת SPI-EEPROM
3 2 SPI EEPROM מוגן כתיבה
3 3 שגיאת I2C
4 4 סוג הלוח אינו נתמך
4 5 שגיאת קושחה קטלנית
4 6 סוג A Misfire
4 7 Type B Misfire

היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.