정상에서 ...
make
커널 이미지를 컴파일하고 링크합니다. 이 파일은이라는 단일 파일 vmlinuz
입니다.
make modules
M
커널 설정 중에 답변 한 각 질문에 대한 개별 파일을 컴파일합니다 . 객체 코드는 새로 빌드 한 커널과 연결됩니다. (답변에 대한 질문 Y
은 이미의 일부이며 vmlinuz
질문에 답 N
하지 않은 경우)
make install
빌드 한 커널을에 설치합니다 /vmlinuz
.
make modules_install
커널 모듈을 /lib/modules
또는에 설치합니다 /lib/modules/<version>
.
사용 가능한 커널 목록에 추가하면 부트 로더가 처리합니다. 부트 로더마다 다르지만 grub
x86과 amd64에서 가장 일반적이므로 설명하겠습니다. 실제로는 매우 간단합니다. 에서 브의 모습 /
, /boot
그리고 /lib/modules
그와 같은 외모가 작동 커널하고 추가합니다 수 있다는 어떤 일합니다. 그렇습니다. 이것은 지나치게 단순화 된 설명입니다.
우분투 문서에있는 그 "무서운 것들"은 deb
패키지 를 만드는 데 필요한 것들 입니다. 자신보다 더 많은 일을 할 때는 포장하는 것이 훨씬 좋습니다. 당신은 시간에 전환합니다.
커널과 모듈을 빌드하는 것은 분리 된 상태로 유지되어야합니다. 왜냐하면 커널 개발자를 필요로하는 사람들은 종종 모듈 만 변경하기 때문입니다. 변경 사항을 적용하고 모듈 만 재구성하고 설치할 수 있습니다. 이렇게하면 하루에 20 번 수행해야하는 시간이 많이 절약됩니다. 단일 make everything
명령 으로 업데이트되지 않습니다 . 대신 make && make modules && make install && make modules_install
설명서에서 지시 한대로 실행하십시오 . 빌드 프로세스는 커널 개발자가 아닌 커널 개발자에게 유리합니다. 그리고 그렇게해야합니다.
실제로 커널 개발자 나 배포판 패키저를 제외하고는 커널을 컴파일 할 이유가 거의 없습니다. 거의 모든 상황에서 원하는 커널 기능이 이미 빌드되어 있으며 사전 패키지 된 커널 중 하나에서 사용할 수 있습니다. 예외는 있지만 요즘 매우 드문 경우입니다.
커널을 직접 작성하지 말 것을 권장하지는 않지만 실제로 커널을 사용하는 것이 좋습니다. 커널을 처음부터 새로 작성하는 것이 어떻게 작동하는지 배우는 데있어 귀중한 관행이라고 생각합니다. 부분적으로 는 언젠가 당신 이 필요한 예외 가 될 것 입니다. 그러나 일반적으로 커널 및 부팅 프로세스에 대해 많이 알려줍니다. 당신은 그것을 한 더 나은 사람이 될 것입니다.