Raspberry Pi: BIOS가 있습니까?

라즈베리 파이 BIOS

일부 사용자 Raspberry Pi에 BIOS 또는 UEFI가 있는지 궁금합니다., 다른 컴퓨터와 마찬가지로 UEFI는 아시다시피 Arm 기반 컴퓨터에서도 지원되므로 이 SBC는 인기 있고 저렴합니다.. 그러나 진실은 라즈베리 녀석들이 다른 대체 솔루션을 선택했다는 것입니다.

여기에서 그 솔루션이 무엇인지, 그 이유를 배우게 됩니다. 이 펌웨어를 사용하지 않습니다, 컴퓨터와 같이 설정 메뉴가 없을 때 Raspberry Pi에서 일부 구성이 어떻게 이루어지는지 보여주는 것 외에도...

Raspberry Pi가 BIOS/UEFI를 사용하지 않는 이유는 무엇입니까?

라즈베리 파이 4

아시다시피, BIOS 또는 UEFI는 펌웨어입니다. 데스크탑, 랩탑, AIO, 서버, 워크스테이션 등 다수의 컴퓨터에 존재합니다. 그러나 부팅 프로세스 및 시스템 검사에 이 펌웨어를 사용하는 다른 x86 SBC와 달리 SBC(Single Board Computer)임에도 불구하고 Raspberry Pi에는 없습니다. 많은 ARM 컴퓨터에도 BIOS/UEFI가 있기 때문에 Raspberry Pi가 ARM 기반이기 때문이 아닙니다.

한편, 이 펌웨어는 다음과 같이 설계되었습니다. 부팅 다른 많은 설정을 제어할 수 있을 뿐만 아니라 운영 체제가 있는 저장 매체에서 쉽게 이동할 수 있습니다. 여기에서 그는 Raspberry Pi가 BIOS를 사용하지 않는 이유에 대한 단서를 제공합니다. 한편으로는 SD 카드와 같은 동일한 매체에서만 장치를 부팅할 수 있고 다른 방법으로는 부팅할 수 없기 때문입니다. 반면에 Raspberry Pi의 주변 장치 및 기능의 수는 더 제한적이기 때문입니다.

그러나 이것이 BIOS 또는 UEFI를 사용하지 않는 이유는 아닙니다. 사실 자세히 분석해보면 Raspberry Pi의 ARM SoC는 자체 내부 펌웨어를 사용합니다. 별도의 BIOS 칩 없이도 CPU를 적절한 상태로 부팅하고 시스템의 나머지 부분을 부팅합니다. 하지만... 그렇다면 BIOS 설정 또는 BIOS 메뉴에 액세스할 수 없는 이유는 무엇입니까? 한편으로는 이 펌웨어가 매우 제한적이고 BIOS/UEFI만큼 복잡하지 않기 때문에 매개변수를 구성하는 메뉴는 의미가 없으며, 다른 한편으로는 이전에 언급한 것 때문에 부팅만 가능합니다. 기본 저장 매체. , SD 카드도 마찬가지입니다.

이러한 이유로 Raspberry Pi 개발자는 SD 카드를 사용하는 것보다 SD 카드에서 초기화 및 부팅을 위해 이 기본 펌웨어를 사용하는 것을 선호했습니다. 롬 칩 더 복잡한 펌웨어가 PCB에 설치되어 있습니다. 그리고 보시다시피 모바일 장치에는 내부 메모리에서 Android (또는 다른 운영 체제) 만 부팅 할 수 있기 때문에 BIOS / UEFI도 없습니다.

이러한 방식으로 한편으로는 보드의 추가 칩이 절약되고 다른 한편으로는 저장을 위해 플래시 메모리를 포함할 필요도 없어집니다. Raspberry Pi를 더 비싸게 만들 것입니다.. SD카드는 별도로 구매하셔야 합니다.

그러나 Raspberry Pi 3에서는 USB 미디어에서 부팅 명시적으로 활성화해야 하며 비활성화할 수 없습니다. 이것은 새 버전의 SoC의 임베디드 펌웨어에 포함되어 있지만 이것은 조금 더 복잡했기 때문에 처음에는 쉬운 것부터 시작하고 SD 메모리 카드에서만 부팅을 사용하기로 결정한 것 같습니다.

대신 Raspberry Pi는 무엇을 사용하고 있었습니까?

파워 라즈베리 파이 4

예를 들어 라즈베리 파이에는 PC 세계에서 이해되는 BIOS나 UEFI가 없지만 폐쇄 소스 펌웨어 위에서 언급한 것처럼 SoC에서. 이 칩은 이러한 Raspberry Pi Foundation 보드에 BCM을 공급하는 Broadcom 회사에서 설계했습니다.

SoC (시스템 온 칩) ARM Cortex-A 시리즈 CPU, VideoCore GPU, 디지털 신호 처리용 DSP, CPU와 GPU가 공유하는 SDRAM 메모리, USB 등의 컨트롤러가 통합되어 있습니다. 또한 우리가 말하는 펌웨어가 통합되어 있고 부팅에 필요한 ROM 메모리도 포함되어 있습니다.

시작 절차

걸음 이 펌웨어를 따르는 것은 다음과 같습니다.

  1. 이 펌웨어는 부트로더 시작 SD 카드에 있는 운영 체제의 아시다시피 부트로더는 SD 메모리 카드의 FAT32 파티션을 마운트하고 SoC에 프로그래밍되어 수정할 수 없는 두 번째 부팅 단계로 이동합니다.
  2. 두 번째 단계에서는 bootcode.bin, GPU 펌웨어가 준비되고 시작됩니다. 이 파일은 SD 카드에만 저장할 수 있기 때문에 PC의 기존 BIOS/UEFI에서처럼 부팅 우선 순위를 변경할 수 없으며 그곳에서만 부팅됩니다. 그러나 내가 말했듯이 Pi 3에는 USB에서 부팅하는 기능도 실험적으로 추가되었습니다.
  3. 그런 다음 CPU를 시작하는 start.elf 파일과 SDRAM에 필요한 파티션을 생성하여 사용할 수 있도록 하는 fixup.dat라는 파일을 사용하는 세 번째 단계가 있습니다. CPU와 GPU에 의해
  4. 마지막으로 일반적으로 실행 가능한 바이너리 또는 이미지인 사용자 코드가 실행됩니다. Linux 커널, 예를 들어 kernel.img 또는 Raspberry Pi에서 지원하는 다른 운영 체제에서 사용할 수 있도록 운영 체제가 부팅되는 방식입니다...

보시다시피 간단한 과정이지만 PC나 다른 컴퓨터와 비교하면 다소 이상합니다. 그리고 라즈베리 파이의 경우 다른 경우처럼 CPU를 시동하는 대신 GPU가 먼저 부팅. 실제로 이 Broadcomo GPU는 SoC에서 매우 간단하지만 작동하는 데 필요한 일종의 임베디드 운영 체제를 실행하는 역할을 맡게 됩니다. VCOS(Video Core Operating System)로 알려져 있으며 Linux와 통신합니다. 이것은 매우 드문 일이지만 진실은 Pi의 GPU가 그래픽 및 시작을 담당할 뿐만 아니라 제어 시스템 시계 및 오디오.

원칙적으로 이렇게 말하면 우리가 할 수 있는 일이 거의 없는 것 같습니다. 부팅 구성 수정그러나 진실은 완전히 그렇지 않다는 것입니다. 그리고 시스템의 /boot/ 디렉토리에 config.txt라는 파일이 있고 텍스트 편집기로 열면 그 내용을 쉽게 수정하여 부트를 변경하고 특정 매개변수로 구성할 수 있다는 것입니다. .

config.txt 파일 ARM 커널을 시작한 후 GPU에서 읽게 되며 SoC가 시스템 부팅 중에 수행할 작업을 알 수 있는 지침이 포함되어 있습니다. 예를 들어 전용 메모리, 메모리 새로 고침, L2 캐시에 대한 액세스 비활성화, CMA 구성 변경, 카메라 LED 활성화 또는 비활성화, 비디오 모드 옵션 변경, 코덱, 일부 부팅 옵션, 오버클럭킹 등을 수정할 수 있습니다.

이 파일은 문법 매우 특이하므로 시작 시 문제가 발생하지 않도록 준수해야 합니다. 그리고 그것에 대해 더 많은 정보를 원하신다면, 이 링크에 남겨둔 위키를 읽어보세요..

Raspberry Pi에서 부팅 우선 순위 변경

NOOBS 구성.txt

PC에서 부팅 순서나 우선 순위를 변경할 때 모든 것이 매우 간단합니다. BIOS/UEFI에 들어가기만 하면 됩니다. 부팅 탭에서 하드 디스크, 광학 매체에서 부팅하기 위해 변경할 수 있는 매개변수를 찾을 수 있습니다. , USB, 네트워크 등 대신에, Raspberry Pi에서는 그렇게 쉽지 않습니다.. 기본적으로 항상 SBC에 삽입된 SD 메모리 카드에서 OS를 부팅합니다. 실제로 버전 3 이후에도 SD 카드와 USB 스틱을 모두 삽입하면 시스템이 여전히 SD에서 먼저 부팅됩니다. SD를 제거하고 USB만 남게 되면 USB를 통해서 하게 됩니다.

그러나이 순서는 변경할 수 있습니다. 그러기 위해서는 반드시 라즈비안 시작, 예를 들어 다음을 수행합니다.

  • 다음 명령을 사용하여 Raspberry Pi 설정을 엽니다.
sudo raspi 구성
  • "고급 옵션" 섹션으로 이동합니다. (주의, 메뉴는 영어입니다)
  • 그런 다음 이 섹션 내에서 "부팅 순서" 옵션에서 Enter 키를 누릅니다.
  • 이제 선택할 수 있는 세 가지 옵션이 표시됩니다.
    • SD 카드 부팅- 기본적으로 이 옵션은 라즈베리 파이 장치에서 이미 활성화되어 있으며 SD 카드와 USB를 동시에 삽입하면 SD 카드를 제거하지 않는 한 시스템은 SD 카드를 기본 부팅 옵션으로 사용합니다.
    • USB 부팅: USB를 기본 부팅 장치로 사용하려는 경우 이 옵션을 선택할 수 있습니다. 이 옵션은 라즈베리파이에 USB 장치가 삽입되어 있을 때 작동합니다. 그렇지 않으면 시스템을 부팅하기 위해 SD 카드를 삽입해서는 안 됩니다.
    • 네트워크 부팅: 이 부팅 옵션은 Raspberry Pi SD 카드가 어떤 이유로 작동하지 않거나 운영 체제에 문제가 있는 경우에 유용합니다. 이 경우 Imager 도구를 사용하여 시스템을 SD 카드에 다시 설치합니다.

완료되면 다음을 수행할 수 있습니다. 라즈베리파이 재부팅 변경 사항을 적용하려면...

Raspberry Pi 문제 진단(POST)

마지막으로 BIOS/UEFI에는 운영 체제가 부팅되기 전에 수행되고 다른 구성 요소의 상태를 확인하는 POST라는 단계가 있다는 것을 알게 될 것입니다. 모든 것이 정상이면 OS가 시작됩니다. 그러나 문제를 감지하면 중지하고 화면에 오류 메시지를 표시하거나 문제가 무엇인지 식별하기 위해 경고음 코드를 내보냅니다.

이것은 Raspberry Pi에도 존재하지 않습니다. 그러나 SoC 펌웨어에는 쉬운 진단을 위해 발생할 수 있는 문제에 플래그를 지정하는 방법이 있습니다. 그리고 그것은 전원 LED를 통해서입니다. 예를 들어 Raspberry Pi 4의 경우 문제를 나타내기 위해 LED가 방출하는 표시등 코드는 다음과 같습니다.

긴 섬광 짧은 섬광 Status
0 3 시작 중 일반적인 오류
0 4 시작*.elf를 찾을 수 없음
0 7 커널 이미지를 찾을 수 없음
0 8 SDRAM 오류
0 9 불충분한 SDRAM
0 10 정지 상태에서
2 1 파티션이 FAT가 아닙니다(지원되지 않음).
2 2 파티션 읽기 실패
2 3 FAT가 아닌 확장 파티션
2 4 해시 또는 서명이 일치하지 않습니다.
3 1 SPI-EEPROM 오류
3 2 SPI EEPROM 쓰기 방지
3 3 I2C 오류
4 4 지원되지 않는 보드 유형
4 5 치명적인 펌웨어 오류
4 6 유형 A 실화
4 7 유형 B 실화

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.