임베디드 리눅스 기반의 시스템을 개발할 때 기능 추가나 하드웨어 드라이버 변경이 필요할 때마다 커널 전체를 다시 빌드하고 시스템을 재부팅하는 것은 개발 생산성을 크게 떨어뜨리는 요인입니다. 리눅스 커널은 이러한 비효율성을 해결하기 위해 실행 중인 커널에 동적으로 코드를 삽입하거나 제거할 수 있는 커널 모듈(Loadable Kernel Module, LKM) 메커니즘을 제공합니다. 시스템 운영 연속성을 보장하면서 커널 기능을 유연하게 확장할 수 있는 커널 모듈의 개념과 실제 작성, 크로스 컴파일, 타깃 보드 로딩 테스트까지의 전 과정을 정리했습니다.핵심 요약 3줄커널 모듈은 시스템 재부팅 없이 구동 중인 리눅스 커널에 동적으로 로드 및 언로드되어 기능을 확장하는 독립 프로그램입니다.전용 매크로(__init..