일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- FLAB
- EC2
- 도커
- 코딩테스트
- 에프랩
- Flutter
- 성능테스트
- Spring
- 트러블슈팅
- 부트캠프
- 후기
- 플러터
- IntelliJ
- github
- grafana
- 자바
- 자바백엔드
- F-Lab
- AWS
- 백엔드
- 멘토링
- MySQL
- backend
- 알고리즘
- nGrinder
- error
- 백준
- 데이터구조
- DB
- Today
- Total
민스씨의 일취일장
Raspberry Pi | 초기 세팅 - OS 설치하기 A to Z 본문
Raspberry Pi 초기 세팅 과정 중 OS 설치 과정에 대한 글이다.
Raspberry PI 초기 세팅 - OS 설치하기
Raspberry Pi 부팅 과정 이해하기
OS를 설치하기 전에, 라즈베리파이의 부팅 과정을 이해하면 좋다. 부팅(booting)이라 하면, 컴퓨터가 작동을 시작하면 저장장치에 있던 운영체제를 메모리에 올려 실행시키는 일련의 과정을 말한다. 이 과정을 일반 PC와 비교하면서 살표보도록 하자.
일반 PC 부팅 과정
일반 PC(x86 기반 CPU)에 전원이 연결되면 Firmware(BIOS/UEFI)가 가장 실행된다.
- by Firmware(BIOS/UEFI)
하드웨어 점검 및 초기화(POST) 과정을 수행한다. 이후 웅영체제 프로그램이 담겨 있는 부트 디바이스를 탐색한 뒤, 부트로더를 실행(load)한다.
- by Bootloader
그럼 부트로더는 저장장치에서 OS 커널을 찾아 메모리에 로드한다.
- by Kernel
이제 하드웨어 제어권은 커널이 갖고, 나머지 OS파일, 드라이버, 서비스 등을 로드하고 사용자 인터페이스를 띄워주며 부팅을 완료한다.
TURNON >> Firmware -> Bootloader -> Kernel >> Booted
라즈베리파이 부팅 과정
라즈베리파이(ARM 기반 CPU)에 전원이 연결되면 SoC(System on Chip) 내부 ROM에 내장된 부트코드가 실행된다.
- by Bootcode (1차 부트로더 - First-stage Bootloader라고도 부름)
부트코드는 연결된 저장소에서 부팅 파티션을 탐색해, bootcode.bin 파일을 실행한다.
- by bootcode.bin - GPU 설정 초기화
이 코드는 GPU와 SDRAM 초기화를 한뒤 메인칩셋을 구동 상태로 만든느 초기화 작업을 진행한다.
최신 라즈베리파이 모델 (Pi 4 이후)에선 부트코드의 기능이 칩 내부 SPI EEPROM이란 곳으로 옮겨져, bootcode.bin은 비필수이거나 역할이 축소되었다고 한다.
- start.elf (Firmware of GPU) - 하드웨어 설정 초기화
boodcode.bin 실행이 완료된 후, GPU Firmware 파일인 start.elf가 제어권을 가져와 부팅 과정을 이어나간다. 이 파일은 커널을 메모리에 로드하기 위해 GPU와 CPU 연결하고, 메모리 설정, 장치 초기화등의 작업을 진행한다. 일련의 초기화 작업이 마무리되면, 저장소에서 kernel.img를 찾아 CPU의 메인 메모리인 RAM에 로드하고 실행한다.
- kernel.img
이 파일은 리눅스 운영체제의 핵심으로, 장치 드라이버를 로드하고, 파일시스템(rootfs)을 마운트하고 OS가 실행된다.
파일시스템을 마운트하기 까지의 또 하나의 일련의 과정이 존재하지만 여기까지만 살펴보려고 한다.
TURNON >> Bootcode (Soc) -> bootcode.bin -> start.elf -> kernel.img -> rootfs mount >> Booted
라즈베리파이 Lite OS를 설치하기
위의 과정을 살펴보면, 칩에 내장되어 있는 Bootcode외 bootcode.bin부터 kernel.img까지의 파일들, 즉 저장소에 부팅환경을 만든다. 즉 넣어줘야 한다. 이 작업은 아무것도 없는 라즈베리파이 칩에서 하는 것이 아니라, 이미 구동중이 PC를 이용해서 라즈베리파이에서 사용할 저장소에 파일들을 넣어줘야 한다.
어떻게?
실제로 이 파일들을 하나하나 넣어줄 필요는 없고, Raspberry Pi Imager라는 공식 프로그램을 사용하면 된다.
아래 링크에가면 Raspberry Pi Imager를 찾을 수 있다.
Raspberry Pi software – Raspberry Pi
From our operating system to our GitHub repos, explore the software that powers our technology
www.raspberrypi.com
자신의 운영체제에 맞는 프로그램을 다운로드 하면된다.
- Raspberry Pi Imager 실행
라즈베리파이 이매저를 실행하면 아래와 같은 화면이 뜬다.
- 장치 선택
사용할 Raspberry Pi 기기를 선택한다. ydmins는 구매한 Raspberry Pi 5를 선택했다.
- OS 선택하기
이번엔 Lite OS를 선택할 것이다. Raspberry Pi OS (other)를 선택후, Raspberry Pi OS Lite (64-bit)를 선택한다.
Raspberry Pi OS (other) > Raspberry Pi OS Lite (640bit)
- 저장소 설정
사용할 저장소를 컴퓨터에 연결한 후 선택한다. ydmins는 Micro SD 카드를 사용할 것이다. 이 세 설정을 완료한 다음에는 '다음' 버튼을 눌러준다.
- 설정 편집하기
그럼 새로운 팝업이 뜬다. 여기서 '설정을 편집하기' 버튼을 눌러 몇가치 추가 설정을 해주면 좋다.
- 일반 설정
hostname은 id 같은 것으로, 필수는 아니지만 식별용으로 해줘도 좋다.
이름 및 비밀번호 : 이 설정을 해 주었다.
무선 LAN 설정 : 접속할 기기가 사용중인 Wifi 이름과 비밀번호를 입력해 주면 라즈베리파이 부팅시 자동으로 Wifi 연결이 된다.
- 서비스
서비스 설정에서 SSH 사용을 설정해 준다. SSH KEY를 사용할 수도 있겠지만, 이번엔 비밀번호를 사용한 인증 사용을 선택하였다.
이정도의 설정을 한 다음에 '저장' 버튼을 눌러 준다.
- 설정 완료
이제 '예'를 눌러주면 메모리카드에 OS 작성이 시작된다.
- 완료
다운로드와 확인이 완료되면 아래와 같이 '쓰기 완료' 팝업을 확인할 수 있다. 계속을 누른 뒤 메모리를 컴퓨터에서 제거하면된다.
마무리
라즈베리파이에서 사용할 OS 준비가 완료되었다. OS 준비하는 과정을 통해서 컴퓨터 부팅 과정을 살펴보고 CPU 아키텍처별 차이점을 살펴볼 수 있어서 좋은 경험이었다. OS를 설치하는 것이, 라즈베리파이 Imager를 이용해 디바이스에서 사용할 저장소에 OS를 쓰는 간단한 작업이었다는 점에서, 그동안 너무 겁만 먹고 있었던건 아닌가 하는 생각도 들었다. 다음엔 x86 기반 PC에 운영체제를 설치하는 것도 해보면 좋을 것 가단 생각이 든다.
'Projects > Personal Server Build' 카테고리의 다른 글
Raspberry Pi에 대해서 알아본 모든 것 (0) | 2025.10.07 |
---|---|
Raspberry Pi | 홈서버 구축을 위해 구매한 라즈베리파이5 (0) | 2025.10.06 |