Raspberry Pi: apakah ada BIOS?

RaspberryPi BIOS

Beberapa pengguna bertanya-tanya apakah Raspberry Pi memiliki BIOS atau UEFI, seperti komputer lain, karena UEFI, seperti yang Anda ketahui, juga didukung pada komputer berbasis Arm, seperti halnya dengan SBC ini sangat populer dan murah. Tetapi sebenarnya orang-orang raspberry telah memilih solusi alternatif lain.

Di sini Anda akan mempelajari apa solusi itu dan alasannya tidak menggunakan firmware ini, selain menunjukkan kepada Anda bagaimana beberapa konfigurasi dilakukan pada Raspberry Pi ketika tidak ada Menu Pengaturan seperti pada komputer...

Mengapa Raspberry Pi tidak menggunakan BIOS/UEFI?

Raspberry Pi 4

Seperti yang Anda ketahui, BIOS atau UEFI adalah firmware yang hadir di banyak komputer, baik desktop, laptop, AIO, server, workstation, dll. Namun, itu tidak ada di Raspberry Pi, meskipun merupakan SBC (Single Board Computer), tidak seperti SBC x86 lainnya yang menggunakan firmware ini untuk proses boot dan pemeriksaan sistem. Dan itu bukan karena Raspberry Pi berbasis ARM, karena banyak komputer ARM juga memiliki BIOS/UEFI.

Di sisi lain, harus dikatakan bahwa firmware ini dirancang sedemikian rupa boot lebih mudah dari media penyimpanan tempat sistem operasi berada, selain dapat mengontrol banyak pengaturan lainnya. Di sinilah dia memberi kita petunjuk mengapa Raspberry Pi tidak menggunakan BIOS. Di satu sisi, karena hanya dapat mem-boot perangkat dari media yang sama, seperti kartu SD, dan tidak dengan cara lain. Dan di sisi lain karena jumlah periferal dan fungsi di Raspberry Pi lebih terbatas.

Namun, ini tidak sepenuhnya menjadi alasan untuk tidak menggunakan BIOS atau UEFI. Padahal, jika kita menganalisis dengan hati-hati, itu SoC ARM Raspberry Pi menggunakan firmware internalnya sendiri untuk mem-boot CPU ke kondisi yang tepat dan sistem lainnya tanpa memerlukan chip BIOS terpisah. Tapi ... lalu mengapa Anda tidak bisa mengakses BIOS Setup atau menu BIOS? Di satu sisi, karena firmware ini sangat terbatas, dan tidak serumit BIOS/UEFI, maka menu untuk mengonfigurasi parameter tidak ada artinya, dan di sisi lain, karena apa yang telah disebutkan sebelumnya, hanya dapat melakukan booting dari media penyimpanan default. , seperti kartu SD.

Pengembang Raspberry Pi karena alasan ini lebih suka menggunakan firmware dasar ini untuk inisialisasi dan mem-boot dari kartu SD daripada menggunakan sebuah chip rom dengan firmware yang lebih kompleks terpasang pada PCB. Dan jika Anda perhatikan, perangkat seluler juga tidak memiliki BIOS / UEFI, karena mereka hanya dapat mem-boot Android (atau sistem operasi lain), dari memori internal.

Dengan cara ini, di satu sisi, chip tambahan di papan disimpan, dan di sisi lain, kebutuhan untuk memasukkan memori flash untuk penyimpanan juga dihilangkan. akan membuat Raspberry Pi lebih mahal. Anda harus membeli kartu SD secara terpisah.

Namun, harus dikatakan bahwa dukungan eksperimental ditambahkan ke Raspberry Pi 3 boot dari media USB yang harus diaktifkan secara eksplisit dan tidak dapat dinonaktifkan. Ini termasuk dalam firmware tertanam dari SoC versi baru, tetapi ini sedikit lebih rumit, yang mungkin mengapa mereka awalnya memutuskan untuk memulai dengan hal-hal yang mudah dan menggunakan booting hanya dari kartu memori SD.

Apa yang digunakan Raspberry Pi?

Daya Rasbperry Pi 4

Raspberry Pi tidak memiliki BIOS atau UEFI seperti yang dipahami di dunia PC, misalnya, tetapi memiliki a firmware sumber tertutup di SoC seperti yang saya sebutkan di atas. Chip ini dirancang oleh perusahaan Broadcom, yang memasok BCM ke papan Yayasan Raspberry Pi ini.

Dalam SoC (Sistem di Chip) Ini mengintegrasikan CPU Seri ARM Cortex-A, GPU VideoCore, DSP untuk pemrosesan sinyal digital, memori SDRAM yang digunakan bersama oleh CPU dan GPU, dan pengontrol seperti USB, dll. Selain itu, ini juga termasuk memori ROM di mana firmware yang kita bicarakan terintegrasi dan diperlukan untuk booting.

memulai prosedur

Los tangga yang mengikuti firmware ini adalah:

  1. Firmware ini menangani mulai bootloader dari sistem operasi yang ada di kartu SD. Seperti yang Anda ketahui, bootloader memasang partisi FAT32 dari kartu memori SD dan melanjutkan ke tahap boot kedua, yang diprogram dalam SoC dan tidak dapat dimodifikasi.
  2. Pada tahap kedua, file yang dikenal sebagai kode boot.bin, di mana firmware GPU disiapkan dan dimulai. File ini hanya dapat disimpan di kartu SD, jadi prioritas boot tidak dapat diubah seperti pada BIOS/UEFI PC konvensional, dan hanya akan boot dari sana. Namun, seperti yang saya katakan, pada Pi 3 kemampuan untuk boot dari USB juga ditambahkan secara eksperimental.
  3. Kemudian muncul tahap ketiga yang menggunakan file start.elf, yang memulai CPU, dan file bernama fixup.dat, yang digunakan untuk membuat partisi yang diperlukan di SDRAM sehingga dapat mulai digunakan oleh CPU dan GPU.
  4. Terakhir, kode pengguna dieksekusi, yang biasanya merupakan binari atau gambar yang dapat dieksekusi dari file Kernel Linux, seperti kernel.img, atau dari sistem operasi lain yang didukung oleh Raspberry Pi, dan beginilah cara sistem operasi melakukan booting sehingga Anda dapat menggunakannya...

Seperti yang Anda lihat, ini adalah proses yang sederhana, tetapi agak aneh jika kita membandingkannya dengan PC atau komputer lain. Dan itu adalah, dalam kasus Raspberry Pi, alih-alih memulai CPU, seperti dalam kasus lain, GPU melakukan booting terlebih dahulu. Padahal, GPU Broadcomo ini akan bertugas mengeksekusi semacam sistem operasi tertanam dalam SoC yang sangat sederhana, namun perlu untuk berfungsi. Ini dikenal sebagai VCOS (Video Core Operating System), dan akan berkomunikasi dengan Linux. Ini sangat jarang, tetapi sebenarnya GPU Pi tidak hanya bertanggung jawab atas grafik dan permulaan, tetapi juga bertanggung jawab atas sistem kontrol jam dan audio.

Pada prinsipnya, setelah mengatakan ini, tampaknya hanya sedikit yang dapat kami lakukan memodifikasi konfigurasi bootTetapi kenyataannya tidak sepenuhnya seperti itu. Dan ada file bernama config.txt yang terletak di direktori /boot/ sistem dan jika dibuka dengan editor teks, isinya dapat dengan mudah dimodifikasi untuk mengubah boot dan mengkonfigurasinya dengan parameter tertentu .

ini file config.txt itu akan dibaca oleh GPU setelah memulai kernel ARM, dan berisi instruksi untuk SoC untuk mengetahui apa yang harus dilakukan selama boot sistem. Misalnya, kita dapat memodifikasi memori khusus di dalamnya, menyegarkan memori, menonaktifkan akses ke cache L2, mengubah konfigurasi CMA, mengaktifkan atau menonaktifkan LED kamera, mengubah opsi mode video, codec, beberapa opsi booting, overclocking, dll.

Berkas ini memiliki sintaksis cukup aneh, sehingga harus dihormati untuk menghindari masalah saat startup. Dan jika Anda ingin informasi lebih lanjut tentang itu, Anda bisa baca wiki yang saya tinggalkan untuk Anda di tautan ini.

Ubah Prioritas Booting di Raspberry Pi

config.txt NOOBS

Saat Anda mengubah urutan atau prioritas boot pada PC, semuanya sangat sederhana, Anda hanya perlu masuk ke BIOS/UEFI, dan di tab Boot Anda dapat menemukan parameter yang dapat Anda ubah untuk boot dari hard disk, media optik , USB, jaringan, dll. Alih-alih, di Raspberry Pi tidak semudah itu. Secara default akan selalu mem-boot OS dari kartu memori SD yang dimasukkan ke dalam SBC. Faktanya, bahkan setelah versi 3, jika kartu SD dan stik USB dimasukkan, sistem masih akan melakukan booting dari SD terlebih dahulu. Jika SD dicabut dan hanya USB yang tersisa, maka akan dilakukan melalui USB.

Tapi urutan ini bisa diubah. untuk itu Anda harus mulai raspbian, misalnya, dan lakukan hal berikut:

  • Buka pengaturan Raspberry Pi dengan perintah:
sudo raspi-config
  • Buka bagian "Opsi Lanjutan". (perhatikan, menu dalam bahasa Inggris)
  • Kemudian, di dalam bagian ini, tekan ENTER pada opsi "Boot Order".
  • Anda sekarang akan melihat tiga opsi berbeda untuk dipilih:
    • boot kartu SD- Secara default, opsi ini sudah diaktifkan pada perangkat Raspberry Pi Anda dan jika Anda memasukkan kartu SD dan USB secara bersamaan, sistem akan menggunakan kartu SD sebagai opsi boot default kecuali Anda menghapusnya.
    • boot usb: Jika Anda ingin menggunakan USB sebagai perangkat utama untuk booting, Anda dapat memilih opsi ini, yang berfungsi saat Anda memasukkan perangkat USB ke Raspberry Pi. Jika tidak, Anda tidak boleh memasukkan kartu SD untuk mem-boot sistem.
    • boot jaringan: Opsi boot ini berguna jika kartu SD Raspberry Pi Anda tidak berfungsi karena alasan tertentu atau jika ada masalah dengan sistem operasi Anda. Dalam hal ini, itu akan menggunakan alat Imager untuk menginstal ulang sistem ke kartu SD.

Setelah Anda selesai, Anda bisa reboot raspberry pi untuk menerapkan perubahan...

Diagnosis masalah Raspberry Pi (POST)

Terakhir, Anda akan tahu bahwa di BIOS/UEFI ada langkah yang disebut POST yang dilakukan sebelum sistem operasi melakukan booting dan akan memeriksa status berbagai komponen. Jika semuanya OK, itu akan memulai OS. Tetapi jika mendeteksi masalah apa pun, itu berhenti dan menampilkan pesan kesalahan di layar atau mengeluarkan beberapa kode bip untuk mengidentifikasi apa masalahnya.

Ini di Raspberry Pi juga tidak ada. Namun, firmware SoC memiliki metode untuk mencoba menandai masalah yang mungkin terjadi untuk memudahkan diagnosis. Dan itu melalui LED dayanya. Misalnya, untuk Raspberry Pi 4, kode lampu yang dipancarkan LED untuk menunjukkan adanya masalah adalah:

berkedip panjang kilatan pendek Status
0 3 Kegagalan umum selama startup
0 4 start*.elf tidak ditemukan
0 7 Gambar kernel tidak ditemukan
0 8 kegagalan SDRAM
0 9 SDRAM tidak mencukupi
0 10 dalam keadaan HALT
2 1 Partisi tidak FAT (tidak didukung)
2 2 Gagal membaca partisi
2 3 partisi tambahan non-FAT
2 4 Hash atau tanda tangan tidak cocok
3 1 Kesalahan SPI-EEPROM
3 2 SPI EEPROM dilindungi penulisan
3 3 kesalahan I2C
4 4 Jenis papan tidak didukung
4 5 kesalahan firmware yang fatal
4 6 Tipe A Macet
4 7 Tipe B Macet

Jadilah yang pertama mengomentari

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.