본문 바로가기
관리자 기고

라즈 커널 컴파일(작성 및 수정 중)

by 와이즈캣 2019. 3. 29.
728x90
반응형

A. 커널 빌드용 유틸 설치 및 소스 다운로드
1. sudo apt-get install git bc bison libncurses5-dev flex libssl-dev
2. git clone --depth=1 https://github.com/raspberrypi/linux

B. 라즈베리파이 보드 종류에 따라 아래 2개 중 택 1
B.A 라즈베리 파이 1, 파이 0, 파이 0W, 컴퓨트 모듈 기본 빌드 구성
1. cd linux
2. KERNEL=kernel
3. 아래 2개 중 택 1
3-1. 라즈베리보드 : make bcmrpi_defconfig

3-2. 크로스컴파일 : make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig
B.B 라즈베리 파이 2, 파이 3, 파이 3+, 컴퓨트 모듈 3 기본 빌드 구성
1. cd linux
2. KERNEL=kernel7
3. 아래 2개 중 택 1
3-1. 라즈베리보드 : make bcm2709_defconfig

3-2. 크로스컴파일 : make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig


C. 커널 메뉴 빌드 실행
1. 아래 2개 중 택 1
1.1 라즈베리보드 : make menuconfig
1.2 크로스컴파일 : make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

D. 디바이스 트리를 사용하기 위한 커널 빌드 설정

메뉴 설정 화면
Boot Options 선택

 

Flattened 하부 항목 중 3가지 선택 확인

이후 Exit를 선택하고 Save를 선택한 후 menu config에서 빠져 나옴

E. 중간 파일 생성 방법(선택적)
주의1 : 이 방법을 선택하면 빌드 과정 중간에서 생성되는 찌꺼기(?) 파일들이 그대로 남게 됨
주의2 : 중간 파일들의 크기가 상당하므로 sd memory가 충분할 경우에만 시도할 것
주의3 : sd memory가 부족할 경우 커널 생성이 중단
주의4 : 중간 파일이 필요할 경우에만 시도할 것(중간 파일을 모르는데 이거 하면 용량만 버리는 결과가 됨)
1. 커널 디렉토리의 최상위에서 Makefile을 vi 편집기로 편집
2. 아래 캡쳐를 참고하여 KBUILD_CFLAGS 항목을 찾음
3. 아래 캡쳐를 참고하여
-save-temps=obj \ 를 삽입함

F. 커널 빌드 시작
1. 
make -j4 zImage modules dtbs

 

728x90