Raspberry Pi 3를 위해 커널을 크로스 컴파일하는 방법을 설명합니다.
1. ARM용 크로스 컴파일러 설치
2. 커널 소스 다운로드
3. 커널 소스 설정
4. 커널 및 모듈 컴파일
5. 라즈베리파이로 복사
1. ARM용 크로스 컴파일러 설치
다음 명령으로 ARM용 컴파일러를 설치합니다.
$ sudo apt-get install gcc-arm-linux-gnueabihf |
본 포스팅을 진행하기 위해서는 추가로 다음 패키지도 필요합니다.
$ sudo apt-get install make ncurses-dev build-essential |
2. 커널 소스 다운로드
git 패키지를 설치 한 후,
$ sudo apt-get install git |
커널 소스를 다운로드 받습니다.
$ git clone --depth=1 https://github.com/raspberrypi/linux.git |
3. 커널 소스 설정
Raspberry PI 3를 위한 기본 설정을 사용합니다.
$ cd linux $ KERNEL=kernel7 $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig |
추가적으로 고칠 옵션이 있다면 아래 명령을 사용합니다.
$ make ARCH=arm menuconfig |
4. 커널 및 모듈 컴파일
-j4 옵션을 사용하여 커널과 모듈을 컴파일합니다.
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j4 |
컴파일된 모듈을 /home/pi/modules에 복사해둡니다.
$ sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=~/modules modules_install |
5. 라즈베리파이로 복사
PC에서 커널 이미지와 모듈 디렉토리를 scp를 이용하여 전송합니다.
$ scp arch/arm/boot/zImage pi@192.168.43.142:/home/pi |
4.9.60-v7+커널 모듈 디렉토리 이름은 글 작성 시점과 다를 수 있습니다.
$ sudo rm ~/modules/lib/modules/4.9.60-v7+/build $ sudo rm ~/modules/lib/modules/4.9.60-v7+/source $ scp -r /home/webnautes/modules/lib/modules/4.9.60-v7+/ pi@192.168.43.142:/home/pi |
라즈베리파이의 적절한 위치로 커널 이미지와 모듈 디렉토리를 복사해줍니다.
$ sudo cp zImage /boot/kernel7.img |
Device Tree blob를 라즈베리파이로 복사합니다.
라즈베리파이로 파일들을 복사 한 후,
$ scp arch/arm/boot/dts/*.dtb pi@192.168.43.142:/home/pi |
라즈베리파이에서 /boot 위치로 복사해줍니다.
pi@raspberrypi:~ $ sudo cp *.dtb /boot |
라즈베리파이로 파일들을 복사 한 후,
$ scp arch/arm/boot/dts/overlays/*.dtb* pi@192.168.43.142:/home/pi |
라즈베리파이에서 /boot/overlays 위치로 복사해줍니다.
pi@raspberrypi:~ $ sudo cp *.dtb* /boot/overlays/ |
이제 라즈베리파이를 재부팅하여 커널 버전을 확인해봅니다.
참고
https://www.raspberrypi.org/documentation/linux/kernel/building.md
'Raspberry Pi > Raspberry Pi 개발환경' 카테고리의 다른 글
Raspberry Pi 3에서 커널 모듈(kernel module) 프로그래밍 (3) | 2017.11.13 |
---|---|
Raspberry PI 3에서 시스템 호출(system call ) 구현 (4) | 2017.11.11 |
Visual Studio 2017에서 Raspberry Pi 3를 위한 Windows 10 IoT App 작성하는 방법 (4) | 2017.08.23 |
Raspberry PI와 윈도우 PC간 파일 전송 (10) | 2016.12.04 |
Raspberry PI 3에 로지텍 웹캠 C920 연결하여 태스트 (17) | 2016.11.24 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!