Raspberry Pi: nó có BIOS không?

BIOS mâm xôi

Một số người dùng thắc mắc liệu Raspberry Pi có BIOS hay UEFI, giống như các máy tính khác, vì UEFI, như bạn biết, cũng được hỗ trợ trên các máy tính dựa trên Arm, như trường hợp của SBC này rất phổ biến và rẻ. Nhưng sự thật là những anh chàng mâm xôi đã lựa chọn giải pháp thay thế khác.

Ở đây bạn sẽ tìm hiểu giải pháp đó là gì và lý do tại sao không sử dụng phần mềm này, ngoài ra còn hướng dẫn các bạn một số cấu hình trên Raspberry Pi khi không có Setup Menu như trên máy tính...

Tại sao Raspberry Pi không sử dụng BIOS/UEFI?

Mâm xôi Pi 4

Như bạn đã biết, BIOS hoặc UEFI là phần sụn có mặt trong vô số máy tính, cả máy tính để bàn, máy tính xách tay, AIO, máy chủ, máy trạm, v.v. Tuy nhiên, nó không có trên Raspberry Pi, mặc dù là SBC (Máy tính một bảng), không giống như các SBC x86 khác sử dụng phần sụn này cho quá trình khởi động và kiểm tra hệ thống. Và không phải vì Raspberry Pi dựa trên ARM, vì nhiều máy tính ARM cũng có BIOS/UEFI.

Mặt khác, phải nói rằng phần sụn này được thiết kế sao cho khởi động dễ dàng hơn từ phương tiện lưu trữ nơi đặt hệ điều hành, ngoài ra còn có thể kiểm soát nhiều cài đặt khác. Đây là nơi anh ấy cung cấp cho chúng tôi manh mối về lý do tại sao Raspberry Pi không sử dụng BIOS. Một mặt, bởi vì nó chỉ có thể khởi động các thiết bị từ cùng một phương tiện, chẳng hạn như thẻ SD, chứ không phải theo những cách khác. Mặt khác, do số lượng thiết bị ngoại vi và chức năng trong Raspberry Pi bị hạn chế hơn.

Tuy nhiên, đây không hoàn toàn là lý do để không sử dụng BIOS hoặc UEFI. Thực ra, nếu phân tích kỹ thì SoC ARM của Raspberry Pi sử dụng phần sụn bên trong của chính nó để khởi động CPU vào trạng thái thích hợp và phần còn lại của hệ thống mà không cần chip BIOS riêng. Nhưng... vậy thì tại sao bạn không thể truy cập menu BIOS Setup hoặc BIOS? Một mặt, vì phần sụn này rất hạn chế và không phức tạp như BIOS/UEFI, nên menu để định cấu hình các tham số sẽ trở nên vô nghĩa, mặt khác, vì những gì đã đề cập trước đó, nó chỉ có thể khởi động từ một phương tiện lưu trữ mặc định. , cũng như thẻ SD.

Vì lý do này, các nhà phát triển Raspberry Pi ưu tiên sử dụng phần sụn cơ bản này để khởi tạo và khởi động từ thẻ SD hơn là sử dụng chip rom với phần sụn phức tạp hơn được cài đặt trên PCB. Và nếu bạn để ý, thiết bị di động cũng không có BIOS / UEFI, vì chúng chỉ có thể khởi động Android (hoặc hệ điều hành khác) từ bộ nhớ trong.

Bằng cách này, một mặt, con chip bổ sung đó trên bo mạch được lưu lại, mặt khác, nhu cầu trang bị bộ nhớ flash để lưu trữ cũng bị loại bỏ. sẽ làm cho Raspberry Pi đắt hơn. Bạn phải mua riêng thẻ SD.

Tuy nhiên, phải nói rằng trong hỗ trợ thử nghiệm Raspberry Pi 3 đã được thêm vào cho khởi động từ phương tiện USB mà phải được kích hoạt rõ ràng và không thể bị vô hiệu hóa. Điều này được bao gồm trong phần sụn nhúng của SoC phiên bản mới, nhưng điều này phức tạp hơn một chút, đó có lẽ là lý do tại sao ban đầu họ quyết định bắt đầu với những thứ dễ dàng và chỉ sử dụng khả năng khởi động từ thẻ nhớ SD.

Thay vào đó, Raspberry Pi sử dụng cái gì?

Rasbperry Pi 4 Power

Chẳng hạn, Raspberry Pi không có BIOS hoặc UEFI như được hiểu trong thế giới PC, nhưng nó có firmware nguồn đóng trong SoC như tôi đã đề cập ở trên. Con chip này được thiết kế bởi công ty Broadcom, công ty cung cấp BCM cho các bo mạch Raspberry Pi Foundation này.

Trong SoC (Hệ thống trên chip) Nó tích hợp CPU dòng ARM Cortex-A, GPU VideoCore, DSP để xử lý tín hiệu số, bộ nhớ SDRAM được chia sẻ bởi CPU và GPU và các bộ điều khiển như USB, v.v. Ngoài ra, nó cũng bao gồm một bộ nhớ ROM trong đó phần sụn mà chúng ta đang nói đến được tích hợp và cần thiết để khởi động.

thủ tục bắt đầu

Các bước theo sau phần sụn này là:

  1. Phần sụn này chăm sóc khởi động bộ nạp khởi động của hệ điều hành trên thẻ SD. Như bạn đã biết, bộ nạp khởi động sẽ gắn phân vùng FAT32 của thẻ nhớ SD và chuyển sang giai đoạn khởi động thứ hai, giai đoạn này được lập trình trong SoC và không thể sửa đổi.
  2. Trong giai đoạn thứ hai, một tệp được gọi là mã khởi động.bin, trong đó chương trình cơ sở GPU được chuẩn bị và bắt đầu. Tệp này chỉ có thể được lưu trữ trên thẻ SD, vì vậy không thể thay đổi mức độ ưu tiên khởi động như trong BIOS/UEFI thông thường của PC và nó sẽ chỉ khởi động từ đó. Tuy nhiên, như tôi đã nói, trên Pi 3, khả năng khởi động từ USB cũng đã được thêm vào một cách thử nghiệm.
  3. Sau đó, đến giai đoạn thứ ba, trong đó việc sử dụng tệp start.elf được thực hiện để khởi động CPU và một tệp có tên fixup.dat, được sử dụng để tạo phân vùng cần thiết trong SDRAM để nó có thể bắt đầu được sử dụng. bởi CPU và GPU.
  4. Cuối cùng, mã người dùng được thực thi, thường là các tệp nhị phân có thể thực thi được hoặc hình ảnh của nền tảng Linux, chẳng hạn như kernel.img hoặc từ các hệ điều hành khác được Raspberry Pi hỗ trợ và đây là cách hệ điều hành khởi động để bạn có thể sử dụng nó...

Như bạn đã thấy, đó là một quá trình đơn giản, nhưng hơi lạ nếu chúng ta so sánh nó với PC hoặc các máy tính khác. Và đó là, trong trường hợp của Raspberry Pi, thay vì khởi động CPU, như trong các trường hợp khác, GPU khởi động trước. Trên thực tế, GPU Broadcomo này sẽ chịu trách nhiệm thực thi một loại hệ điều hành nhúng trong SoC rất đơn giản nhưng cần thiết để hoạt động. Nó được gọi là VCOS (Video Core Operating System) và nó sẽ giao tiếp với Linux. Điều này rất hiếm, nhưng sự thật là GPU của Pi không chỉ phụ trách đồ họa và bắt đầu, nó còn phụ trách hệ thống điều khiển đồng hồ và âm thanh.

Về nguyên tắc, sau khi đã nói điều này, có vẻ như chúng ta có thể làm được rất ít sửa đổi cấu hình khởi độngNhưng sự thật thì không hoàn toàn như vậy. Và đó là có một tệp có tên config.txt nằm trong thư mục /boot/ của hệ thống và nếu nó được mở bằng trình soạn thảo văn bản, nội dung của nó có thể dễ dàng sửa đổi để thay đổi khởi động và cấu hình nó với các tham số nhất định .

điều này tập tin config.txt nó sẽ được GPU đọc sau khi khởi động nhân ARM và nó chứa các hướng dẫn để SoC biết phải làm gì trong quá trình khởi động hệ thống. Ví dụ: chúng ta có thể sửa đổi bộ nhớ chuyên dụng trong đó, làm mới bộ nhớ, vô hiệu hóa quyền truy cập vào bộ đệm L2, thay đổi cấu hình CMA, bật hoặc tắt đèn LED của camera, thay đổi tùy chọn chế độ video, codec, một số tùy chọn khởi động, ép xung, v.v.

Tập tin này có một cú pháp khá đặc thù nên phải tôn trọng để tránh sự cố khi khởi động. Và nếu bạn muốn biết thêm thông tin về nó, bạn có thể đọc wiki mà tôi để lại cho bạn trong liên kết này.

Thay đổi mức độ ưu tiên khởi động trên Raspberry Pi

Cấu hình NOOBS.txt

Khi bạn thay đổi thứ tự khởi động hoặc mức độ ưu tiên trên PC, tất cả đều rất đơn giản, bạn chỉ cần vào BIOS/UEFI và trong tab Khởi động, bạn có thể tìm thấy các tham số mà bạn có thể thay đổi để khởi động từ đĩa cứng, phương tiện quang học. , USB, mạng, v.v. Thay vì, trên Raspberry Pi không dễ dàng như vậy. Theo mặc định, nó sẽ luôn khởi động HĐH từ thẻ nhớ SD được lắp vào SBC. Trên thực tế, ngay cả sau phiên bản 3, nếu cả thẻ SD và thẻ nhớ USB được lắp vào, hệ thống vẫn sẽ khởi động từ SD trước. Nếu tháo SD ra chỉ còn USB thì qua USB là xong.

Nhưng thứ tự này có thể được thay đổi. vì điều đó bạn phải bắt đầu raspbian, ví dụ, và làm như sau:

  • Mở cài đặt Raspberry Pi bằng lệnh:
Sudo raspi-config
  • Chuyển đến phần "Tùy chọn nâng cao". (chú ý, menu bằng tiếng Anh)
  • Sau đó, trong phần này, nhấn ENTER trên tùy chọn "Boot Order".
  • Bây giờ bạn sẽ thấy ba tùy chọn khác nhau để lựa chọn:
    • khởi động thẻ SD- Theo mặc định, tùy chọn này đã được bật trên thiết bị Raspberry Pi của bạn và nếu bạn cắm thẻ SD và USB đồng thời, hệ thống sẽ sử dụng thẻ SD làm tùy chọn khởi động mặc định trừ khi bạn tháo nó ra.
    • khởi động usb: Nếu bạn muốn sử dụng USB làm thiết bị chính để khởi động, bạn có thể chọn tùy chọn này, tùy chọn này hoạt động khi bạn cắm thiết bị USB vào Raspberry Pi. Nếu không, bạn không nên lắp thẻ SD để khởi động hệ thống.
    • hồi phục lại mạng: Tùy chọn khởi động này hữu ích nếu thẻ SD Raspberry Pi của bạn không hoạt động vì lý do nào đó hoặc nếu có sự cố với hệ điều hành của bạn. Trong trường hợp đó, nó sẽ sử dụng công cụ Imager để cài đặt lại hệ thống vào thẻ SD.

Khi bạn đã hoàn tất, bạn có thể khởi động lại mâm xôi pi để áp dụng các thay đổi...

Chẩn đoán sự cố Raspberry Pi (POST)

Cuối cùng, bạn sẽ biết rằng trong BIOS/UEFI có một bước gọi là POST được thực hiện trước khi hệ điều hành khởi động và bước này sẽ kiểm tra trạng thái của các thành phần khác nhau. Nếu mọi thứ đều ổn, hệ điều hành sẽ khởi động. Nhưng nếu nó phát hiện ra bất kỳ vấn đề nào, nó sẽ dừng lại và hiển thị thông báo lỗi trên màn hình hoặc phát ra một số mã bíp có thể nghe được để xác định vấn đề là gì.

Điều này trên Raspberry Pi cũng không tồn tại. Tuy nhiên, chương trình cơ sở SoC có một phương pháp cố gắng gắn cờ các sự cố có thể xảy ra để dễ dàng chẩn đoán. Và đó là thông qua đèn LED nguồn của nó. Ví dụ: đối với Raspberry Pi 4, mã ánh sáng mà đèn LED phát ra để chỉ ra sự cố là:

nhấp nháy dài nhấp nháy ngắn Trạng thái
0 3 Lỗi chung khi khởi động
0 4 start*.elf không tìm thấy
0 7 Không tìm thấy hình ảnh hạt nhân
0 8 lỗi SDRAM
0 9 không đủ SDRAM
0 10 ở trạng thái NGỪNG
2 1 Phân vùng không phải là FAT (không được hỗ trợ)
2 2 Không thể đọc phân vùng
2 3 phân vùng mở rộng không FAT
2 4 Hàm băm hoặc chữ ký không khớp
3 1 Lỗi SPI-EEPROM
3 2 SPI EEPROM ghi được bảo vệ
3 3 lỗi I2C
4 4 Loại bảng không được hỗ trợ
4 5 lỗi phần sụn nghiêm trọng
4 6 Loại A Misfire
4 7 Bắn nhầm loại B

Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.