|
|
|
|
Debian Última actualización | stable: 04/05/2013
testing: 25/05/2013
unstable: 25/05/2013
|
|
|
|
|
|
|
|
El Kernel - Pasos y recomendaciones.
(15684 lecturas)
Por Jose Luis E. G.
Prometeux
(http://www.linuca.org)
Creado el 23/06/2003 15:30 modificado el 23/06/2003 15:30
|
Este es un pequeño articulillo sobre los pasos que debemos de seguir al compilar un kernel y hacer mención a los pasos a seguir desde que nos hacemos con el kernel hasta que rebotamos con este ya compilado. El mundo del kernel os espera :P. | Pagina1/1 |
Este es una pequeña recopilación de trucos PERSONALES para la compilación del kernel, en ella va desde como aplicar los diferentes patches que tenemos para el kernel , hasta como compilar el kernel. Resaltar que los trucos están orientados a Debian , pero intentare comentar los casos generales.
¿ Que es el kernel ?
Bueno un kernel es el el nucleo del sistema, el encargado de controlar todas las operaciones que se realizan en nuestro sistema.Por decirlo de forma simbólica es tanto el Cerebro como el Corazón.
Decir que este articulo esta basado en el kernel Linux , kernel que fue creado por /dios/ Linus Torvalds /dios/.
Como conseguir un kernel.
Yo recomiendo dos formas de hacerlo, la forma debianita y la forma estandar:
- La forma debianita consiste en hacerse de la sources del kernel mediante
apt-get install kernel-source-2.X.X , donde X son las versiones deseadas.
-La forma estándar consiste en irte a kernel.org y bajarte de su pagina la versión mas reciente, por ejemplo:
ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.bz2
Bueno, pues ahora que sabéis conseguir un kernel , os diré mas o menos cual es la diferencia entre ambas. Poner un kernel personalizado pro tu distribución , ya sea Debian , Gentoo u otra significa que es un kernel preparado y personalizado para esa distribución , con el fin de sacar mejor partido de las peculiaridades de esta. Bajar un kernel estándar significa que ese kernel te va a funcionar en cualquier distribución y que lo que te bajas solamente es linux en su estado puro :-P .
Hay otras formas , por ejemplo en debian , de instalar un kernel. Por ejemplo bajándote directamente una imagen, que consistiría en el resultado de compilar las sources. Yo no lo recomiendo , por que además de no estar personalizado para tu pc, es menos didáctico .-P.
Situando el Source.
Bueno, pues na vez tengamos el kernel la idea es llevarla a /usr/src.
allí la descomprimiremos , dependiendo de la compresión que tenga:
tar.bz2 -> tar -vxjf archivo.tar.bz2
tar.gz -> tar -vxzf archivo.tar.gz
Una vez tengamos descomprimido nuestro kernel, recomiendo hacer un link relativo des la siguiente forma:
ln -s kernel-descomprimido linux
Con esto tenemos la posibilidad de referirnos a nuestro kernel como /usr/src/linux
Kernel Patches.
Muy bien ya tenemos el kernel y sabemos donde lo tenemos , pues antes de compilar os comentare un poco sobre los distintos patches
que podéis aplicar a vuestro kernel.
Un Patch es un código fuente que se aplica antes de compilar un kernel con el fin de conseguir mejoras, tapar agujeros de seguridad y
diversos resultados.
Los distintos patches que podemos encontrar , entre otros , son:
xfs
Permite utilizar el Sistema de Ficheros XFS.
lowlatency
Aplica un reducción en el tiempo de E/S a los dispositivos de nuestro sistema.
preempt
Aplica una reducción de tiempos de espera del kernel.
debianlogo
Si usas Framebuffer, sustituye el pingüino que aparece en la parte superior de la pantalla durante el arranque por un logotipo de Debian.
lpp
Si usas Framebuffer, podrás tener un arranque gráfico parecido al de otras distribuciones, en este caso tendrías una barra de progreso de carga del sistema al arrancar.
Si alguien conoce mas patches que los comente por favor, así aprendemos todos un poco mas :-P
Para aplicar un patch deberemos hacer un cd /usr/src/linux y allí hacer por ejemplo:
bzip2 -d xfs-2.4.20-all-i386.bz2 | patch -p1
También para los debianitas tenéis la posibilidad de apt-getear los patches y aplicarlos de una manera distinta. Se os creara un directorio llamado /usr/src/kernel-patches/all allí en la carpeta apply hay unos binarios por cada patch que hallamos instalado, copiaros ese binario a /usr/src/linux y allí ejecutarlo.
Compilando el Kernel.
Bueno lo primero decir que en linuca también tenéis un articulo de como hacerlo aquí
Mis recomendaciones son las siguientes.
cd /usr/src/linux
make mrproper -> Para borrar archivos de antiguas compilaciones.
make menuconfig -> Me gusta mas la configuración basada en ncurses.
make dep -> Creamos las dependencias
make clean -> limpiamos archivos temporales
make bzImage -> creamos la imagen del kernel
make modules -> compilamos los modulos.
make modules_install -> instalamos los módulos.
make install -> instalamos la imagen.
Cuando todo haya acamado nos preguntara si deseamos ejecutar lilo, le decimos que si , y ya tenemos el kernel listo.
Configurando el arranque.
Bueno ahora toca a Lilo decirle que arranque ese kernel, si habéis seguido todos los pasos anteriores tendremos la imagen del kernel en
/boot.
Editamos el archivo /etc/lilo.conf y añadimos o modificamos una entrada tal que así:
image=/boot/vmlinuz
label=Debian_2.4.21
Después de añadir eso , es muy importante definir esa entrada como default si queremos que se arranque predetermidamente así:
default=Debian_2.4.21
Ahora , y muy importante , ejecutamos lilo y ya esta, reiniciamos y ya estamos andando con nuestro nuevo kernel.
Trucos y recomendaciones.
Podéis usar alias para no tener que escribir siempre todo a la hora de compilar un kernel, editar el .bashrc del root y añadir:
alias compikernel = 'make dep; make clean; make bzImage; make modules; make modules_install; make install'
Con esto tenemos la ventaja de no tener que recordar todos los pasos para compilar el kernel, una vez configurado el kernel , ejecutamos compikernel y hasta que acabe.
Acordaros de que cuando estéis configurando el kernel podéis hacer uso de guardar y cargar configuración , cosa muy útil que nos ahorrara de configurar el todo el kernel siempre que necesitemos compilarlo.
En esta sección me gustaría hacer un llamamiento a los que conozcáis mas trucos y recomendaciones para crear un articulo vivo y que vaya creciendo con vuestra participación.
Saludos y espero que a alguien le sirva de ayuda, y resaltar que son pasos recomendaciones personales, seguramente no sean las idóneas pero a mi me tiene contento :-P |
|
|
|
| Comentarios | 1. Otros pasos y recomendaciones. (23/06/2003 16:25, #763) Por: melenas (http://es.kde.org) |
En Debian podemos sustituir todo esto
make dep -> Creamos las dependencias
make clean -> limpiamos archivos temporales
make bzImage -> creamos la imagen del kernel
make modules -> compilamos los modulos.
por
make-kpkg kernel_image
y
make modules_install -> instalamos los módulos.
make install -> instalamos la imagen.
por
dpkg -i kernel-image-version-extraversion-algomas.deb
Además otro truco para compilar la misma versión del kernel sin que te machaque los módulos antiguos es editando el archivo Makefile y en la cuerta línea donde pone EXTRAVERSION= poner lo que quieras. Por ejemplo:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 21
EXTRAVERSION = -melenas
y si quiero compilar otra vez el kernel con la misma versión del núcleo
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 21
EXTRAVERSION = -melenas0
y así los módulos de /lib/modules se conservan respectivamente en los directorios 2.4.21-melenas y 2.4.21-melenas0 respectivamente. | |
2. Re: Otros pasos y recomendaciones. (25/06/2003 09:26, #772) Por: trukulo (http://www.badopi.org) |
| Una anotación paisano.
Con Kernels nuevos es recomendable hacer
make-kpkg clean
antes de
make-kpkg kernel_image | |
3. Re: Otros pasos y recomendaciones. (29/06/2003 08:43, #780) Por: El cobarde anónimo |
Además otro truco para compilar la misma versión del kernel sin que te machaque los módulos antiguos es editando el archivo Makefile y en la cuerta línea donde pone EXTRAVERSION= poner lo que quieras. Por ejemplo:
¿No hace esto mismo --append-to-version? | |
|
4. Re: El Kernel - Pasos y recomendaciones. (23/06/2003 17:41, #765) Por: El cobarde anónimo |
| make bzimage + make install = make bzlilo
Es decir otra forma es hacer:
make mrproper
make config
make dep
make clean
make bzlilo
make modules
make modules_install
Salu2 | |
5. Mas cortito (23/06/2003 18:56, #766) Por: El cobarde anónimo |
| make menuconfig dep clean bzImage bzlilo modules modules_install
Recordar que "make mproper" seria mejor ejecutarlo solo cuando nos interese pues te borra el .config y te borra la configuración anterior. NOTA: Tener siempre a mano un backup de /usr/src/linux/.config para restaurarlo antes de hacer el "make config/menuconfig/xconfig". | |
|
6. parche: packet-cd (23/06/2003 19:34, #767) Por: cibervicho |
Un parche que yo le suelo poner:
packet-cd:
http://w1.894.telia.com/~u89404340/patches/packet/
Sirv e para usar CD-RW como disquetes grandes mediante un sistema de archivos llamado UDF. Es decir, no hace falta dejar sesiones abiertas, ni borrarlos enteros. Hace una especie de multisesión rara creo.
El problema es que si el cd no es de buena calidad, a los pocos meses de estar usándolo te puede dar problemas. Pero una vez te aficionas, no puedes vivir sin ello.
En bulma comentaron como instalarlo:
http://bulmalug.net/body.phtml?nIdNoticia=1655 | |
7. Re: parche: packet-cd (26/06/2003 21:43, #777) Por: El cobarde anónimo (http://ext.ionichost.com) |
| Para los que, como yo, estamos acostumbrados al DirectCD de windows, poder leer y escribir discos regrabables con el sistema de archivos UDF en Linux es una verdadera gozada. Os lo recomiendo. | |
|
8. Re: El Kernel - Pasos y recomendaciones. (23/06/2003 23:28, #768) Por: Miguel (Bubkita) |
También existe un patche para ejecutar aplicaciones en modo núcleo (mucho más rápido). El patche se llama KML, y le podeis encontrar en:
www.yl.is.s.u-tokyo.ac.jp/~tosh/kml
Este parche nos da la oportunidad de ejecutar aplicaciones de usuario como si fuese el propio núcleo, con la consiguiente mejora de velocidad, al realizarse las llamadas al sistema directamente y no a través del núcleo.
Al tener más privilegios estas aplicaciones no se puede cambiar los registro CS, DS, SS y FS, ya que cambiariamos cambiarimos los registros de segmento que usa el kernel, lo que supondria un cuelgue del sistema. Dos programas que cambian estos registros son WINE, y VMware.
Saludos
| |
9. Re: El Kernel - Pasos y recomendaciones. (24/06/2003 13:50, #769) Por: jjosegutierrez (http://ps.kicks-ass.org) |
parches interesantes:
comprimir la memoria ram
Drivers para el pc-speaker(para usarlo como una tarjeta de sonido):Uno
Otro
Supermount (Para no tener que montar/desmontar cds/disquetes/etc...)
Pat chsets interesantes:
WOLK
Con Kolivas(Centradas en rendimiento) | |
10. Re: El Kernel - Pasos y recomendaciones. (25/06/2003 12:45, #773) Por: likid0 |
| entonces es posible tener el patch de low latency y el de ac para el XFS?
o se sobreescriben unos a otros?
y tmb usar la pre1 del .22 con los de arriba todo junto?
y lo de conservar los modulos que comentais arriba es interesante para no perder por ejemplo los de nvidia pero si añades algun modulo nuevo al compilar haciendolo como viene arriba se mantendria? | |
|
|
12. Re: El Kernel - Pasos y recomendaciones. (28/06/2003 13:13, #779) Por: robles |
Existe otro parche alternativo a lpp y se llama bootsplash. Es el que utilizan mandrake y Suse.
Lo podeis encontrar en www.bootsplash.org aunque en mi debian yo no he conseguido hacer que funcione por el tema de devfs, me puse en contacto con el autor de un artÃculo en bulma sobre este tema y me comentó lo cambios necesarios y que no explican en la web oficial. Si a alguien le interesa que me lo comente y le envio el emilio. | |
13. Re: El Kernel - Pasos y recomendaciones. (29/06/2003 14:09, #781) Por: El cobarde anónimo |
Hola.
Tambien probe bootsplash y tampoco me funcionaba, ahora , no pense que era por el devfs. Me harias un gran favor si postearas el email a continuacion de este post para asi aprovechar todos los que estamos en nuestras misma situación.
Muchas gracias y espero ese email :-P | |
14. Re: El Kernel - Pasos y recomendaciones. (29/06/2003 15:27, #782) Por: robles |
he colocado el emilio en esta página:
http://www.alumnos.unican.es/uc17743/bootsplash-debian.html
haber si teneis más suerte que yo :) | |
15. Re: El Kernel - Pasos y recomendaciones. (30/06/2003 17:03, #786) Por: melenas (http://es.kde.org) |
Prueba este artículo en Bulma y comenta que tal te fue.
http://bulmalug.net/body.p html?nIdNoticia=1807 | |
16. Re: El Kernel - Pasos y recomendaciones. (21/07/2003 21:21, #826) Por: robles |
Ya lo he probado y he conseguiro que funcione "parcilamente".
Hay varias cosas que antes no tuve en cuenta:
1.- TenÃa devfs para que se cargara ya desde el principio, ahora tengo el soporte pero ni lo monto.
2.- PonÃa vga=792 y ahora funciona con 791.
3.- Al principio salÃan errores por no tener
soporte para tmpfs (creo q se llama asÃ)
4.- Tengo soporte para ramdisk y crampfs (creo).
5.- Para crear la imagen, añado como opción al
compilar el núcleo --initrd y de esta forma dpkg se
encarga de todo, luego sólo tengo que añadir lo que hace la aplicación splash.
6.- Me funciona bien en verbose pero cuando intento hacer la barra de progreso funciona hasta que comienza a cargar los módulos, entonces salta a verbose y se hace todo un lio porque la barra sobreescribe lo que va saliendo en la pantalla.
Conclusión: creo que con el pinguino de fondo está bien, y ahora le añadiré lo de [OK], etc y ya está. | |
|
|
|
17. Parche de Alan Cox (02/07/2003 23:59, #789) Por: El cobarde anónimo |
| El parche por excelencia es el parche de Alan Cox, que aparece en la pagina oficial del kernel, hay dos versiones: una para la estable y otra para la experimental. En esta version viene algo muy muy valioso para los ordenadores portatiles: cpufreq, que permite cambiar la velocidad del procesador (siempre que sea Pentium Mobile o AMD Power Now!), ademas de venir la extension ACPI mucho mas moderna, imprescindible para muchos portatiles donde no funciona APM. | |
18. Re: El Kernel - Pasos y recomendaciones. (15/10/2003 03:00, #1008) Por: El valiente anónimo |
En un computador PPC, debes hacer :
cd /usr/src/linux-VERSION
make dep vmlinux modules modules_install
cp vmlinux /boot/
cp System.map /boot/
para editar el bootloader (en yaboot):
edit /etc/yaboot.conf
para cargar el nuevo bootloader :
ybin | |
|
|
|
|
|
|
| Tira ECOL |
|
|
|
|
|
|