¿Cómo puedo instalar mi propio kernel en el servidor root?

Este artículo muestra cómo instalar su propio kernel en el servidor root.

Preparación

En el estado de entrega, un kernel de Linux especialmente creado por IONOS se instala en el servidor root. Puede instalar su propio kernel o uno más reciente en su servidor basado en este kernel.

Para la compilación posterior del kernel de Linux se necesitan algunas herramientas de desarrollo, que se pueden instalar de la siguiente manera dependiendo de la distribución de Linux utilizada:

yast -i make gcc # SuSE Linux
aptitude install make gcc # Debian oder Ubuntu Linux
yum install make gcc # Fedora oder CentOS 

Para otras distribuciones de Linux, consulte la documentación correspondiente.

Creación del kernel

Para crear un nuevo kernel, primero debe descargar el código fuente del kernel. La versión actual siempre se muestra en http://kernel.org. Por favor, asegúrese de descargar la versión completa, cuyo nombre tiene una "F" (de "Full")  y no sólo el parche a la última versión.

En Linux es común guardar el código fuente en /usr/src. Por lo tanto, en este manual, el archivo descargado y el código fuente descomprimido también se almacenan bajo /usr/src/.

cd /usr/src/
wget http://kernel.org/pub/linux/kernel/v3.0/linux-3.5.XX.Y.tar.bz2 

El código fuente del kernel se puede descomprimir después de la descarga con el comando tar.

tar -xjpf linux-3.5.XX.Y.tar.bz2

La configuración antigua se puede utilizar como base para que no sea necesario volver a introducir todos los ajustes del kernel.

La configuración del kernel en ejecución puede obtenerse en /boot/config-3.5.XX.Y-YYYYMMDD o /proc/config.gz. En cualquier caso, la configuración debe guardarse como un archivo .config en el directorio con el código fuente del kernel.

cp /boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config
zcat /proc/config.gz > /usr/src/linux-3.5.XX.Y/.config 

Alternativamente, también puede extraer la configuración directamente de uno de nuestros kernels ofrecidos desde nuestro servidor de actualizaciones.

Para ello, descargue primero el archivo con el kernel deseado y, a continuación, descomprima el archivo de configuración necesario. Al descargar el archivo, asegúrese de que el procesador seleccionado (x86 o AMD64) coincide con el procesador instalado en su servidor.

wget ftp://update.onlinehome-server.info/local-updates/kernel/linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz 

El contenido del archivo comprimido se muestra con el comando tar. Después sólo tenemos que desempaquetar el fichero de configuración y copiarlo como .config en el directorio del código fuente del kernel.

tar tzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz
tar xzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz ./boot/config-3.5.XX.Y-YYYYMMDD
cp ./boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config 

Una vez realizados todos los preparativos, se adopta la configuración antigua. El sistema de configuración del kernel ahora sólo pide las nuevas opciones. Todos los ajustes ya realizados se adoptan.

cd linux-3.5.XX.Y
make oldconfig 

El nuevo kernel puede ser compilado e instalado.

make all && make modules_install install

El nuevo kernel y un enlace simbólico a él con el nombre vmlinuz deberían encontrarse ahora en el directorio /boot.

Actualizar el gestor de arranque

Dependiendo del gestor de arranque utilizado (GRUB o LILO) se deben realizar más ajustes.

Para LILO, compruebe el archivo /etc/lilo.conf para ver si el nuevo kernel ya ha sido añadido y añada una entrada si es necesario. Entonces el gestor de arranque debe ser actualizado con lilo -v.

Para GRUB, verifique el archivo /boot/grub/menu.lst para ver si hay una entrada correspondiente. A diferencia de LILO, no se necesitan más pasos.

A tener en cuenta: después de reiniciar el sistema, puede usar el comando uname -a para comprobar si se ha cargado el nuevo kernel. En caso de problemas durante el reinicio, se recomienda seguir el proceso de inicio a través de la consola serie del servidor (si está disponible).