사용자 정의 버전 번호로 커널 패치 및 grub에 나열 [닫기]

사용자 정의 버전 번호로 커널 패치 및 grub에 나열 [닫기]

질문을 좀 더 구체적으로 변경하고 다시 열리길 바랍니다.

Ubuntu에서 패치를 적용하는 방법(사용수리하다명령)을 사용하여 커널에 패치를 적용합니다(이것은수리하다,교체 디스크를 수락하도록 btrfs 가져오기,모든 것). 온라인에서 몇 가지 지침을 찾았습니다(Ubuntu용 BuildYourOwnKernel), 하지만 내가 찾고 있는 전체 레시피는 아닙니다. 이 질문을 통해 누군가가 모든 사람이 따라할 수 있는 간단한 방법을 제공할 수 있기를 바랍니다. 필요한 것은 다음과 같습니다.

  • 현재 실행 중인 커널의 소스 코드를 얻는 방법.

  • 패치를 적용하는 방법.

  • 내 배포판에서 일반적으로 사용하는 구성을 사용하여 어떻게 컴파일합니까?

  • 현재 공식 커널을 교체하지 않고 설치할 수 있도록 커널 버전을 변경하려면 어떻게 해야 합니까? 가능하다면 "-tmp" 또는 일부 약어를 추가하여 공식 버전과 구별하세요.

  • grub이 새로 빌드된 커널을 인식하고 메뉴에 표시하지만 기본적으로 로드하지 않도록 하려면 어떻게 해야 합니까? 이전 공식 커널은 기본적으로 로드되어야 합니다. 내 사용자 정의 커널을 명시적으로 선택하고 싶습니다.

  • 시스템을 재부팅하는 방법(예: 재부팅 시) grub에서는 부팅할 커널을 선택할 수 있습니다.

  • 커널 작업이 끝나면 파일 시스템과 그럽에서 커널의 모든 흔적을 어떻게 제거합니까?

답변1

이들 대부분/모두에 대해 루트 권한이 필요하므로 다음을 사용하십시오.

sudo -i

일부 유틸리티 및 라이브러리 설치 -

apt-get install build-essential fakeroot kernel-package libncurses5-dev zlib1g-dev libssl-dev xz-utils

그런 다음 커널 소스 트리를 추출하고 패치한 다음 /boot에서 /path/to/source/.config로 작업 구성을 복사합니다.

그런 다음 커널을 구성하십시오.

make oldconfig

또는

make menuconfig

구성이 완료되면 빌드합니다. 빌드 명령은 버전에 추가하는 곳입니다.

make-kpkg clean 
fakeroot make-kpkg --initrd --append-to-version=-MyPatchedKernel kernel_image kernel_headers

그러면 2개의 deb 파일이 생성됩니다. 하나는 커널용이고 다른 하나는 헤더용입니다. /usr/src/linux에서 작업하는 경우 deb 파일은 /usr/src에 있습니다. dpkg를 사용하여 설치하면 됩니다.

관련 정보