IT/Operation System

디버깅을 통해 배우는 리눅스 커널의 구조와 원리, 도서 공부하기 1 - Raspberry 4 설치(kernel 4.19)

변화의 물결1 2025. 2. 14. 00:05

 

 

안녕하세요.

 

 설치하는 것까지 자세히 적으려고 한 것은 아닌데 최대한 책과 동일한 커널 버전의 라즈베리파이 버전으로 맞추려고 했습니다.

 그러나 몇 가지 문제가 생겨 해결한 방법도 같이 공유하려고 합니다.

 


 

 

1. 라즈베리파이 OS (라즈비안) 설치

 

 Raspberry Pi Imager로 설치하면 되는 되는 것 아니냐 할 수 있지만 Imager로 바로 설치할 경우 최신 버전의 라즈베리파이 OS이 설치되고 커널 버전도 높아 책과 차이가 발생할 것입니다. imager의 32bit Legacy 버전도 bullseye입니다.

 

Raspberry Pi Imager 다운로드

https://www.raspberrypi.com/software/

 

 

<설치 실패 사례>

 

 이것저것 해본 내용을 적어 봅니다. 

 

 운영체제 선택에서 우리가 받은 파일로 설치하려고 할 경우 "Use Custom"을 선택하고 raspbian_full-2019-07-12 (책에서 설치한) 버전의 이미지 파일을 선택해서 Write를 하면 문제가 발생했습니다.

 

 이전 버전의 Raspberry pi 4B 펌웨어 버전에서는 문제없을 수도 있는데, 최근(?)이라고 하기는 그렇지만, Noobs 지원도 그렇고 아래와 같이 ERROR를 "This board requires newer software"가 발생합니다.

 

 

 

 최신버전의 image를 선택해서 설치하면 문제가 없습니다. 그러나 커널 버전이 5.x, 6.x입니다.

이미지 문제인가? SD카드 문제인가? Write 프로그램 문제인가? 이것저것 테스트해도 되지 않아서, 그냥 자료와 커널 버전 중 낮은 것으로 해보자라고 자료를 찾아봤습니다.

 

 raspios파일명으로 된 것과 raspbian 파일명이 나눠져 있는 것이 조금 이상해서 확인해 보았습니다. 리눅스 커널 버전이 4.19이면서 raspios라고 하는 폴더에 딱 중간에 걸치는 버전이 것으로 보였습니다.  위키에서 날짜별 버전 등의 확인할 수 있습니다.

 

 

 

 

 

<설치 완료하는 방법>

 

 결론을 말하자면 간단합니다. 책과 같은 Linux Kernel 4.19 버전으로 Raspberry Pi 4B에 테스트하려면, 2020-05-27-raspios-buster-full-armhf.zip 파일을 다운로드하고 Pi Imager로 Write 하면 됩니다.

 

2020-05-27-raspios-buster-full-armhf.zip 다운로드 경로

https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2020-05-28/

 

 위에서 설명한 것처럼 운영체제에서 "Use Custom"을 선택합니다.

 

 

 

다운로드한 이미지 파일(2020-05-27-raspios-buster-full-armhf.zip)을 선택하고 저장소도 선택합니다. 내용 확인하고 다음을 누릅니다.

 

 

 

 OS 커스터마이징 메뉴로 가서 미리 설정할 수 있는 것을 세팅합니다. 일반 탭에서는 사용자가 보고 필요한 것을 선택하고 서비스 탭에서는 ssh 사용 체크해서 유선랜 연결하여 바로 터미널로 접속할 수 있게 합니다. 옵션 탭에서 "이미지 다운로드 통계 관하여 정부 수집 허용" 체크를 제거해도 되지 않을까 합니다.

 

 

 

커스터마이징 설정 적용에 "예"하고 SD 데이터 지우는 것에도 "예"를 클릭 후 쓰기(Write)가 진행합니다.

 

 

 

쓰기(Write)가 진행되고 확인을 한번 더 하는데 바쁜 경우면 넘어가도 문제없습니다.

제거하고 Raspberry Pi에 삽입하고 부팅을 시킵니다.

 

 

 

위의 Raspberry Pi Imager 프로그램 외에도 etcher, Win32DiskImager 등으로 설치할 수 있습니다.

 

 

2. 라즈베리파이 설치 버전 (리눅스 버전) 확인

 

 SSH Terminal(putty, MobaXterm 등)로 접속해서 위에서 설정한 계정으로 접속합니다. 아무것도 설정하지 않았다면 pi에 암호는 raspberry입니다.

 

Shell에서

$ uname -a

 

혹은

 

$ hostnamectl

이라고 입력하면 아래와 같이 커널 버전과 기타 정보를 확인할 수 있습니다.

 

 

 

 

 설치하는 내용을 길게 적으려고 하지 않았는데, 버전을 책과 동일하게 맞추려고 하다 보니 내용이 길어졌습니다.

 보시는 분은 글을 빠르게 보시고 수고의 시간을 줄이셨으면 합니다. 그리고 이후 이 리눅스 커널 버전이 책 내용과 동일하게 작동하는지는 테스트해보아야 하지 않을까 합니다.

 

 

 다음 글은 책에 나온 나머지 설치 부분과 커널 소스 빌드 부분을 확인해 보겠습니다.

 

 

감사합니다.

 

 

<참고 자료>

1. [도서] 디버깅을 통해 배우는 리눅스 커널의 구조와 원리, wikibook

2. Raspberry Pi OS

https://en.wikipedia.org/wiki/Raspberry_Pi_OS  

 

 

반응형