Si está preguntando si puede instalar o actualizar un kernel "sobre" un sistema existente sin instalar un montón de otros programas?
El kernel de Linux es un archivo binario que generalmente se nombra vmlinuz-x.x.x-x-name
en el boot
directorio (que generalmente es una pequeña partición separada al comienzo del disco duro) donde las x son un número de versión. "nombre" es solo un nombre elegido para el núcleo que se puede configurar en tiempo de compilación, puede usarlo para identificar qué tipo de máquina o arquitectura es el núcleo o por cualquier otro motivo.
Se carga en el momento de arranque mediante un gestor de arranque, GRUB
que normalmente se invoca mediante el código de arranque en el MBR que se invoca mediante la ROM del BIOS. Una vez que se carga, no se "mantiene abierto" ni se protege especialmente. Entonces puede reemplazar ese archivo con otro núcleo en funcionamiento. Pero GRUB
tiene una característica genial que le permite seleccionar múltiples núcleos desde los que arrancar. Por lo tanto, es bastante inteligente agregar su kernel adicional a esa lista, pero mantenga el kernel de trabajo original conocido en caso de que las cosas salgan mal.
Creo que casi todas las distribuciones forman un núcleo "modular" donde los controladores de dispositivos están en archivos separados. Por lo tanto, la mayoría de los núcleos necesitan un sistema de archivos que contenga los controladores disponibles en el momento del arranque y para eso sirve un "initrd" (disco RAM inicial) o "initramfs". GRUB
cargará el kernel en una ubicación en la memoria y el initrd en una ubicación diferente, y saltará al kernel diciéndole dónde está el initrd, iniciando Linux.
Los controladores también pueden "integrarse" en el núcleo y, por lo tanto, se cargan automáticamente y están disponibles cuando el gestor de arranque carga la vmlinuz
imagen. Los núcleos que están destinados a funcionar en diversos sistemas (como los de la mayoría de las distribuciones) generalmente minimizan lo que está integrado en el núcleo porque el hardware disponible se escaneará más adelante en el proceso de arranque y solo se cargarán los módulos que representan el hardware actual.
Hay herramientas para modificar y crear initrds. Debian tiene buenas herramientas e imagino que otras distribuciones también.
Por lo tanto, si descarga un núcleo más reciente de kernel.org y lo compila para crear una nueva imagen binaria del núcleo, debe crear o actualizar un initrd con controladores que funcionen con ese núcleo. El viejo initrd no funcionará porque los controladores tienen que coincidir con la versión del núcleo que se está ejecutando.
El archivo initrd se llama de initrd.img-x.x.x.x-name
manera similar al kernel, y se puede reemplazar después del arranque al igual que el kernel, y la mejor práctica indicaría que no elimina un initrd que funciona conocido hasta que sepa que puede iniciar su nuevo kernel + initrd con éxito.
Espero que proporcione algo de contexto.
Si está buscando una instalación Linux "básica" que tenga poco o ningún programa adicional instalado, mi opción favorita siempre ha sido instalar la netinst
imagen de Debian . Prácticamente solo tiene las herramientas más básicas necesarias para ejecutar una consola de texto de línea de comandos y nano
como editor de texto.