La forma más rápida de instalar un kernel personalizado en una máquina virtual

La forma más rápida de instalar un kernel personalizado en una máquina virtual

Tengo un kernel personalizado que debe instalarse en varias máquinas virtuales.

Una forma de hacerlo es transferir el código fuente a cada VM y luego compilarlo e instalarlo.

Me gustaría saber si existe una manera más rápida de compilar en el host y simplemente transferir algún archivo o instalar el kernel a través de archivos del host.

Tanto el sistema operativo host como el invitado son ubuntu 14.04 y estoy usando KVM como hipervisor.

Yo usé estoenlacepara compilar e instalar el kernel.

Respuesta1

Recomiendo utilizar el sistema de embalaje de su distribución. Cree su paquete de kernel personalizado y luego podrá distribuirlo a sus máquinas virtuales de la forma que le resulte más fácil. Muchas distribuciones proporcionan instrucciones sobre cómo hacer esto con su administrador de paquetes preferido (consulte a continuación los de Ubuntu).

Si te encuentras reconstruyendo el kernel (y/u otro software) con frecuencia, podríascrear un repositorio de paquetes local(por ejemplo, en el anfitrión) para agregar a la lista del repositorio de invitados. Luego, los invitados podrán obtener cualquier paquete nuevo tan pronto como esté disponible.

Si solo tiene unos pocos paquetes para distribuir, colocarlos en el host en una caché de paquetes local ad-hoc funciona igual de bien. Comparta esta ubicación con los invitados con Samba, o simplemente rsynclos paquetes manualmente cuando sea necesario.


En Ubuntu,construyendo un paquete de kernel personalizadose reduce a:

  1. Obtener la fuente

    • apt-get source linux-image-$(uname -r)O
    • git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<releasename>.git
  2. Prepare su entorno de construcción

    • sudo apt-get build-dep linux-image-$(uname -r)
  3. Modifica la configuración de tu kernel

    • chmod a+x debian/rules debian/scripts/* debian/scripts/misc/*
    • fakeroot debian/rules clean
    • fakeroot debian/rules editconfigs(revise cada uno)
    • Agregue un identificador de versión local (por ejemplo, +myVer1) al final del primer número de versión para debian.master/changelogque aptlo reconozca como un kernel más nuevo que la versión del repositorio oficial.
  4. construir el núcleo

    • fakeroot debian/rules clean
    • fakeroot debian/rules binary-headers binary-generic binary-perarch(construcción rápida) O
    • fakeroot debian/rules binary(más lento, si se necesitan herramientas de Linux o baja latencia)

Si la compilación se realiza correctamente, sus .debpaquetes personalizados estarán en el directorio encima de la raíz de la compilación.

información relacionada