>  기사  >  운영 및 유지보수  >  리눅스 커널을 컴파일하는 방법

리눅스 커널을 컴파일하는 방법

angryTom
angryTom원래의
2019-11-06 10:58:403579검색

리눅스 커널을 컴파일하는 방법

linux 커널 컴파일 방법

커널 다운로드

가장 먼저 해야 할 일은 커널 소스 코드를 다운로드하는 것입니다. Kernel.org에서 다운로드하려는 필수 커널의 URL을 찾으세요. URL을 찾은 후 다음 명령(4.17 RC2 커널을 예로 들어)을 사용하여 소스 코드 파일을 다운로드합니다.

wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

필수 환경 설치#🎜 🎜#

커널을 컴파일하려면 먼저 몇 가지 필수 환경을 설치해야 합니다. 이 작업은

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

명령 하나로 수행할 수 있습니다. 주의할 점은 커널 컴파일 프로세스를 완료하려면 최소 128GB의 로컬 여유 디스크 공간이 필요하다는 것입니다. 그래서 충분한 공간이 있는지 확인해야합니다.

소스 코드 압축 해제

새로 다운로드한 커널이 있는 폴더에서 다음 명령을 사용하여 커널의 압축을 풉니다. #🎜🎜 #
tar xvzf linux-4.17-rc2.tar.gz
# 🎜🎜#명령어

cd linux-4.17-rc2

를 사용하여 새로 생성된 폴더에 들어갑니다.

커널 구성

커널을 공식적으로 컴파일하기 전에 먼저 포함해야 할 모듈을 구성해야 합니다. 실제로 구성하는 몇 가지 매우 간단한 방법이 있습니다. 하나의 명령을 사용하여 현재 커널 구성 파일을 복사한 다음 신뢰할 수 있는 menuconfig 명령을 사용하여 필요한 변경을 수행할 수 있습니다. 다음 명령을 사용하여 완료합니다.

cp /boot/config-$(uname -r) .config

이제 구성 파일이 있으므로

make menuconfig

명령을 입력합니다. 이 명령은 사용 가능한 각 모듈을 반복하고 필요하거나 필요하지 않은 모듈을 활성화 또는 비활성화할 수 있는 구성 도구를 엽니다.

커널의 중요한 부분을 비활성화할 가능성이 높으므로 메뉴 구성 중에 조심스럽게 단계별로 진행하세요. 옵션이 확실하지 않으면 그대로 두십시오. 아니면 현재 실행 중인 커널에 대한 구성 파일의 복사본을 사용하는 것이 더 좋습니다(작동한다는 것을 알고 있으므로). 전체 구성 목록(상당히 길음)을 모두 살펴보고 나면 컴파일을 시작할 준비가 된 것입니다.

컴파일 및 설치

이제 실제로 커널을 컴파일할 차례입니다. 첫 번째 단계는 make 명령을 사용하여 컴파일하는 것입니다. make 명령을 호출하고 필요한 질문에 답하십시오. 이러한 질문은 업그레이드하려는 기존 커널과 업그레이드된 커널에 따라 다릅니다.

긴 질문에 답한 후 다음 명령을 사용하여 이전에 활성화된 모듈을 설치할 수 있습니다.

make modules_install

이 명령은 시간이 좀 걸립니다.

이제 다음 명령을 사용하여 커널을 설치합니다.

sudo make install

다시 한 번, 상당한 시간이 걸리는 또 다른 명령입니다. 실제로 make install 명령은 make module_install 명령보다 시간이 더 걸립니다.

커널을 부팅으로 활성화

make install 명령이 완료되면 커널을 부팅으로 활성화할 차례입니다. 이를 달성하려면 다음 명령을 사용하십시오.

sudo update-initramfs -c -k 4.17-rc2

물론 위의 커널 버전 번호를 컴파일한 버전으로 바꿔야 합니다. 명령이 완료되면 다음 명령을 사용하여 grub을 업데이트합니다.

sudo update-grub

이제 시스템을 재부팅하고 새로 설치된 커널을 선택할 수 있습니다.

권장:

linux 사용 튜토리얼

위 내용은 리눅스 커널을 컴파일하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.