사용자 정의 커널 패키지의 PPA 업로드

사용자 정의 커널 패키지의 PPA 업로드

사용자 정의 커널 패키지를 빌드하는 방법에 대한 문서가 있습니까?결과를 PPA에 업로드? 특히 MPTCP용 패치를 사용하여 대부분 안정적인 업스트림 커널(예: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git)을 빌드하고 싶습니다. MPTCP 패치에는 매우 구체적인 커널 버전이 필요하므로 단순히 Ubuntu 커널 저장소를 사용할 수는 없습니다.

지금까지 나는 이것을 발견했습니다 :

  • 물론 수동으로 커널을 빌드하는 작업은 다음과 같습니다. 예: fakeroot make-kpkg clean CONCURRENCY_LEVEL= getconf _NPROCESSORS_ONLNfakeroot make-kpkg --initrd --append-to-version=-mptcp \ kernel_image kernel_headers kernel_source kernel_doc kernel_manual kernel_debug

그런 다음 .deb 패키지를 얻습니다. "dpkg -i ..."도 작동하지만 apt-get 및 PPA를 사용하여 패키지 처리를 자동화하고 싶습니다.

  • make-kpkg는 dput에 필요한 .changes 파일을 생성하지 않습니다. 물론 문서, make-kpkg 맨페이지를 확인하고 커널 패키지 패키지의 소스를 통해 grep을 확인했습니다. -> 올바른 출력을 생성하는 방법에 대한 정보가 없습니다.

  • 일부 다른 사용자(예:https://forum.ubuntuusers.de/topic/ppa-mit-custom-kernel-erstellen/) 커널 PPA 업로드도 관리하지 않았습니다. 적어도 사용 가능한 문서가 없습니다.

합리적인 노력으로 PPA 업로드 가능한 커널 패키지를 빌드하는 데 변경 사항이 있습니까?

답변1

나는 같은 질문을 가지고 있었고 마침내 효과적인 해결책을 찾았습니다.

다음은 나를 위해 일했습니다. 일부 단계는 확실히 최적화될 수 있습니다.

  1. 메인라인 빌드의 소스를 얻고,소스파일을 제출하고 모든 것을 얻으세요:

    git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
    cd mainline-crack/
    git checkout -b v4.7.10 b3afc4525a507f21e98cc7571ea8c3f28484241c
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0001-base-packaging.patch
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0002-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0003-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0004-UBUNTU-SAUCE-no-up-disable-pie-when-gcc-has-it-enabl.patch
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0005-debian-changelog.patch
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7.10/0006-configs-based-on-Ubuntu-4.7.0-0.2.patch
    
    1. 패치를 적용하십시오:

      지금 오전 000*

    2. 데비안에서 파일을 빌드합니다:

      데비안/규칙 정리

    3. 소스 debs를 빌드합니다(서명 없이):

      dpkg-buildpackage -us -uc -S

    4. Changed-By: .changes 파일을 ppa 업로더 계정으로 조정하세요.

    5. 패키지에 서명하세요

      deb-sign linux_4.7.10-040710.201610220847_source.changes

    6. 업로드

      dput ppa linux_4.7.10-040710.201610220847_source.changes

관련 정보