Raspberry Pi는 어떤 BIOS를 사용합니까?


29

Raspberry Pi 마더 보드의 BIOS에 대해 알고 싶습니다. BIOS는 무엇입니까? 특정 이름이 있거나 Raspberry Pi의 BIOS라고합니까?


2
BIOS는 부팅하기 전에 PC를 제어하기위한 소프트웨어 (예 : 설정 하드 드라이브, 메모리 등)를 저장합니다. Pi는 PC와 같이 "BIOS"를 사용하지 않습니다. 해당 칩용으로 작성된 펌웨어를 사용하여 Broadcom 칩 (CPU, 캐시, GPU)을 초기화하고 운영 체제로 바로 전달합니다. 그런 다음 OS는 Broadcom에서보고 한 하드웨어 및 램을 감지합니다. 이렇게하면 부팅 속도가 빨라지지만 Broadcom만이 속성을 디버깅하거나 "설정"하는 방법을 알고 있습니다.
Piotr Kula

답변:


32

펌웨어는 SoC (System on a Chip) 프로세서에 프로그래밍 된 폐쇄 소스 독점 코드이며 수정할 수 없습니다. 전원을 켜면 펌웨어가 SD 카드에서 부트 로더를 시작합니다. 다른 서비스가 SoC 펌웨어를 통해 제공된다고 믿지 않으므로 실제로 "BIOS"(기본 입출력 시스템)가 아닙니다. 이 시점 이후 다른 모든 것은 SD 카드에서 나옵니다.

위키소프트웨어 섹션에 따르면 부팅 순서는 다음과 같습니다.

  1. 1 단계 부트 로더 -2 단계 부트 로더에 액세스 할 수 있도록 FAT32 부팅 파티션을 SD 카드에 마운트하는 데 사용됩니다. RPi를 제조하는 동안 SoC 자체에 프로그래밍되며 사용자가 다시 프로그래밍 할 수 없습니다.
  2. 2 단계 부트 로더 (bootcode.bin)-SD 카드에서 GPU 펌웨어를 검색하고 펌웨어를 프로그래밍 한 다음 GPU를 시작하는 데 사용됩니다.
  3. GPU 펌웨어 (start.elf)-일단로드되면 GPU가 CPU를 시작할 수 있습니다. GPU와 CPU 사이의 SDRAM 파티션을 구성하는 데 추가 파일 인 fixup.dat가 사용됩니다. 이 시점에서 CPU가 리셋에서 해제되고 실행이 이전됩니다.
  4. 사용자 코드 -이것은 임의의 수의 바이너리 중 하나 일 수 있습니다. 기본적으로 Linux 커널 (보통 kernel.img)이지만 다른 부트 로더 (예 : U-Boot) 또는 베어 본 응용 프로그램 일 수도 있습니다.

7
1 단계 부트 로더가 SoC 내부의 작은 ROM에 기록되어 있다고 덧붙였습니다. 언급 한 바와 같이, bootcode.binSD 카드에서 로드하는 것은 유일한 책임입니다 . 이것이 SD 카드 이외의 매체에서 RaspberryPi를 부팅 할 수없는 이유입니다.
Krzysztof Adamski

@TevoD, 좋은 대답! 나는 철저한 세부 사항을 좋아합니다.
Devyn Collier Johnson

16

@TevoD는 자신의 답변에 거의 썼습니다-RaspberryPi는 폐쇄 소스 펌웨어 바이너리를 부트 로더로 사용하고 있습니다. 현재 버전은 여기 에서 찾을 수 있습니다 . 펌웨어를 만드는 두 파일은 bootcode.bin(2 단계 부트 로더)와 start.elf(GPU "펌웨어")입니다. RaspberryPi의 흥미롭고 독창적 인 점은 GPU(그래픽 칩) 에서 시작 하여 부트 로더가 실제로 실행되는 곳입니다. GPU그런 다음 ARM CPULinux 커널 을 시작 하고 실행합니다.

그러나 Linux가 시작된 후 코드 온 GPU은 언로드되지 않습니다. 대신 VCOS( Video Core Operating System) 라는 자체 간단한 OS를 실행합니다 . Linux 커널은 특수한 mailbox protocol인터럽트를 사용하여 서비스와 통신합니다 (GPU는 ARM 인터럽트를 생성 할 수 있음). framebuffer 여기에 사용 된 사서함 프로토콜에 대한 일부 정보를 읽을 수 있습니다 . GPU는 그래픽 작업뿐만 아니라 시계를 제어하고 오디오를 생성합니다. 이와 관련하여 GPU 펌웨어는 BIOS일반 PC 컴퓨터 와 비슷한 것으로 간주 될 수 있습니다 . 이 읽기 RaspberryPi Linux 커널 드라이버에 대한 자세한 정보를 찾을 수 있습니다.

답변 에서 더 많은 정보를 찾을 수도 있습니다 .


좋은 지적. BIOS 질문이 SD 카드가 아닌 내장 펌웨어를 명시 적으로 언급하는 것으로 간주하고 더 완전한 답변을 위해 부팅 순서를 추가했습니다. 당신은 확실히 거기에서 가져옵니다. +1
Tevo D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.