티스토리 뷰

728x90
반응형

지난 게시물에서는 라즈베리파이로 부팅을 해보았다.

https://today-is-hoho.tistory.com/73

 

라즈베리파이 부트스크립트 만들기

라즈베리파이에서 부트스크립트를 만들어보자. 필요한 준비물은 라즈베리파이와 Window와 WIndow 안에 vm 안에 ubuntu 그리고 USB to Serial 케이블이 필요하다. 우선 Window에 USB to Serial을 포트에 연결하

today-is-hoho.tistory.com

 

이번에는 라즈베리파이의 리눅스 커널을 빌드하는 방법을 알아보자.

 

 

빌드 업

~/pi_bsp$ mkdir kerenl; cd kerenl

~/pi_bsp/kerenl$ sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
~/pi_bsp/kerenl$ sudo apt install crossbuild-essential-armhf
~/pi_bsp/kerenlgit clone --depth=1 -b rpi-6.1.y https://github.com/raspberrypi/linux
~/pi_bsp/kerenlcd linux ; pwd

 

kernel 빌드에 필요한 툴을 다운받고 kernel 디렉터리를 만들어서 해당 주소를 git clone하자.

 

크로스 컴파일, 리눅스 커널 소스 빌드, 커널 모듈설치

//크로스컴파일하는 명령어
~/pi_bsp/kerenl/linux$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 
bcm2711_defconfig

//리눅스 커널 소스를 빌드하는 명령어
~/pi_bsp/kerenl/linux$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j4

//커널 모듈을 설치하는 명령어
~/pi_bsp/kerenl/linux$sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/media/ubuntu/rootfs modules_install

 

크로스컴파일하는 명령어인 경우 라즈베리4 버전 명령어이다.  라즈베리파이가 다른 버전인 경우 아래 링크를 참조
https://wikidocs.net/3243

 

 

그런다음 라즈베리 SD카드를 리더기로 읽어서 Ubuntu로 아래 파일들을 복사하자.

~/pi_bsp/kernel/linux$ sudo cp /media/ubuntu/bootfs/kernel7l.img /media/ubuntu/bootfs/$kernel7l-backup.img      //기존커널 백업
~/pi_bsp/kernel/linux$ sudo cp arch/arm/boot/zImage /media/ubuntu/bootfs/kernel7l.img
~/pi_bsp/kernel/linux$ sudo cp arch/arm/boot/dts/*.dtb /media/ubuntu/bootfs/
~/pi_bsp/kernel/linux$ sudo cp arch/arm/boot/dts/overlays/*.dtb* /media/ubuntu/bootfs/overlays/
~/pi_bsp/kernel/linux$ sudo cp arch/arm/boot/dts/overlays/README /media/ubuntu/bootfs/overlays/

 

그리고

~/pi_bsp/kernel/linux$ sudo vi /media/ubuntu/bootfs/config.txt  에서 제일 마지막 줄에 아래 명령어를 추가해주자.

arm_64bit=0

 

빌드 확인

그러면 SD카드를 라즈베리파이에 읽어와서 uname -a로 잘 빌드되었는지 확인하자

현재 시간으로 커널이 업데이트 된 것을 확인할 수 있다.

그리고 lsmod 명령어를 통해 커널 모듈도 잘 설치되었는지 확인하자.

 

 

참조

책 - 사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리파이

라즈베리 파이 문서(2021.7 이전) (2) 커널 빌드하기

라즈베리파이 리눅스 커널, 빌드 따라하기

 

728x90
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
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
글 보관함