커널 소스 위치
2021. 12. 30. 00:37블로깅
리눅스 및 우분투에서 커널 소스가 어디에 포함되어 있는 지 궁금했습니다.
리눅스 커널이 커널 소스를 컴파일 한 OS이기 때문에, 커널 소스를 가지고 있을거라 생각했습니다.
1. 커널 소스 위치
찾는 방법
최상위 루트에서 find . -name "*linux*" 라고 검색
많은 디렉토리 중, 몇 개의 디렉토리에 대해서 간단히 정리해 보았습니다.
대부분 디렉토리 명에서 힌트를 얻을 수 있습니다.
arch : 아키텍쳐의 줄임말로서, 아키텍쳐와 관련된 코드들이 들어있습니다. 디렉토리로 이동해보면, 서브 디렉토리로는 아키텍쳐 별 디렉토리가 존재합니다. 낯익은 아키텍쳐들이 많이 있습니다.
1) arm : 32비트 계열 ARM 아키텍처 코드
2) arm64 : 64비트 계열 ARM 아키텍쳐 코드
3) x86 : 인텔 x86 아키텍쳐 코드
init : 커널을 초기화에 관련된 코드들이 존재합니다.
mm : Memory Management의 약자로서 메모리 관련된 소스들이 존재합니다. arch 하위에도 mm 관련 소스들이 존재하며, 특정 아키텍쳐마다 메모리 관리 기법이 다르기 때문에 이렇게 구성되어 있습니다.
drivers : 시스템의 디바이스 드라이버에 관련된 것들이 존재합니다. cdrom이나 power 등의 예가 있습니다.
ipc : 프로세스간에 통신을 하는 ipc 관련 소스들이 존재합니다. 일반적으로 사용하는 메시지큐, 공유메모리 등이 있습니다.
fs : 리눅스의 모든 파일 시스템 소스 코드가 존재합니다. 많이 보는 ext2, fat 등이 있습니다.
kernel : 커널 소스들이 들어 있습니다. 메인 소스코드가 존재합니다.
1) irq : 인터럽트 관련 코드
2) sched : 스키쥴링 관련 코드
3) power 파워 관련 코드
4) locking : 커널 동기화 관련 코드
5) printk : 커널 콘솔 관련 코드
net : 네트워크 관련 코드들이 있습니다. ethernet, ipv4, ipv6 등
lib : 라이브러리가 있습니다.
scripts : 커널 설정에 사용되는 스크립트들이 있습니다.
include : 커널 코드 빌드에 필요한 헤더 파일들이 있습니다.
https://letitkang.tistory.com/231
'Linux > Kernel(커널)' 카테고리의 다른 글
[Kernel] Netlink 메시지 수신 (MPTCP) 예제 (0) | 2024.08.13 |
---|---|
[Kernel] Netlink 메시지 수신하기 (0) | 2024.08.09 |
[Kernel(커널)] sysctl 명령어 (0) | 2024.02.24 |
[Kernel] 커널 빌드하기 (0) | 2021.08.12 |
[Linux] Operating System - Linux (0) | 2021.06.22 |