1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- original version: 40980 -->
<!-- Revisado por Steve Langasek -->
<!-- Revisado Rudy Godoy, 23 feb. 2005 -->
<!-- revisado por Igor Tamara, enero 2007 -->
<sect1 id="kernel-baking"><title>Compilar un nuevo ncleo</title>
<para>
Por qu querra alguien compilar un nuevo ncleo? La mayora de las
veces no ser necesario puesto que el ncleo estndar entregado
con Debian gestiona la mayora de configuraciones. Adems, Debian
ofrece habitualmente varios ncleos alternativos. As, debera comprobar
si hay un paquete de imagen de ncleo alternativa que se ajuste mejor
a su hardware. En cualquier caso
es til compilar un nuevo ncleo para:
<itemizedlist>
<listitem><para>
tratar necesidades especiales de hardware, o conflictos de los mismos con
ncleos predeterminados.
</para></listitem>
<listitem><para>
utilizar opciones del ncleo que no estn soportadas en los ncleos preparados,
como puede ser el caso del soporte de memoria elevada (ms de 4GB).
</para></listitem>
<listitem><para>
optimizar el ncleo eliminando controladores no usados para acelerar
el tiempo de arranque.
</para></listitem>
<listitem><para>
crear un ncleo monoltico en lugar de uno modular.
</para></listitem>
<listitem><para>
ejecutar un ncleo actualizado o de desarrollo.
</para></listitem>
<listitem><para>
aprender ms de los ncleos de Linux.
</para></listitem>
</itemizedlist>
</para>
<sect2><title>Gestin de la imagen del ncleo</title>
<para>
No tenga temor de intentar compilar el ncleo. Es divertido y fructfero.
</para><para>
Para compilar un ncleo al <quote>estilo Debian</quote>,
necesita algunos paquetes:
<classname>fakeroot</classname>,
<classname>kernel-package</classname>,
<classname>linux-source-2.6</classname>
y algunos otros que probablemente ya estn instalados (vea
<filename>/usr/share/doc/kernel-package/README.gz</filename> si desea una
lista completa.
</para><para>
Este mtodo crear un .deb para su ncleo fuente y, si tiene mdulos
no estndares, construir tambin un .deb con dependencia sincronizada de
los mismos. Es la mejor forma de gestionar imgenes del ncleo;
<filename>/boot</filename> albergar el ncleo, el fichero System.map y
el fichero de registro del fichero config activo para la construccin.
</para><para>
Observe que no <emphasis>tiene</emphasis> que compilar su ncleo
<quote>al estilo Debian</quote>; pero creemos que usar el sistema de paquetes para
gestionar su ncleo es realmente ms seguro y sencillo. De hecho, puede
obtener las fuentes de su ncleo directamente de Linus en lugar de
<classname>linux-source-2.6</classname>,
y an as usar el mtodo de compilacin <classname>kernel-package</classname>.
</para><para>
Note que puede encontrar documentacin completa sobre el uso de
<classname>kernel-package</classname> en
<filename>/usr/doc/kernel-package</filename>. Esta seccin slo contiene un
breve tutorial.
</para><para>
A partir de ahora, asumiremos que tiene acceso completo al sistema
y que va a extraer las fuentes del ncleo en algn lugar de su
directorio personal<footnote>
<para>
Hay otras ubicaciones donde puede extraer las fuentes del ncleo y
construir su ncleo a medida, pero sta es la forma ms sencilla ya
que no requiere de permisos adicionales.
</para>
</footnote>. Tambin daremos por supuesto que la versin de su
ncleo es &kernelversion;. Ubquese en el directorio
donde desee desempaquetar las fuentes del
ncleo, extraiga las fuentes del
mismo usando
<userinput>tar xjf /usr/src/linux-source-&kernelversion;.tar.bz2</userinput>
y cmbiese al directorio
<filename>linux-source-&kernelversion;</filename>
que se habr creado.
</para><para>
Ahora puede configurar su ncleo. Ejecute
<userinput>make xconfig</userinput> si tiene X11 instalado,
configurado y ejecutndose, <userinput>make menuconfig</userinput> en
otro caso (necesitar instalar <classname>libncurses5-dev</classname>). Tmese
su tiempo para leer la ayuda en lnea y escoja cuidadosamente. Cuando
tenga duda, a menudo es mejor incluir el controlador de dispositivo
(el software que maneja el hardware perifrico, como tarjetas Ethernet,
controladoras SCSI, etc.) del que no est seguro. Tenga cuidado: Otras
opciones no relacionadas con un hardware especfico deberan dejarse en
su valor predeterminado si no las comprende. No olvide seleccionar
<quote>Kernel module loader</quote> (para la carga automtica de los mdulos) en
<quote>Loadable module support</quote> (ste no es elegido por omisin).
Su instalacin Debian experimentar problemas si no lo incluye.
</para><para>
Limpie el rbol de fuentes y reinicie los parmetros de
<classname>kernel-package</classname>. Para hacerlo, ejecute
<userinput>make-kpkg clean</userinput>.
</para><para>
Ahora, compile el ncleo: <userinput>fakeroot /usr/sbin/make-kpkg
--initrd --revision=custom.1.0 kernel_image</userinput>. Por supuesto, puede
cambiar el nmero de la versin <quote>1.0</quote>
por cualquier otro valor; ste slo es el nmero
de versin que usar para seguir la pista a los ncleos que haya
construido. Igualmente puede sustituir <quote>custom</quote> por
cualquier otra palabra (por ejemplo, un nombre de mquina).
La compilacin del ncleo puede tomar un buen
tiempo, dependiendo de la potencia de su mquina.
</para><para>
Una vez finalizada la compilacin, puede instalar su ncleo
personalizado como cualquier paquete. Como superusuario, ejecute
<userinput>dpkg -i
../linux-image-&kernelversion;-<replaceable>subarchitectura</replaceable>_custom.1.0_&architecture;.deb</userinput>.
La parte <replaceable>subarquitectura</replaceable> es una subarquitectura
opcional,
<phrase arch="i386"> como <quote>i586</quote>, </phrase> dependiendo de las opciones
que haya establecido en el ncleo.
<userinput>dpkg -i</userinput>
instalar el ncleo, junto con otros ficheros de soporte. Por ejemplo,
se instalar <filename>System.map</filename> adecuadamente (de gran ayuda
para depurar problemas con el ncleo), y tambin se instalar
<filename>/boot/config-&kernelversion;</filename>, con su configuracin actual.
Su nuevo paquete
es tambin lo suficientemente listo como para actualizar automticamente el
gestor de de arranque de su plataforma para que utilice la informacin de la
imagen del ncleo, la cual le permita arrancar sin necesidad de ejecutarlo
nuevamente. Deber instalar tambin el paquete de mdulos si lo ha
construido.
</para><para>
Es el momento de reiniciar el sistema: lea cuidadosamente cualquier advertencia
que pueda haberse producido, luego ejecute <userinput>shutdown -r now</userinput>.
</para><para>
Si desea ms informacin sobre los ncleos de Debian y la compilacin del
ncleo consulte el <ulink url="&url-kernel-handbook;">Debian Linux Kernel
Handbook</ulink> (Gua del ncleo de Linux para Debian).
Consulte la excelente documentacin disponible en
<filename>/usr/share/doc/kernel-package</filename>
si desea ms informacin sobre <classname>kernel-package</classname>.
</para>
</sect2>
</sect1>
|