Visión general de los comandos de construcción del núcleo 24 de enero de 1999 Michael Elizabeth Chastain, Traducción para NuLies: David Marín Carreño, === Introducción Algún día trabajaremos sobre todo esto y lo arreglaremos un poco. Mientras tanto, este fichero describe el sistema tal y como está en el día de hoy. === Comienzo Rápido Si es la primera vez que construye un núcleo, estos son los comandos que necesita: make config make dep make bzImage En lugar de 'make config', puede ejecutar 'make menuconfig'para conseguir un interfaz de texto en pantalla completa, o 'make xconfig' para conseguir un interfaz X utilizando TCL/TK. 'make bzImage' dejará su imagen del núcleo en arch/i386/boot/bzImage. También puede utilizar 'make bzdisk' o 'make bzlilo'. Vea la documentación de lilo para más información acerca de cómo utilizar lilo. También puede utilizar el programa 'loadlin' para arrancar Linux desde MS-DOS. Algunos ordenadores no funcionan con 'make bzImage', debido a problemas de hardware o a versiones muy antiguas de lilo o loadlin. Si su imagen del núcleo es pequeña, puede utilizar 'make zImage', 'make zdisk', o 'make zlilo' en esos sistemas. Encontrará un fichero nombrado 'vmlinux' en el directorio principal del árbol de fuentes. Ignórelo. Es un fichero intermedio y no puede arrancar mediante él. Otras arquitecturas: la información de aquí arriba está orientada al i386. En otras arquitecturas no hay ficheros 'bzImage'; simplemente, utilice 'zImage' o 'vmlinux' tal y como sea lo apropiado para su arquitectura. Nota: la diferencia entre los ficheros 'zImage' y 'bzImage' es que 'bzImage' utiliza una disposición distinta y un algoritmo de carga también distinto, por lo que tiene mayor capacidad. Ambos ficheros utilizan compresión gzip. El 'bz' en 'bzImage' significa 'big zImage' (zImage grande), no 'bzip'. === Objetivos de los Makefile del nivel superior Aquí están los objetivos disponibles en el nivel superior: make config, make oldconfig, make menuconfig, make xconfig Configuran el núcleo de Linux. Debe hacer esto antes de casi cualquier otra cosa. config interfaz orientado a líneas oldconfig interfaz orientado a líneas. Reusa viejos valores menuconfig interfaz a pantalla completa basado en cursores xconfig interfaz de sistema X window make checkconfig Esto ejecuta una pequeña rutina perl que comprueba el arbol de fuentes buscando instancias ausentes de #include . Alguien necesita hacer esto de manera ocasional, ya que el preprocesador C dará malos resultados de manera silenciosa si esos símbolos no han sido incluidos (trata los símbolos no definidos en las directivas del preprocesador como definidos a 0). También se informa de los usos superfluos de #include , pero puede ignorar esto, ya que las dependencias inteligentes CONFIG_* los hace inermes. Puede ejecutar 'make checkconfig' sin configurar el núcleo. Además, 'make checkconfig' no modifica ningún fichero. make checkhelp Esto ejecuta otra pequeña rutina perl que comprueba el árbol de código buscando opciones que estén en los ficheros Config.in pero que no están documentadas en scripts/Configure.help. También alguien puede necesitar esto de modo ocasional. Si añade opciones de configuración, es agradable hacerlo antes de publicar su parche. Puede ejecutar 'make checkhelp' antes de configurar el núcleo. Además, 'make checkhelp' no modifica ningún fichero. make dep, make depend 'make dep' es sinónima de la forma larga, 'make depend'. Este comando hace dos cosas. Primero: calcula la información de dependencia entre ficheros .o y ficheros .h. Guarda esta información en un fichero del nivel alto del árbol de directorios llamado .hdepend y en otro fichero por cada directorio de código fuente, llamado .depend. Segundo, si tiene CONFIG_MODVERSIONS habilitado, 'make dep' calculará la información de versión de símbolos para todos los ficheros que exporten símbolos (dése cuenta que tanto los ficheros modulares como los residentes pueden exportar símbolos). Si no habilita CONFIG_MODVERSIONS, solo deberá ejecutar 'make dep' una vez, justo después de la primera vez que configure el núcleo. Los ficheros .hdepend y .depend son independientes de la configuración. Si habilita CONFIG_MODVERSIONS, deberá ejecutar 'make dep' cada vez que cambia la configuración, ya que la información de la versión de símbolo del módulo depende de la configuración. [continuará ...]