라즈베리파이4 커널 빌드

라즈베리파이 4의 커널을 빌드하는 과정은 특별한 상황이나 하드웨어 지원을 확장하고자 할 때 유용하다. 이 글에서는 라즈베리파이 4의 커널을 빌드하는 방법에 대해 알아본다.

1. 필수 도구 설치

커널을 빌드하기 위해 필요한 도구를 설치한다.

sudo apt update
sudo apt install -y git bc bison flex libssl-dev make

2. 라즈베리파이 4 커널 소스 다운로드

라즈베리파이 4의 커널 소스를 다운로드한다.

git clone --depth=1 https://github.com/raspberrypi/linux

아래와 같이 branch를 확인한다. 여기서는 rpi-6.1.y 를 사용할 것이므로 그대로 둔다.

raspi@raspberrypi:~/linux $ git branch -a
* rpi-6.1.y
  remotes/origin/HEAD -> origin/rpi-6.1.y
  remotes/origin/rpi-6.1.y

3. 커널 설정

커널 설정을 위해 라즈베리 파이 4의 디폴트 설정을 사용한다.

KERNEL=kernel8
make bcm2711_defconfig

LOCALVERSION 를 설정한다. 로컬 빌드인 것을 알 수 있는 문구를 입력한다.

CONFIG_LOCALVERSION="-v8-local"

4. 커널 빌드

32bit 커널의 경우 아래와 같이 빌드하고 이미지를 설치한다.

make -j4 zImage modules dtbs
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/firmware/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/firmware/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/firmware/overlays/
sudo cp arch/arm/boot/zImage /boot/firmware/$KERNEL.img

64bit 커널의 경우 아래와 같이 빌드하고 이미지를 설치한다.

make -j4 Image.gz modules dtbs
sudo make modules_install
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/
sudo cp arch/arm64/boot/Image.gz /boot/firmware/$KERNEL.img

5. 재부팅

새로운 커널로 부팅하기 위해 라즈베리파이를 재부팅한다.

sudo reboot

재부팅이 완료되었으면 uname 으로 새로 빌드한 커널로 동작 중인지 확인한다.

raspi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.63-v8-local+ #3 SMP PREEMPT Fri Nov 24 00:13:29 KST 2023 aarch64 GNU/Linux

참고 사이트

답글 남기기