Raspberry Pi: adakah ia mempunyai BIOS?

BIOS Raspberry Pi

Sebilangan pengguna tertanya-tanya jika Raspberry Pi mempunyai BIOS atau UEFI, seperti komputer lain, kerana UEFI, seperti yang anda ketahui, juga disokong pada komputer berasaskan Arm, seperti yang berlaku dengan SBC ini sangat popular dan murah. Tetapi kebenarannya ialah lelaki raspberi telah memilih penyelesaian alternatif lain.

Di sini anda akan belajar apakah penyelesaian itu dan sebabnya tidak menggunakan perisian tegar ini, selain menunjukkan kepada anda cara beberapa konfigurasi dibuat pada Raspberry Pi apabila tiada Menu Persediaan seperti pada komputer...

Mengapa Raspberry Pi tidak menggunakan BIOS/UEFI?

Raspberry Pi 4

Seperti yang anda tahu, BIOS atau UEFI ialah perisian tegar yang terdapat dalam pelbagai komputer, kedua-dua desktop, komputer riba, AIO, pelayan, stesen kerja, dsb. Walau bagaimanapun, ia bukan pada Raspberry Pi, walaupun merupakan SBC (Komputer Papan Tunggal), tidak seperti SBC x86 lain yang menggunakan perisian tegar ini untuk proses but dan semakan sistem. Dan ini bukan kerana Raspberry Pi adalah berasaskan ARM, kerana banyak komputer ARM juga mempunyai BIOS/UEFI.

Sebaliknya, mesti dikatakan bahawa firmware ini direka supaya but lebih mudah daripada medium storan di mana sistem pengendalian terletak, selain dapat mengawal banyak tetapan lain. Di sinilah dia memberi kita petunjuk mengapa Raspberry Pi tidak menggunakan BIOS. Di satu pihak, kerana ia hanya boleh boot peranti dari medium yang sama, seperti kad SD, dan bukan dengan cara lain. Dan sebaliknya kerana bilangan persisian dan fungsi dalam Raspberry Pi adalah lebih terhad.

Walau bagaimanapun, ini bukan sepenuhnya alasan untuk tidak menggunakan BIOS atau UEFI. Malah, jika kita menganalisis dengan teliti, yang SoC ARM Raspberry Pi menggunakan perisian tegar dalamannya sendiri untuk boot CPU ke dalam keadaan yang betul dan seluruh sistem tanpa memerlukan cip BIOS yang berasingan. Tetapi... kemudian mengapa anda tidak boleh mengakses BIOS Setup atau menu BIOS? Di satu pihak, kerana perisian tegar ini sangat terhad, dan tidak sekompleks BIOS/UEFI, jadi menu untuk mengkonfigurasi parameter tidak akan bermakna, dan di sisi lain, kerana apa yang telah disebutkan sebelum ini, ia hanya boleh boot dari medium storan lalai. , begitu juga dengan kad SD.

Oleh sebab itu, pembangun Raspberry Pi lebih suka menggunakan perisian tegar asas ini untuk permulaan dan but daripada kad SD daripada menggunakan cip rom dengan perisian tegar yang lebih kompleks dipasang pada PCB. Dan itu, jika anda melihat, peranti mudah alih tidak mempunyai BIOS / UEFI sama ada, kerana mereka hanya boleh boot Android (atau sistem pengendalian lain), dari memori dalaman.

Dengan cara ini, dalam satu tangan, cip tambahan pada papan itu disimpan, dan sebaliknya, keperluan untuk memasukkan memori kilat untuk penyimpanan juga dihapuskan. akan menjadikan Raspberry Pi lebih mahal. Anda perlu membeli kad SD secara berasingan.

Walau bagaimanapun, ia mesti dikatakan bahawa dalam Raspberry Pi 3 sokongan eksperimen telah ditambah untuk but daripada media USB yang mesti didayakan secara eksplisit dan tidak boleh dilumpuhkan. Ini termasuk dalam perisian tegar terbenam SoC versi baharu, tetapi ini agak rumit, itulah sebabnya mereka pada mulanya memutuskan untuk memulakan dengan perkara yang mudah dan menggunakan but hanya daripada kad memori SD.

Apakah yang digunakan oleh Raspberry Pi?

Kuasa Rasbperry Pi 4

Raspberry Pi tidak mempunyai BIOS atau UEFI seperti yang difahami dalam dunia PC, sebagai contoh, tetapi ia mempunyai perisian tegar sumber tertutup dalam SoC seperti yang saya nyatakan di atas. Cip ini direka oleh syarikat Broadcom, yang membekalkan BCM kepada papan Raspberry Pi Foundation ini.

Di dalamnya SoC (Sistem pada Cip) Ia menyepadukan CPU Siri ARM Cortex-A, GPU VideoCore, DSP untuk pemprosesan isyarat digital, memori SDRAM yang dikongsi oleh CPU dan GPU, dan pengawal seperti USB, dsb. Di samping itu, ia juga termasuk memori ROM di mana perisian tegar yang kita bicarakan disepadukan dan yang diperlukan untuk but.

prosedur permulaan

The langkah-langkah yang mengikuti firmware ini ialah:

  1. Firmware ini menjaganya mulakan pemuat but sistem pengendalian yang terdapat pada kad SD. Seperti yang anda ketahui, pemuat but memasang partition FAT32 kad memori SD dan pergi ke peringkat but kedua, yang diprogramkan dalam SoC dan tidak boleh diubah suai.
  2. Pada peringkat kedua, fail yang dikenali sebagai bootcode.bin, di mana perisian tegar GPU disediakan dan dimulakan. Fail ini hanya boleh disimpan pada kad SD, jadi keutamaan but tidak boleh diubah seperti dalam BIOS/UEFI konvensional PC, dan ia hanya akan boot dari sana. Walau bagaimanapun, seperti yang saya katakan, pada Pi 3 keupayaan untuk boot dari USB juga ditambah secara eksperimen.
  3. Kemudian datang peringkat ketiga di mana penggunaan dibuat daripada fail start.elf, yang memulakan CPU, dan fail yang dipanggil fixup.dat, yang digunakan untuk mencipta partition yang diperlukan dalam SDRAM supaya ia boleh mula digunakan oleh CPU dan GPU.
  4. Akhirnya, kod pengguna dilaksanakan, yang biasanya binari boleh laku atau imej bagi Kernel Linux, seperti kernel.img, atau daripada sistem pengendalian lain yang disokong oleh Raspberry Pi, dan ini adalah cara sistem pengendalian but supaya anda boleh menggunakannya...

Seperti yang anda lihat, ia adalah satu proses yang mudah, tetapi agak pelik jika kita membandingkannya dengan PC atau komputer lain. Dan ia adalah, dalam kes Raspberry Pi, bukannya memulakan CPU, seperti dalam kes lain, GPU but dahulu. Malah, GPU Broadcomo ini akan bertanggungjawab melaksanakan sejenis sistem pengendalian terbenam dalam SoC yang sangat mudah, tetapi perlu untuk berfungsi. Ia dikenali sebagai VCOS (Video Core Operating System), dan ia akan berkomunikasi dengan Linux. Ini sangat jarang berlaku, tetapi sebenarnya adalah bahawa GPU Pi bukan sahaja bertanggungjawab ke atas grafik dan permulaan, ia juga bertanggungjawab untuk jam sistem kawalan dan audio.

Pada dasarnya, setelah mengatakan ini, nampaknya tidak banyak yang boleh kita lakukan ubah suai konfigurasi butTetapi hakikatnya ia tidak sepenuhnya seperti itu. Dan ia adalah bahawa terdapat fail yang dipanggil config.txt yang terletak dalam direktori /boot/ sistem dan jika ia dibuka dengan editor teks, kandungannya boleh diubah suai dengan mudah untuk mengubah but dan mengkonfigurasinya dengan parameter tertentu .

ini fail config.txt ia akan dibaca oleh GPU selepas memulakan kernel ARM, dan ia mengandungi arahan untuk SoC mengetahui perkara yang perlu dilakukan semasa but sistem. Sebagai contoh, kita boleh mengubah suai memori khusus di dalamnya, menyegarkan semula memori, melumpuhkan akses kepada cache L2, mengubah konfigurasi CMA, mendayakan atau melumpuhkan LED kamera, menukar pilihan mod video, codec, beberapa pilihan boot, overclocking, dsb.

Fail ini mempunyai a sintaks agak pelik, jadi ia mesti dihormati untuk mengelakkan masalah pada permulaan. Dan jika anda mahukan maklumat lanjut mengenainya, anda boleh baca wiki yang saya tinggalkan kepada anda dalam pautan ini.

Tukar Keutamaan But pada Raspberry Pi

NO.BS config.txt

Apabila anda menukar susunan but atau keutamaan pada PC, semuanya sangat mudah, anda hanya perlu memasukkan BIOS/UEFI, dan dalam tab Boot anda boleh menemui parameter yang anda boleh ubah untuk boot dari cakera keras, medium optik , USB, rangkaian, dsb. Sebaliknya, pada Raspberry Pi ia tidak begitu mudah. Secara lalai ia akan sentiasa but OS daripada kad memori SD yang dimasukkan dalam SBC. Malah, walaupun selepas versi 3, jika kedua-dua kad SD dan batang USB dimasukkan, sistem masih akan but daripada SD dahulu. Jika SD dialih keluar dan hanya USB yang tinggal, maka ia akan dilakukan melalui USB.

Tetapi pesanan ini boleh diubah. untuk itu anda mesti mulakan raspbian, sebagai contoh, dan lakukan perkara berikut:

  • Buka persediaan Raspberry Pi dengan arahan:
sudo raspi-config
  • Pergi ke bahagian "Pilihan Lanjutan". (perhatian, menu adalah dalam bahasa Inggeris)
  • Kemudian, dalam bahagian ini, tekan ENTER pada pilihan "Boot Order".
  • Anda kini sepatutnya melihat tiga pilihan berbeza untuk dipilih:
    • But kad SD- Secara lalai, pilihan ini sudah didayakan pada peranti Raspberry Pi anda dan jika anda memasukkan kad SD dan USB secara serentak, sistem akan menggunakan kad SD sebagai pilihan but lalai melainkan anda mengalih keluarnya.
    • but usb: Jika anda ingin menggunakan USB sebagai peranti utama untuk but, anda boleh memilih pilihan ini, yang berfungsi apabila anda mempunyai peranti USB dimasukkan ke dalam Raspberry Pi. Jika tidak, anda tidak seharusnya memasukkan kad SD untuk but sistem.
    • but rangkaian: Pilihan but ini berguna jika kad SD Raspberry Pi anda tidak berfungsi atas sebab tertentu atau jika terdapat masalah dengan sistem pengendalian anda. Dalam kes itu, ia akan menggunakan alat Imager untuk memasang semula sistem pada kad SD.

Setelah anda selesai, anda boleh but semula raspberry pi untuk menerapkan perubahan...

Diagnosis masalah Raspberry Pi (POST)

Akhir sekali, anda akan tahu bahawa dalam BIOS/UEFI terdapat langkah yang dipanggil POST yang dijalankan sebelum sistem pengendalian but dan yang akan menyemak status komponen yang berbeza. Jika semuanya OK, ia akan memulakan OS. Tetapi jika ia mengesan sebarang masalah, ia berhenti dan memaparkan mesej ralat pada skrin atau mengeluarkan beberapa kod bip yang boleh didengar untuk mengenal pasti masalahnya.

Ini pada Raspberry Pi juga tidak wujud. Walau bagaimanapun, perisian tegar SoC mempunyai kaedah untuk mencuba membenderakan masalah yang mungkin berlaku untuk diagnosis yang mudah. Dan itu melalui LED kuasanya. Sebagai contoh, untuk Raspberry Pi 4, kod cahaya yang dipancarkan LED untuk menunjukkan masalah ialah:

kilat panjang kilat pendek status
0 3 Kegagalan umum semasa permulaan
0 4 mula*.elf tidak ditemui
0 7 Imej kernel tidak ditemui
0 8 Kegagalan SDRAM
0 9 SDRAM tidak mencukupi
0 10 dalam keadaan HALT
2 1 Partition bukan FAT (tidak disokong)
2 2 Gagal membaca partition
2 3 partition lanjutan bukan FAT
2 4 Hash atau tandatangan tidak sepadan
3 1 Ralat SPI-EEPROM
3 2 SPI EEPROM dilindungi tulis
3 3 ralat I2C
4 4 Jenis papan tidak disokong
4 5 ralat perisian tegar yang membawa maut
4 6 Jenis Misfire
4 7 Jenis B Misfire

Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.