Upload PPA do pacote do kernel personalizado

2

Existe alguma documentação sobre como construir pacotes customizados do kernel e carregar o resultado em um PPA ? Em particular, eu gostaria de construir principalmente o kernel upstream estável (ou seja, git: //git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git) com um patch para MPTCP. Como o patch MPTCP requer uma versão do kernel muito específica, não posso simplesmente usar os repositórios do kernel do Ubuntu.

Até agora, encontrei isto:

  • A construção manual de kernels funciona, é claro, por exemplo: fakeroot make-kpkg limpo CONCURRENCY_LEVEL = getconf _NPROCESSORS_ONLN fakeroot make-kpkg --initrd --append-to-version = -mptcp \ kernel_image kernel_headers kernel_source kernel_doc kernel_manual kernel_debug

Então, eu recebo pacotes .deb. "dpkg -i ..." também funciona, mas eu gostaria de automatizar o manuseio de pacotes com o apt-get e um PPA.

  • O make-kpkg não gera um arquivo .changes, que é necessário para o dput. Eu, claro, verifiquei a documentação, manpage do make-kpkg e grep'ed através das fontes do pacote kernel-package - > nenhuma informação sobre como gerar o resultado correto.

  • Alguns outros usuários (como link ) não gerenciavam upload do kernel PPA também. Pelo menos, não há documentação disponível.

Existe alguma alteração na criação de pacotes de kernel carregáveis com PPA com esforço razoável?

    
por Thomas Dreibholz 09.06.2016 / 11:10

1 resposta

1

Eu fiz a mesma pergunta e finalmente encontrei uma solução de trabalho.

O seguinte funcionou para mim. Algumas etapas podem certamente ser otimizadas.

  1. obtenha o código-fonte para uma compilação da linha principal, verifique o arquivo FONTES e obtenha tudo:

    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. aplique os patches:

      git am 000 *

    2. constrói arquivos no debian:

      debian / rules clean

    3. construa os debs de origem (sem assinatura):

      dpkg-buildpackage -us -uc -S

    4. ajuste o Changed-By: no arquivo .changes para sua conta de upload do ppa

    5. assine o pacote

      deb-sign linux_4.7.10-040710.201610220847_source.changes

    6. fazer upload

      dput ppa linux_4.7.10-040710.201610220847_source.changes

por Andreas Schultz 26.10.2016 / 13:48