Al hablar del núcleo es inevitable hablar del cargador de Linux o bien conocido como LILO[47] que es el encargado de cargar en memoria el núcleo y largarlo a correr.
El núcleo es un archivo mas. Normalmente se encuentra en el disco rígido[48]. Similar a un archivo ejecutable, algún proceso debe ser el encargado de cargarlo y luego ejecutarlo. Como todavía no se encuentra nada en memoria, la BIOS ejecuta código de un lugar especial en el disco, llamado boot sector, que contendrá a LILO.
Una de las grandes funciones de LILO es la selección de núcleo a usar. Normalmente al compilar diferentes núcleos hay que elegir, por ejemplo, entre alguno que tenga soporte para clusters[49] o para emular SCSI con un dispositivo IDE[50].
También se pueden tener núcleos de otros sistemas operativos (en el caso de algún problema serio neurológico) como OS/2, toda la gama de Windows, otros UNIX, etc.
El núcleo de Linux acepta parámetros para personalizarlo o en el caso de que no pueda auto detectar ciertos dispositivos o recursos. Estos parámetros deben darse antes de que se cargue el núcleo en si. Un ejemplo sería:
LILO: linux mem=256M |
En este caso se saltea la auto detección de cantidad de memoria realizada por Linux y se presume que existen 256 MB de memoria.
Una lista más detallada de estos parámetros se encuentra en /usr/src/linux/Documentation/. En este directorio está toda la documentación de los desarrolladores de núcleo, separada por módulo.
[47] LInux LOader: Cargador de Linux
[48] Es probable que en otros cursos veamos como arrancar una máquina sin disco rígido a través de la red
[49] Cluster es una forma de utilizar varias computadoras para que todas calculen al mismo tiempo como si fuera una sola
[50] Es muy común cuando se desea utilizar una grabadora de CD-R