Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Kernel 2.6: éxito parcial

man ls's Diary
Por man ls
departamento prueba tu propia medicina , Sección Diarios
Puesto a las Sun Jan 11th, 2004 at 01:30:37 PM CET
Tras la publicación de la versión definitiva de WWoL2.6, me sentía obligado moralmente a probar el nuevo kernel. Eso, y la continuación de mi educación linuxera: no haber nunca compilado un kernel podría hacerme perder el (ya de por sí escaso) respeto de cualquier libertonio :) Así que nada más llegar de vacaciones me puse a ello.

 


Un apunte sobre mi última entrada: si la memoria no me falla, la encuesta asociada es la más popular que he hecho hasta la fecha. Los resultados son descorazonadores: 2 chicas, una panzá tíos, y 10 "travestis" que quieren hacerse pasar por la rubia :) pero seguiremos intentándolo.

Ahora ya sí, en el más puro estilo "diario", os comento mi prueba.

jueves

Me voy tan contento a kernel.org, de donde me bajo los fuentes completos (marcados con una "F"). Creo que la gente usa BitTorrent para esto, pero ya pasada la fiebre descargadora, me va perfecto. Como es grande (32 M), me voy a dormir mientras se baja.

Mis motivaciones son varias: ver si el documento que traduje está bien, aprender a compilar un kernel, e intentar que me funcione bien la grabadora de cedés de una vez (al eliminar el dichoso puente IDE->SCSI y conseguir acceso directo al dispositivo).

viernes

Lo descomprimo (en el directorio INSTALL_HOME) y me dispongo a seguir las instrucciones del fichero README asociado:

  • $cd $INSTALL_HOME
  • Elijo el directorio destino, BUILD_HOME
  • $make O=$BUILD_HOME menuconfig

    Aquí tienes que responder a un millón de respuestas esotéricas sobre tu hardware y tu configuración, para compilar sólo las partes del kernel que vas a usar. Puedes elegir entre compilar una opción, pasar de ella o (para algunas) dejarla como módulo, para cargarla luego con modprobe. Yo intento compilar todo lo que me hace falta, y dejar como módulos todo lo que algún día podría utilizar.

    No sé muy bien cómo hacen Mandrake, Knoppix y otros para autodetectar tu hardware, supongo que compilándolo todo como módulos y luego cargándolos con un script. Yo fui incapaz de encontrar la manera.

    Como dice en el README, cualquier cosa marcada como "experimental", "development" o similar se queda fuera.

  • $make O=$BUILD_HOME

    Las instrucciones te piden tener la versión 2.95.3 de gcc. Yo utilicé la versión que trae Mandrake (3.2.2), y me fue perfectamente.

  • Todo esto lo podemos hacer sin ser root. El proceso puede tardar fácil una hora, si no lo has hecho nunca. Como ya era tardísimo, me fui a dormir (tampoco hacer falta ser root para eso).

sábado

El día comienza con una mala noticia: ya han sacado la versión 2.6.1. Mardito roedore. En fin, para ser pragmático intentaré primero instalar ésta, y si va bien la actualizaré.

Seguimos con las instrucciones del README para la instalación del kernel, pero nos desviamos pronto para instalarlo con grub.

  • Ahora, en teoría, toca
    $su
    y
    #make O=$BUILD_HOME install_modules install
    Pero no quería que me trastocara la configuración, así que elegí otro camino alternativo.
  • $make O=$BUILD_HOME bzImage

    El kernel resultante está en $BUILD_HOME/arch/i386/boot/bzImage.

  • Ahora sí, meto $su para ser root: toca copiar la imagen a mi directorio /boot.
  • #mv $BUILD_HOME/arch/i386/boot/bzImage /boot/vmlinuz-2.6.0

    Esto sigue la convención de mi instalación, de tener varias imágenes en /boot y elegir la que sea al arrancar.

  • Como uso grub, no es necesario reconfigurar lilo. Pero sí hay que añadir una entrada a /boot/grub/menu.lst, en mi caso la siguiente:
    title linux 2.6
    kernel (hd0,4)/boot/vmlinuz-2.6.0 root=/dev/hdb5 devfs=mount vga=788
    No sé si será muy correcto, lo hice sobre todo copiándolo de las otras entradas. Por cierto que las otras tenían todas una línea con initrd. Tras leer los manuales de grub (en formato info, la página man no tiene casi nada) e initrd, parece que sólo sirve para cargar el kernel en un disco RAM, y que vaya más rápido. Paso de todo.
Ya con el nuevo kernel en su sitio, reinicio la máquina y selecciono la nueva entrada. El resultado es un éxito parcial: arranca bien, aunque con la pantalla más negra que las cejas de Madonna. Tras unos momentos de pánico, aparece el familiar inicio de KDE. Curioso, las X funcionan pero las consolas ([ctrl][alt]F1) sólo muestran un bonito patrón aleatorio.

El sonido no va. Como trae una nueva versión de ALSA (Advanced Linux Sound Architecture), intento configurarlo en mplayer (que sólo soporta la versión 0.9), pero sin éxito.

La red tampoco va, supongo que habrá que reconfigurar todo el interfaz de nuevo. No recuerdo cambios drásticos en el documento de Joe Pranevich, así que no tengo ninguna pista.

Creo que esperaré a que Mandrake publique un rpm con la nueva versión, no tengo mucho espíritu para resolver estos problemillas. Por cierto, parece que la grabadora de cedés se ha perdido en el cambio, según me informa diskdrake al reiniciar con 2.4.

domingo

Escribo esta entrada en Libertonia, para vuestro disfrute. Un resultado parcial puede siempre verse como un éxito (algo funcionó) o como un fracaso (algo no funcionó). Dado mi escaso nivel de competencia, prefiero verlo como un éxito parcial.

Por supuesto, se admite cualquier corrección / sugerencia / crítica despiadada.

< Buscando soluciones de Empaquetamiento (12 comments) | ¿Está KDE en decadencia? (29 comments) >
Enlaces Relacionados
· escomposlinux.org
· la versión definitiva de WWoL2.6
· mi última entrada
· la encuesta asociada
· kernel.org
· los fuentes completos
· han sacado la versión 2.6.1
· More on man ls's Diary
· Also by man ls

Encuesta
¿Has probado el nuevo kernel?
· Si funciona no lo toques 9%
· Esperaré a mi distro 22%
· Sí, sin éxito 27%
· Sí, va bien 18%
· Hasta en mi reló calculadora 22%

Votos: 22
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Kernel 2.6: éxito parcial | 9 comentarios (9 temáticos, editoriales, 0 ocultos)
Sugerencias (4.00 / 2) (#3)
por neuralgya a las Mon Jan 12th, 2004 at 10:37:15 AM CET
(Información Usuario) http://worldspace.berlios.de

Llevo un tiempo probando esporádicamente el núcleo 2.5/2.6. La experiencia me dice, y no sólo con esta rama del núcleo, que uses el gcc-2.95 para compilar el núcleo. A pesar de que algunas distribuciones usen el 3.2/3.3, los kernel-hackers siguen recomendando el 2.95. Compilando con el 2.95 he solucionado problemas que se presentaron con el 3.2/3.3

initrd es una imagen de un sistema de ficheros que se monta en el arranque del núcleo para cargar módulos que no están directamente compilados en el núcleo. Por ejemplo, si configuras reiserfs como módulo, debes tener accesible el módulo para poder usar el sistema de ficheros. Como los módulos están en disco, necesitas una imagen preliminar de dónde cargarlo. Esto es útil para crear núcleos genéricos. No lo uses para un núcleo adaptado a tus necesidades/equipo.

IDE->SCSI. Personalmente ya no lo uso con el núcleo 2.6. Las últimas versiones de cdrecord te permiten usar directamente dispositivos IDE. No grabo muchos CD's, pero usando k3b puedo hacer 'backups de mis videos personales' perfectamente y rápidamente pasando de la emulación SCSI, que siempre es una capa más.

Y por cierto, muchas características interesantes del núcleo están marcadas como EXPERIMENTAL, y seguirán así mucho tiempo. Personalmente, uso muchas de esas características o drivers a no ser que en la ayuda diga que es peligroso o inseguro. Suelen ir bastante bien.

En cuestión de rendimiento, yo he notado diferencia para mejor. Y precisamente es ante las cargas más altas cuando el núcleo se comporta mejor. De todas maneras, todavía habrá que esperar unas cuantas versiones para que se considere este núcleo como preparado para Escritorios.De todas formas, animo a todo el mundo a probarlo y a reportar fallos, para acelerar este proceso.

Saludos libertonianos



------------------------------------ No soy adicto a la red, sólo formo parte de ella


 
Mi caso (none / 0) (#1)
por ridiculum a las Sun Jan 11th, 2004 at 07:09:29 PM CET
(Información Usuario)

Llevo usando la rama de desarrollo (ahora estable) desde el 2.5.75 creo que era. Ahora mismo escribo desde un 2.6.1 sobre un duron.

No he tenido problemas serios.
Sobre el sonido, tuve una historia con los modulos y era que no se cargaba solo el snd-via82xx si no estaba previamente cargado el snd. La documentacion de alsa creo que es un peli obsoleta y no fui capaz de encontrar el error hasta hace 2 dias.

cat /etc/modutils/alsa 

alias char-major-116 snd
alias char-major-14 soundcore
options snd major=116 cards_limit=2

alias snd-card-0 snd-via82xx
options snd-via82xx ac97_clock=48000 enable=1 

alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias /dev/dsp* snd-pcm-oss


La linea que me faltaba era alias sound-slot-0 snd-card-0.

Tambien tuve que cambiar de mixer. Antes usaba aumix, pero a pesar de que en la pagina man se empeñan en decir que soporta alsa, a mi no me funciona y me carga el modulo de compatibilidad con OSS. Tuve que crear los dispositivos en /dev/snd (uso el dev de toda la vida) con un script que creo que venia en uno de los paquetes alsa de debian: paquete alsa-base y script /usr/share/alsa-base/snddevices

Para la tarjeta de red no tuve que hacer nada en especial. Tengo una intel Ether Pro 100 y uso el driver de Donald Becker (y otros ;) eepro100.



 
Yo no he tenido suerte (none / 0) (#2)
por Draco a las Sun Jan 11th, 2004 at 09:54:57 PM CET
(Información Usuario)

No porque no haya podido arrancar, sino porque algo realmente extraño pasa en mi equipo cuando ejecuto una operación de entrada/salida un poco "fuerte". La máquina se queda prácticamente inusable durante un rato, aparte de que el rendimiento es pésimo. Para que os hagáis una idea:
tizona:~/download$ time dd if=/dev/zero of=mugande
bs=1M count=300
Linux 2.6.1
real    1m36.197s
user    0m0.110s
sys     0m3.853s

Linux 2.4.22
real    0m11.353s
user    0m0.020s
sys     0m5.480s


Al principio lo atribuí a la opción de PREEMPT, porque a un 2.4.23 con los parches de Con Kolivas le pasaba lo mismo, pero la he quitado y todo sigue igual. La verdad es que no sé que puede pasar ¿algo relacionado con el I/O scheduler tal vez?

Así que de momento, fracaso total :-(
There are two major products to come out of Berkeley: LSD & BSD Unix. I don't believe this to be a coincidence.


¿DMA? (none / 0) (#4)
por musg0 a las Mon Jan 12th, 2004 at 10:50:50 AM CET
(Información Usuario) http://helvete.escomposlinux.org

¿Estás seguro de que el DMA del disco está activado. Quizás se te olvidó compilarlo o no se active por defecto en el 2.6.

[ Padre ]


Tiene que ser eso (none / 0) (#6)
por Draco a las Mon Jan 12th, 2004 at 04:56:39 PM CET
(Información Usuario)

La verdad es que todavía no he podido dedicar mucho tiempo a mirar qué era, pero casi seguro que será lo que dices. Bien pensado es imposible que sea un comportamiento normal, por poco "afinado" que esté el nuevo I/O scheduler. Gracias a ambos por la ayuda, en cuanto pueda le preguntaré al señor hdparm qué sabe del tema :-)
There are two major products to come out of Berkeley: LSD & BSD Unix. I don't believe this to be a coincidence.
[ Padre ]


 
Regresiones (none / 0) (#5)
por ridiculum a las Mon Jan 12th, 2004 at 02:42:47 PM CET
(Información Usuario)

Tu caso me parece absolutamente brutal. Se que hubo una regresion en el tema de E/S en torno al test7. La culpa por lo visto esta en el planificador de E/S que se usa por defecto:

dmesg | grep antici
Using anticipatory io scheduler


Aun no esta corregido en la rama de Linus por que no era un bug critico. Tambien se que las placas con chipset via no rinden igual que con 2.4. Aun asi, y estos dos condicionantes, mis resultados para 2.6.1 son:
time dd if=/dev/zero of=mugande bs=1M count=300
300+0 registros leídos
300+0 registros escritos
314572800 bytes transferred in 9,224835 seconds (34100643 bytes/sec)

real    0m9.228s
user    0m0.011s
sys     0m2.361s


El resultado de 34MBs se parece mucho al que me da hdarpm. Mi configuracion del hdparm es esta:

-d1 -X69 -a 8192 -c1 -m16 -W1 -A1 -u1 -k1


Tiene especial importante el -a. Ahora recomiendan incrementarlo a ese valor, quiza por que cuente de diferente forma. Antes yo ponia 16, y es posible que significaran 16 secotores. 16*512 (creo que ese es el tamaño del sector) son 8192.

Y mi hardware es:
HDD IBM Model=IC35L040AVVA07 BuffSize=1863kB
chipset VIA KT133

[ Padre ]


 
Notas sobre el 2.6 (none / 0) (#7)
por atopos a las Mon Jan 12th, 2004 at 05:36:12 PM CET
(Información Usuario) http://los-pajaros-de-hogano.blogspot.com

No sé muy bien cómo hacen Mandrake, Knoppix y otros para autodetectar tu hardware, supongo que compilándolo todo como módulos y luego cargándolos con un script. Yo fui incapaz de encontrar la manera.
No he visto la configuración de estas distribuciones, pero lo normal para no tener problemas es compilar estáticamente todo lo básico, que es lo que se hace en otras distribuciones, aparte de que suelen incluir muchos más módulos de los necesarios (para poder dar soporte a gran cantidad de hardware). De hecho, hay cosas que no deben en nigún caso compilarse como módulo: soporte para el disco duro de arranque, soporte para el sistema de archivos donde estará la partición root, etc. (aunque supongo que esto es evidente, y no hace falta decirlo).

No obstante, una configuración muy modular puede ser aprovechada por programas en espacio de usario como 'hotplug' (el paquete existe en Debian con este nombre, no sé en Mandrake). El núcleo nuevo está mucho mejor preparado para el hottpluging y esta clase de programas puede ahora obtener un mejor resultado. Habrá que dar tiempo al desarrollo para su plena adaptación al nuevo núcleo.
Las instrucciones te piden tener la versión 2.95.3 de gcc. Yo utilicé la versión que trae Mandrake (3.2.2), y me fue perfectamente.
Lo mismo aquí con la 3.3.
Como dice en el README, cualquier cosa marcada como "experimental", "development" o similar se queda fuera.
Sí, si se quiera la mayor estabilidad posible. Pero tampoco está mal seleccionar alguna que otra opción experimental, aunque con mesura. Habrá que ponerla a prueba de alguna forma. Hay cosas que ya es sabido que no funionan bien todavía, como "Preemptible kernel". Depende en último extremo de los riesgos que se quiera asumir.
El sonido no va. Como trae una nueva versión de ALSA (Advanced Linux Sound Architecture), intento configurarlo en mplayer (que sólo soporta la versión 0.9), pero sin éxito.
En relación con ALSA, conviene leer la documentación de las fuentes en Documentation/sound/alsa/. Un problema típico es que el soporte funcione, pero tengamos en silencio ("muted") todos los dispositivos. Para ello, hay que usar aplicaciones como alsamixer, que nos permiten modificar la situación "muted" por defecto.
La red tampoco va, supongo que habrá que reconfigurar todo el interfaz de nuevo.
Supongo que lo que no va es el interfaz, pero sí el soporte de la tarjeta. Por si acaso, y si fuera el soporte lo que falla, mira a ver si lo has compilado estáticamente o como módulo. En caso de que sea la interfaz, tampoco yo entiendo porque ha fallado (no tiene nada que ver con el núcleo). Otra posibilidad es que falte algo en la sección "### Networking support". Se necesitaría más información para detectar el problema.

Una sugerencia final. Aparte de la Documentación de las fuentes, un artículo que me parece muy interesante (además, por supuesto, del que tú mismo has traducido, que es más teórico o filosófico, si se quiere) es el post-halloween. No sé si ha sido ya mencionado aquí en Libertonia, pero por si acaso lo cito.

Espero que estas ideas sean útiles.



Y traducido... (none / 0) (#8)
por nya a las Mon Jan 12th, 2004 at 06:30:36 PM CET
(Información Usuario)

Sólo apuntar que puedes encontrar ese mismo documento traducido al castellano aquí (la misma versión, 0.48).

[ Padre ]


 
Muchísimas gracias (none / 0) (#9)
por man ls a las Mon Jan 12th, 2004 at 10:06:17 PM CET
(Información Usuario)

Sí, es justo lo que necesitaba para darle un empujón a mi intento. Os haré saber los resultados.

[ Padre ]


 
Kernel 2.6: éxito parcial | 9 comentarios (9 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda