Raspberry Pi: BIOS'u var mı?

Ahududu Pi BIOS

Bazı kullanıcılar Raspberry Pi'nin BIOS veya UEFI'ye sahip olup olmadığını merak edin, diğer bilgisayarlar gibi, çünkü UEFI, bildiğiniz gibi, Arm tabanlı bilgisayarlarda da destekleniyor, bu durumda olduğu gibi bu SBC çok popüler ve ucuz. Ama gerçek şu ki, ahududu adamları başka bir alternatif çözüm seçtiler.

Burada bu çözümün ne olduğunu ve nedenlerini öğreneceksiniz. bu üretici yazılımını kullanmaz, bilgisayarlarda olduğu gibi Setup Menu yokken Raspberry Pi üzerinde bazı konfigürasyonların nasıl yapıldığını göstermenin yanı sıra...

Raspberry Pi neden BIOS/UEFI kullanmıyor?

Ahududu Pi 4

Bildiğiniz gibi, BIOS veya UEFI bir aygıt yazılımıdır hem masaüstü, hem dizüstü, AIO, sunucular, iş istasyonları vb. çok sayıda bilgisayarda bulunan Ancak, önyükleme işlemi ve sistem kontrolü için bu ürün yazılımını kullanan diğer x86 SBC'lerin aksine, bir SBC (Tek Kartlı Bilgisayar) olmasına rağmen Raspberry Pi'de değildir. Ve bunun nedeni Raspberry Pi'nin ARM tabanlı olması değil, çünkü birçok ARM bilgisayarda BIOS/UEFI da var.

Öte yandan, bu aygıt yazılımının şu şekilde tasarlandığı söylenmelidir: çizme diğer birçok ayarı kontrol edebilmenin yanı sıra işletim sisteminin bulunduğu depolama ortamından daha kolay. Burası bize Raspberry Pi'nin neden BIOS kullanmadığına dair ipuçları verdiği yer. Bir yandan, SD kartlar gibi yalnızca aynı ortamdan aygıtları önyükleyebildiği ve başka şekillerde açamadığı için. Öte yandan, bir Raspberry Pi'deki çevre birimlerinin ve işlevlerin sayısı daha sınırlı olduğu için.

Ancak bu tamamen BIOS veya UEFI kullanmamak için bir neden değildir. Aslında dikkatli incelersek, Raspberry Pi'nin ARM SoC'si kendi dahili aygıt yazılımını kullanır CPU'yu uygun bir duruma getirmek ve sistemin geri kalanını ayrı bir BIOS çipine ihtiyaç duymadan başlatmak için. Ama... o zaman neden BIOS Kurulumu veya BIOS menüsüne erişemiyorsunuz? Bir yandan, bu üretici yazılımı çok sınırlı olduğundan ve BIOS/UEFI kadar karmaşık olmadığından, parametreleri yapılandırmak için bir menü anlamsız olacaktır ve diğer yandan, daha önce bahsedilenler nedeniyle, yalnızca önyüklenebilir. SD kart gibi varsayılan bir depolama ortamı.

Raspberry Pi'nin geliştiricileri, bu nedenle, başlatma ve önyükleme için bir SD kart kullanmak yerine bu temel aygıt yazılımını kullanmayı tercih ettiler. bir rom çipi PCB'de yüklü daha karmaşık ürün yazılımı ile. Ve bakarsanız, mobil cihazlarda da BIOS / UEFI yoktur, çünkü bunlar yalnızca Android'i (veya başka bir işletim sistemini) dahili bellekten önyükleyebilirler.

Bu sayede bir yandan kart üzerindeki o ek çip kaydedilirken, diğer yandan depolama için flash belleğe yer verilmesi ihtiyacı da ortadan kalkmış oluyor. Raspberry Pi'yi daha pahalı hale getirirdi. SD kartı ayrıca satın almanız gerekir.

Ancak Raspberry Pi 3'te deneysel desteğin eklendiğini söylemek gerekiyor. USB ortamından önyükleme açıkça etkinleştirilmesi gereken ve devre dışı bırakılamayan. Bu, yeni sürümün SoC'sinin yerleşik ürün yazılımına dahildir, ancak bu biraz daha karmaşıktı, bu yüzden başlangıçta kolay şeylerle başlamaya ve yalnızca SD bellek kartlarından önyüklemeyi kullanmaya karar verdiler.

Bunun yerine Raspberry Pi ne kullanıyordu?

Rasbperry Pi 4 Gücü

Raspberry Pi, örneğin PC dünyasında anlaşıldığı gibi bir BIOS veya UEFI'ye sahip değildir, ancak kapalı kaynak üretici yazılımı yukarıda bahsettiğim gibi SoC'de. Bu çip, BCM'leri bu Raspberry Pi Foundation kartlarına sağlayan Broadcom şirketi tarafından tasarlanmıştır.

In SoC (Çip Üzerinde Sistem) Bir ARM Cortex-A Serisi CPU, bir VideoCore GPU, dijital sinyal işleme için bir DSP, CPU ve GPU tarafından paylaşılan SDRAM belleği ve USB vb. denetleyicileri entegre eder. Ayrıca, bahsettiğimiz bellenimin entegre edildiği ve önyükleme için gerekli olan bir ROM belleği de içerir.

başlangıç ​​prosedürü

Jardines de Viveros adımlar bu aygıt yazılımını izleyenler şunlardır:

  1. Bu bellenim ilgilenir önyükleyiciyi başlat SD kartta bulunan işletim sisteminin. Bildiğiniz gibi önyükleyici, SD bellek kartının FAT32 bölümünü bağlar ve SoC'de programlanan ve değiştirilemeyen ikinci önyükleme aşamasına geçer.
  2. İkinci aşamada, olarak bilinen bir dosya önyükleme kodu.bin, GPU belleniminin hazırlandığı ve başlatıldığı. Bu dosya yalnızca SD kartta saklanabilir, bu nedenle önyükleme önceliği, bir PC'nin geleneksel BIOS/UEFI'sindeki gibi değiştirilemez ve yalnızca oradan önyüklenir. Ancak dediğim gibi Pi 3'te USB'den önyükleme özelliği de deneysel olarak eklendi.
  3. Ardından, CPU'yu başlatan start.elf dosyasının ve kullanılmaya başlanabilmesi için SDRAM'de gerekli bölümü oluşturmak için kullanılan fixup.dat adlı bir dosyanın kullanıldığı üçüncü aşama gelir. CPU ve GPU tarafından.
  4. Son olarak, genellikle programın yürütülebilir ikili dosyaları veya görüntüleri olan kullanıcı kodu yürütülür. Linux çekirdeğikernel.img gibi veya Raspberry Pi tarafından desteklenen diğer işletim sistemlerinden ve işletim sistemi bu şekilde önyüklenir, böylece onu kullanabilirsiniz...

Gördüğünüz gibi, basit bir işlem, ancak bir PC veya diğer bilgisayarlarla karşılaştırırsak biraz garip. Ve Raspberry Pi durumunda, diğer durumlarda olduğu gibi CPU'yu başlatmak yerine, Önce GPU önyüklemesi. Aslında, bu Broadcomo GPU, SoC'de çok basit, ancak çalışması için gerekli olan bir tür gömülü işletim sistemini yürütmekten sorumlu olacak. VCOS (Video Çekirdek İşletim Sistemi) olarak bilinir ve Linux ile iletişim kurar. Bu çok nadirdir, ancak gerçek şu ki, Pi'nin GPU'su yalnızca grafiklerden ve başlatmadan sorumlu değil, aynı zamanda kontrol sistemi saati ve ses.

Prensip olarak, bunu söyledikten sonra, yapabileceğimiz çok az şey var gibi görünüyor. önyükleme yapılandırmasını değiştirAma gerçek şu ki, tamamen böyle değil. Ve sistemin /boot/ dizininde bulunan config.txt adlı bir dosya vardır ve bir metin düzenleyiciyle açılırsa, içeriği önyüklemeyi değiştirmek ve belirli parametrelerle yapılandırmak için kolayca değiştirilebilir. .

bu config.txt dosyası ARM çekirdeğini başlattıktan sonra GPU tarafından okunacak ve sistem önyüklemesi sırasında SoC'nin ne yapması gerektiğini bilmesi için talimatlar içeriyor. Örneğin, içindeki ayrılmış belleği, bellek yenilemeyi değiştirebilir, L2 önbelleğine erişimi devre dışı bırakabilir, CMA yapılandırmasını değiştirebilir, kamera LED'ini etkinleştirebilir veya devre dışı bırakabilir, video modu seçeneklerini, codec'leri, bazı önyükleme seçeneklerini, hız aşırtma vb. değiştirebiliriz.

Bu dosyanın bir sözdizimi oldukça tuhaf, bu nedenle başlangıçta sorunlardan kaçınmak için saygı gösterilmelidir. Ve bu konuda daha fazla bilgi istiyorsanız, sana bu linkte bıraktığım wikiyi oku.

Raspberry Pi'de Önyükleme Önceliğini Değiştirin

NOOBS yapılandırma.txt

Bir PC'de önyükleme sırasını veya önceliğini değiştirdiğinizde her şey çok basittir, yalnızca BIOS/UEFI'ye girmeniz gerekir ve Önyükleme sekmesinde optik bir ortam olan sabit diskten önyükleme yapmak için değiştirebileceğiniz parametreleri bulabilirsiniz. , USB, ağ vb. Yerine, Raspberry Pi'de o kadar kolay değil. Varsayılan olarak işletim sistemini her zaman SBC'ye takılı SD hafıza kartından başlatır. Aslında, sürüm 3'ten sonra bile, hem bir SD kart hem de bir USB bellek takılırsa, sistem yine de önce SD'den önyükleme yapacaktır. SD çıkarılırsa ve yalnızca USB kalırsa, USB üzerinden yapılacaktır.

Ama bu sıralama değiştirilebilir. bunun için yapmalısın raspbian'ı başlat, örneğin ve aşağıdakileri yapın:

  • Raspberry Pi kurulumunu şu komutla açın:
sudo raspi-yapılandırma
  • "Gelişmiş Seçenekler" bölümüne gidin. (dikkat edin, menü İngilizce'dir)
  • Daha sonra bu kısımda "Boot Order" seçeneğinde ENTER'a basın.
  • Şimdi seçim yapabileceğiniz üç farklı seçenek görmelisiniz:
    • SD kart önyüklemesi- Varsayılan olarak, bu seçenek Raspberry Pi cihazınızda zaten etkindir ve aynı anda bir SD kart ve USB takarsanız, siz çıkarmadığınız sürece sistem SD kartı varsayılan önyükleme seçeneği olarak kullanır.
    • usb önyükleme: USB'yi önyükleme için birincil aygıt olarak kullanmak istiyorsanız, Raspberry Pi'ye takılı bir USB aygıtınız olduğunda çalışan bu seçeneği belirleyebilirsiniz. Aksi takdirde, sistemi başlatmak için bir SD kart takmamalısınız.
    • ağ önyükleme: Bu önyükleme seçeneği, Raspberry Pi SD kartınız herhangi bir nedenle çalışmıyorsa veya işletim sisteminizde bir sorun varsa kullanışlıdır. Bu durumda, sistemi SD karta yeniden yüklemek için Görüntüleyici aracını kullanacaktır.

İşiniz bittiğinde, yapabilirsiniz ahududu pi'yi yeniden başlat değişiklikleri uygulamak için...

Raspberry Pi sorunlarını teşhis edin (POST)

Son olarak, bir BIOS/UEFI'de, işletim sistemi önyüklemeden önce gerçekleştirilen ve farklı bileşenlerin durumunu kontrol edecek olan POST adlı bir adım olduğunu bileceksiniz. Her şey yolundaysa, işletim sistemini başlatır. Ancak herhangi bir sorun algılarsa durur ve ekranda bir hata mesajı görüntüler veya sorunun ne olduğunu belirlemek için sesli bir uyarı kodu verir.

Raspberry Pi'de bu da mevcut değil. Bununla birlikte, SoC sabit yazılımının, kolay teşhis için oluşabilecek sorunları işaretlemeye çalışan bir yöntemi vardır. Ve bu, güç LED'i aracılığıyla. Örneğin, Raspberry Pi 4 için LED'in sorunları belirtmek için yaydığı ışık kodları şunlardır:

uzun yanıp sönmeler kısa yanıp sönmeler Durum
0 3 Başlatma sırasında genel hata
0 4 start*.elf bulunamadı
0 7 Çekirdek görüntüsü bulunamadı
0 8 SDRAM hatası
0 9 yetersiz SDRAM
0 10 DUR durumunda
2 1 Bölüm FAT değil (desteklenmiyor)
2 2 Bölüm okunamadı
2 3 FAT olmayan genişletilmiş bölüm
2 4 Karma veya imza eşleşmiyor
3 1 SPI-EEPROM hatası
3 2 SPI EEPROM yazma korumalı
3 3 I2C hatası
4 4 Pano türü desteklenmiyor
4 5 ölümcül ürün yazılımı hatası
4 6 Tip A Tekleme
4 7 Tip B Tekleme

İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.