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

4

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

Una forma de hacerlo es transferir la fuente a cada VM y luego compilar e instalar.

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

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

Usé este enlace para compilar e instalar el núcleo.

Nofel Yaseen
fuente

Respuestas:

0

Recomiendo usar el sistema de empaque de su distribución. Cree su paquete de kernel personalizado y luego puede distribuirlo a sus máquinas virtuales de la forma más fácil. Muchas distribuciones proporcionan instrucciones sobre cómo hacer esto con su administrador de paquetes preferido (ver más abajo para Ubuntu).

Si se encuentra reconstruyendo el kernel (y / u otro software) con frecuencia, puede crear un repositorio de paquetes local (por ejemplo, en el host) para agregarlo a la lista de repositorios de los invitados. Luego, los invitados podrán retirar cualquier paquete nuevo tan pronto como estén disponibles.

Si solo tiene unos pocos paquetes para distribuir, colocarlos en el host en un 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, construir un paquete de kernel personalizado se reduce a:

  1. Obtén 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. Modifique la configuración de su kernel

    • chmod a+x debian/rules debian/scripts/* debian/scripts/misc/*
    • fakeroot debian/rules clean
    • fakeroot debian/rules editconfigs (ir a través de cada uno)
    • Agregue un identificador de versión local (por ejemplo +myVer1) al final del primer número de versión debian.master/changelogpara aptreconocerlo como un kernel más nuevo que la versión del repositorio oficial.
  4. Construye 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 linux-tools o lowlatency)

Si la compilación tiene éxito, sus .debpaquetes personalizados estarán en el directorio sobre la raíz de la compilación.

quijotesco
fuente