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 rsync
los paquetes manualmente cuando sea necesario.
En Ubuntu, construir un paquete de kernel personalizado se reduce a:
Obtén la fuente
apt-get source linux-image-$(uname -r)
O
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<releasename>.git
Prepare su entorno de construcción
sudo apt-get build-dep linux-image-$(uname -r)
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/changelog
para apt
reconocerlo como un kernel más nuevo que la versión del repositorio oficial.
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 .deb
paquetes personalizados estarán en el directorio sobre la raíz de la compilación.