Raspberry Pi: vai tam ir BIOS?

Raspberry Pi BIOS

Daži lietotāji nez vai Raspberry Pi ir BIOS vai UEFI, tāpat kā citi datori, jo, kā zināms, UEFI tiek atbalstīts arī datoros, kuru pamatā ir Arm, kā tas ir gadījumā šis SBC ir tik populārs un lēts. Bet patiesība ir tāda, ka aveņu puiši ir izvēlējušies citu alternatīvu risinājumu.

Šeit jūs uzzināsit, kāds ir šis risinājums un kāpēc neizmanto šo programmaparatūru, papildus parādam, kā Raspberry Pi tiek veiktas dažas konfigurācijas, kad nav iestatīšanas izvēlnes, kā tas ir datoros...

Kāpēc Raspberry Pi neizmanto BIOS/UEFI?

Raspberry Pi 4

Kā jūs zināt, BIOS vai UEFI ir programmaparatūra kas atrodas daudzos datoros, gan galddatoros, klēpjdatoros, AIO, serveros, darbstacijās utt. Tomēr tas nav Raspberry Pi, lai gan tas ir SBC (Single Board Computer), atšķirībā no citiem x86 SBC, kas izmanto šo programmaparatūru sāknēšanas procesam un sistēmas pārbaudei. Un tas nav tāpēc, ka Raspberry Pi ir balstīts uz ARM, jo daudziem ARM datoriem ir arī BIOS/UEFI.

No otras puses, jāsaka, ka šī programmaparatūra ir izstrādāta tā, lai bagāžnieks vienkāršāk no datu nesēja, kurā atrodas operētājsistēma, turklāt var kontrolēt daudzus citus iestatījumus. Šeit viņš sniedz mums norādes par to, kāpēc Raspberry Pi neizmanto BIOS. No vienas puses, tāpēc, ka tā var sāknēt ierīces tikai no tā paša datu nesēja, piemēram, SD kartes, nevis citos veidos. Un no otras puses, jo perifērijas ierīču un funkciju skaits Raspberry Pi ir ierobežotāks.

Tomēr tas nav pilnīgs iemesls neizmantot BIOS vai UEFI. Patiesībā, ja mēs rūpīgi analizējam, Raspberry Pi ARM SoC izmanto savu iekšējo programmaparatūru lai palaistu CPU pareizā stāvoklī un pārējo sistēmu bez nepieciešamības pēc atsevišķas BIOS mikroshēmas. Bet... kāpēc tad nevar piekļūt BIOS Setup vai BIOS izvēlnei? No vienas puses, tā kā šī programmaparatūra ir ļoti ierobežota un nav tik sarežģīta kā BIOS/UEFI, tāpēc izvēlnei parametru konfigurēšanai nebūtu nozīmes, un, no otras puses, iepriekšminētā dēļ to var sāknēt tikai no noklusējuma datu nesējs, tāpat kā SD karte.

Raspberry Pi izstrādātāji šī iemesla dēļ ir izvēlējušies izmantot šo pamata programmaparatūru inicializēšanai un sāknēšanai no SD kartes, nevis rom mikroshēma ar sarežģītāku programmaparatūru, kas instalēta PCB. Un tā ir tā, ka, ja paskatās, arī mobilajām ierīcēm nav BIOS / UEFI, jo tās var palaist tikai Android (vai citu operētājsistēmu) no iekšējās atmiņas.

Tādā veidā, no vienas puses, tiek saglabāta papildu mikroshēma uz tāfeles, un, no otras puses, tiek novērsta arī nepieciešamība iekļaut zibatmiņu glabāšanai. padarītu Raspberry Pi dārgāku. SD karte ir jāiegādājas atsevišķi.

Tomēr jāsaka, ka Raspberry Pi 3 tika pievienots eksperimentālais atbalsts sāknēšana no USB datu nesēja kurām ir jābūt skaidri iespējotām un kuras nevar atspējot. Tas ir iekļauts jaunās versijas SoC iegultajā programmaparatūrā, taču tas bija nedaudz sarežģītāks, iespējams, tāpēc viņi sākotnēji nolēma sākt ar vienkāršām lietām un izmantot sāknēšanu tikai no SD atmiņas kartēm.

Ko tā vietā izmantoja Raspberry Pi?

Rasbperijs Pi 4 spēks

Raspberry Pi nav BIOS vai UEFI, kā to saprot, piemēram, datoru pasaulē, taču tam ir slēgtā avota programmaparatūra SoC, kā jau minēju iepriekš. Šo mikroshēmu ir izstrādājis uzņēmums Broadcom, kas piegādā BCM šīm Raspberry Pi Foundation plāksnēm.

Jo SoC (mikroshēmas sistēma) Tajā ir integrēts ARM Cortex-A sērijas centrālais procesors, VideoCore GPU, DSP digitālai signālu apstrādei, SDRAM atmiņa, ko koplieto CPU un GPU, un kontrolieri, piemēram, USB utt. Turklāt tajā ir iekļauta arī ROM atmiņa, kurā ir integrēta programmaparatūra, par kuru mēs runājam, un kas ir nepieciešama sāknēšanai.

sākuma procedūra

L soļi Šī programmaparatūra ir šāda:

  1. Šī programmaparatūra rūpējas par to startēt sāknēšanas programmu operētājsistēmas, kas atrodas SD kartē. Kā zināms, sāknēšanas ielādētājs uzstāda SD atmiņas kartes FAT32 nodalījumu un pāriet uz otro sāknēšanas stadiju, kas ir ieprogrammēta SoC un nav modificējama.
  2. Otrajā posmā fails, kas pazīstams kā bootcode.bin, kurā ir sagatavota un palaists GPU programmaparatūra. Šo failu var saglabāt tikai SD kartē, tāpēc sāknēšanas prioritāti nevar mainīt tāpat kā parastajā datora BIOS/UEFI, un tas tiks sāknēts tikai no turienes. Tomēr, kā jau teicu, Pi 3 eksperimentāli tika pievienota arī iespēja palaist no USB.
  3. Pēc tam nāk trešais posms, kurā tiek izmantots start.elf fails, kas palaiž CPU, un fails fixup.dat, kas tiek izmantots, lai izveidotu nepieciešamo nodalījumu SDRAM, lai to varētu sākt lietot. CPU un GPU.
  4. Visbeidzot, tiek izpildīts lietotāja kods, kas parasti ir izpildāmie binārie faili vai attēli Linux kodols, piemēram, kernel.img, vai no citām operētājsistēmām, ko atbalsta Raspberry Pi, un šādi operētājsistēma tiek palaists, lai jūs varētu to izmantot...

Kā jūs redzējāt, tas ir vienkāršs process, bet nedaudz dīvaini, ja salīdzinām to ar datoru vai citiem datoriem. Un tā ir tā, ka Raspberry Pi gadījumā CPU palaišanas vietā, kā citos gadījumos, Vispirms tiek palaists GPU. Faktiski šis Broadcomo GPU būs atbildīgs par sava veida iegultās operētājsistēmas izpildi SoC, kas ir ļoti vienkārša, bet nepieciešama darbībai. Tā ir pazīstama kā VCOS (Video Core Operating System), un tā sazināsies ar Linux. Tas notiek ļoti reti, taču patiesība ir tāda, ka Pi GPU ir atbildīgs ne tikai par grafiku un palaišanu, bet arī par vadības sistēmas pulkstenis un audio.

Principā, to sakot, šķiet, ka mēs maz varam darīt modificēt sāknēšanas konfigurācijuBet patiesība ir tāda, ka tas gluži tā nav. Un tas ir tāds, ka ir fails ar nosaukumu config.txt, kas atrodas sistēmas direktorijā /boot/ un, ja tas tiek atvērts ar teksta redaktoru, tā saturu var viegli modificēt, lai mainītu sāknēšanu un konfigurētu to ar noteiktiem parametriem. .

šis config.txt failu to nolasīs GPU pēc ARM kodola palaišanas, un tajā ir norādījumi, lai SoC zinātu, kā rīkoties sistēmas sāknēšanas laikā. Piemēram, mēs varam modificēt tajā esošo atmiņu, atsvaidzināt atmiņu, atspējot piekļuvi L2 kešatmiņai, mainīt CMA konfigurāciju, iespējot vai atspējot kameras LED, mainīt video režīma opcijas, kodekus, dažas palaišanas, pārstartēšanas iespējas utt.

Šim failam ir a sintakse diezgan savdabīgs, tāpēc tas ir jāievēro, lai izvairītos no problēmām startēšanas laikā. Un, ja vēlaties par to uzzināt vairāk, varat izlasiet wiki, kuru es jums atstāju šajā saitē.

Mainiet sāknēšanas prioritāti Raspberry Pi

NOOBS config.txt

Mainot sāknēšanas secību vai prioritāti datorā, viss ir ļoti vienkārši, jums vienkārši jāievada BIOS/UEFI, un cilnē Boot varat atrast parametrus, kurus varat mainīt, lai palaistu no cietā diska, optiskā datu nesēja. , USB, tīkls utt. Tā vietā ar Raspberry Pi tas nav tik vienkārši. Pēc noklusējuma tas vienmēr sāks OS no SD atmiņas kartes, kas ievietota SBC. Faktiski pat pēc 3. versijas, ja ir ievietota gan SD karte, gan USB atmiņa, sistēma joprojām tiks sāknēta no SD kartes. Ja SD ir noņemts un ir atstāts tikai USB, tas tiks darīts, izmantojot USB.

Bet šo secību var mainīt. par to jums ir jābūt sākt raspbianpiemēram, un rīkojieties šādi:

  • Atveriet Raspberry Pi iestatīšanu ar komandu:
sudo raspi-config
  • Dodieties uz sadaļu "Papildu opcijas". (piezīme, izvēlne ir angļu valodā)
  • Pēc tam šajā sadaļā nospiediet ENTER opcijā "Sāknēšanas secība".
  • Tagad jums vajadzētu redzēt trīs dažādas iespējas, no kurām izvēlēties:
    • SD kartes sāknēšana- Pēc noklusējuma šī opcija jau ir iespējota jūsu Raspberry Pi ierīcē, un, ja vienlaikus ievietojat SD karti un USB, sistēma izmantos SD karti kā noklusējuma sāknēšanas opciju, ja vien to neizņemsit.
    • usb sāknēšana: ja vēlaties izmantot USB kā galveno sāknēšanas ierīci, varat atlasīt šo opciju, kas darbojas, ja Raspberry Pi ir ievietota USB ierīce. Pretējā gadījumā jums nevajadzētu ievietot SD karti, lai palaistu sistēmu.
    • tīkla sāknēšana: šī sāknēšanas opcija ir noderīga, ja Raspberry Pi SD karte kāda iemesla dēļ nedarbojas vai ja ir problēmas ar operētājsistēmu. Tādā gadījumā tā izmantos Imager rīku, lai atkārtoti instalētu sistēmu SD kartē.

Kad esat pabeidzis, varat restartējiet Raspberry pi lai piemērotu izmaiņas...

Diagnosticēt Raspberry Pi problēmas (POST)

Visbeidzot, jūs zināt, ka BIOS/UEFI ir darbība ar nosaukumu POST, kas tiek veikta pirms operētājsistēmas sāknēšanas un kas pārbaudīs dažādu komponentu statusu. Ja viss ir kārtībā, OS tiks palaists. Bet, ja tas konstatē kādu problēmu, tas apstājas un ekrānā parāda kļūdas ziņojumu vai izdod skaņas signālu, lai noteiktu problēmas cēloni.

Tas arī nepastāv Raspberry Pi. Tomēr SoC programmaparatūrai ir metode, kā mēģināt atzīmēt problēmas, kas var rasties, lai atvieglotu diagnostiku. Un tas ir ar tā jaudas LED. Piemēram, Raspberry Pi 4 gaismas kodi, ko LED izstaro, lai norādītu uz problēmām, ir:

ilgi mirgo īsi uzplaiksnījumi Status
0 3 Vispārēja kļūme palaišanas laikā
0 4 start*.elf nav atrasts
0 7 Kodola attēls nav atrasts
0 8 SDRAM kļūme
0 9 nepietiekams SDRAM
0 10 HALT stāvoklī
2 1 Sadalījums nav FAT (nav atbalstīts)
2 2 Neizdevās nolasīt nodalījumu
2 3 ne-FAT paplašinātais nodalījums
2 4 Jaukums vai paraksts neatbilst
3 1 SPI-EEPROM kļūda
3 2 SPI EEPROM rakstīšanas aizsargāts
3 3 I2C kļūda
4 4 Plātnes veids netiek atbalstīts
4 5 fatāla programmaparatūras kļūda
4 6 A tipa aizdedzes izlaidums
4 7 B tipa aizdedzes izlaidums

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.