-
[리눅스 커널] /proc/config.gz 없을 경우Linux/kernel 2024. 8. 14. 18:14
글의 참고
- https://stackoverflow.com/questions/11694657/proc-config-gz-does-not-exist
- https://cateee.net/lkddb/web-lkddb/IKCONFIG_PROC.html
글의 전제
- 밑줄로 작성된 글은 강조 표시를 의미한다.
- 그림 출처는 항시 그림 아래에 표시했다.
- 테스한 커널 버전은 v5.4
글의 내용
- /proc/config.gz
" 사실 굳히 /proc/config.gz 를 확인할 필요는 없다. 왜냐면 kernel 을 빌드하고 .config 를 확인하면 되기 때문이다. .config 는 가장 최근에 빌드된 defconfig 를 의미하기 때문에 confg.gz 가 없다면 .config 를 확인하면 되기 때문이다. 그러나 .config 와 config.gz 를 무조건 동일하게 볼 수 없다. 왜냐면 .config 를 생성된 boot.img 가 현재 부팅된 보드에 flash 되었다고 보기 어렵기 때문이다. 그렇기 때문에 현재 부팅된 보드에 빌드된 커널 이미지가 어떤 것인기 알기 위해서는 /proc/config.gz 를 확인하는 것이 가장 명확하다.
" /proc/config.gz 를 생성하기 위해서는 `CONFIG_IKCONFIG_PROC` 컨피그를 `defconfig` 에 추가하면 된다.
https://cateee.net/lkddb/web-lkddb/IKCONFIG_PROC.html" cateee.net 에서는 의존성으로 `CONFIG_IKCONFIG` 와 `CONFIG_PROC_FS` 가 필요하다고 했다. 이런 의존성을 일일히 찾아다니기 어렵기 때문에 그냥 `make menuconfig` 로 `.config` 를 생생해서 `.config` 와 `.config.old` 와 diff 해보는게 가장좋다.
" 내가 테스트한 Allwinner V533 에서 make menuconfig 를 통해 `CONFIG_IKCONFIG_PROC` 을 활성화한 .config 와 .config.old 를 비교해보면 다음과 같다.
$ diff -u --color .config.old .config --- .config.old 2024-07-16 08:10:21.397098818 +0900 +++ .config 2024-07-16 08:31:30.726812475 +0900 @@ -108,8 +108,9 @@ .... -# CONFIG_BUILD_BIN2C is not set -# CONFIG_IKCONFIG is not set +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y ....
'Linux > kernel' 카테고리의 다른 글
[리눅스 커널] V4L2_FIELD_* & V4L2_PIX_FMT_* & MEDIA_BUS_FMT_* (0) 2024.09.22 [리눅스 커널] Dmesg Buffer Size 변경 (0) 2024.08.15 [리눅스 커널] IRQ - workqueue (0) 2023.12.30 [리눅스 커널] Interrupt - Driver interrupt handler (0) 2023.12.29 [리눅스 커널] Interrupt - High-level flow irq handler (1) 2023.12.27