Carga de PPA del paquete de kernel personalizado

Carga de PPA del paquete de kernel personalizado

¿Existe alguna documentación sobre cómo crear paquetes de kernel personalizados ycargar el resultado en un PPA? En particular, me gustaría compilar principalmente el kernel ascendente estable (es decir, git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git) con un parche para MPTCP. Dado que el parche MPTCP requiere una versión del kernel muy específica, no puedo simplemente usar los repositorios del kernel de Ubuntu.

Hasta ahora encontré esto:

  • La construcción manual de kernels funciona, por supuesto, es decir: 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

Luego, obtengo paquetes .deb. "dpkg -i ..." también funciona, pero me gustaría automatizar el manejo de paquetes con apt-get y un PPA.

  • make-kpkg no genera un archivo .changes, que es necesario para dput. Por supuesto, verifiqué la documentación, la página de manual de make-kpkg y revisé las fuentes del paquete kernel-package -> no hay información sobre cómo permitir que genere el resultado correcto.

  • Algunos otros usuarios (comohttps://forum.ubuntuusers.de/topic/ppa-mit-custom-kernel-erstellen/) tampoco administró una carga de PPA del kernel. Al menos no hay documentación disponible.

¿Hay algún cambio en la creación de paquetes de kernel cargables por PPA con un esfuerzo razonable?

Respuesta1

Tenía la misma pregunta y finalmente encontré una solución que funciona.

Lo siguiente funcionó para mí. Ciertamente, algunos pasos se pueden optimizar.

  1. obtenga la fuente de una compilación principal, verifique elFUENTESarchiva y obtén todo:

    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. aplicar los parches:

      git soy 000*

    2. compilar archivos en debian:

      debian/reglas limpias

    3. construir las fuentes debs (sin firma):

      dpkg-buildpackage -us -uc -S

    4. ajuste el Cambiado por: en el archivo .changes de su cuenta de cargador de ppa

    5. firma el paquete

      deb-sign linux_4.7.10-040710.201610220847_source.cambios

    6. subir

      dput ppa linux_4.7.10-040710.201610220847_source.cambios

información relacionada