1. raspbian .config
1.1 make menuconfig
커널 빌드시 각종 옵션을 지정할 수 있다. 이전엔 모두 pass하고 빌드해본 것.
디바이스 드라이버 개발시 체크 설정/해제하면서 테스트하며 개발
1.2 kernelsource/out/.config
.config (bcm2712_defconfig)
General Setup
IRQ subsystem
Timers subsystem
BPF subsystem
CPU/Task time and stats accounting
RCU Subsystem
등 make Manuconfig 설정에서 본 내용들이 저장됨.
2. Kernel Build / Install
2.1 Build Script를 이용하여 리눅스 커널 빌드
./build rpi kernel
echo "kernel build"
make O=$OUTPUT Image modules dtbs -j4 2>&1 | tee $BUILD_LOG
.s 확장자의 assembly code와 .i 확장자의 preprocessed code를 이용하여
.o 확장자의 오브젝트 파일들을 생성한다.
이는 [$OUTPUT/arch/arm64/boot/Image ] 에 단일 커널이미지 파일로 컴파일된다.
2.2 커널 설치
Build Script 내에
[cp $OUTPUT/arch/arm64/boot/Image /boot/firmware/$KERNEL.img]
OUTPUT경로/arch/arm64/boot/Image 로 컴파일된 커널 이미지를 설치
'SoC : : Architecture > : : Raspberry' 카테고리의 다른 글
root in color (0) | 2024.10.15 |
---|---|
dump_stack() 함수 (0) | 2024.10.10 |
printk() 함수 (0) | 2024.10.10 |
(2) 디버깅과 코드 학습 능력 (0) | 2024.10.10 |
(1) 디버깅은 문제 해결 능력의 지름길 (0) | 2024.10.10 |