201.1 - Comandos clave: Componentes del kernel

Comandos principales

ComandoFuncionEjemplo
uname -rMostrar version del kernel en ejecucionuname -r5.15.0-56-generic
uname -aMostrar toda la informacion del kerneluname -a
patchAplicar parches al codigo fuentepatch -p1 < parche.patch
tarExtraer codigo fuente del kerneltar xf linux-5.15.60.tar.xz
lsmodListar modulos cargadoslsmod
modinfoInformacion detallada de un modulomodinfo ext4
zcatLeer configuracion comprimidazcat /proc/config.gz

Opciones de uname

OpcionInformacion que muestraEjemplo de salida
-rVersion del kernel5.15.0-56-generic
-sNombre del kernelLinux
-nNombre del hostservidor01
-mArquitectura de la maquinax86_64
-pTipo de procesadorx86_64
-oSistema operativoGNU/Linux
-aToda la informacionCombinacion de todas
-vVersion del kernel (compilacion)#62-Ubuntu SMP ...

Tipos de imagen del kernel

TipoDescripcionUbicacion/Uso
vmlinuzKernel comprimido instalado/boot/vmlinuz-<version>
bzImageKernel comprimido (memoria alta)Resultado de make bzImage
zImageKernel comprimido (memoria baja, < 640KB)Obsoleto en x86
vmlinuxKernel sin comprimir (ELF)Depuracion unicamente
uImageFormato para U-BootSistemas embebidos

Archivos importantes

Archivo/DirectorioFuncion
/boot/vmlinuz-<version>Imagen del kernel para arrancar
/boot/config-<version>Configuracion con la que se compilo el kernel
/boot/System.map-<version>Mapa de simbolos del kernel
/boot/initrd.img-<version>Imagen initrd/initramfs
/usr/src/linux/Codigo fuente del kernel (enlace simbolico)
/usr/src/linux/.configConfiguracion de compilacion
/usr/src/linux/MakefileMakefile con version y reglas de compilacion
/usr/src/linux/Documentation/Documentacion oficial del kernel
/lib/modules/<version>/Modulos compilados del kernel
/proc/config.gzConfiguracion del kernel activo (si habilitado)
/proc/versionInformacion de version del kernel en ejecucion

Estados de configuracion del kernel (.config)

EstadoSintaxisSignificado
Built-inCONFIG_XXX=yCompilado dentro del kernel
ModuloCONFIG_XXX=mCompilado como modulo cargable
Deshabilitado# CONFIG_XXX is not setNo se compila

Versionado del kernel

Variable (Makefile)SignificadoEjemplo
VERSIONVersion mayor5
PATCHLEVELVersion menor15
SUBLEVELNivel de parche60
EXTRAVERSIONSufijo adicional-rc1 o vacio

Comparativa: kernel monolitico vs. modular

CaracteristicaMonolitico (todo built-in)Modular (con modulos)
Tamano de imagenGrandePequeno (nucleo + modulos)
FlexibilidadBaja (requiere recompilar)Alta (carga/descarga en caliente)
Dependencias externasNingunaRequiere archivos de modulos
Uso de memoriaMayor (todo cargado)Menor (solo lo necesario)
Arranque sin initramfsPosible si todo es built-inPuede necesitar initramfs