Hola, alguien me puede clarificar unas dudas "de concepto" que tengo con respecto a la compilación del kernel de linux? -Yo bajo el fuente, lo compilo y genero un bzImage mediante los comandos make dep make clean make bzImage despues de eso copio el bzImage como vmlinuz.nuevo en mi /boot edito el lilo.conf para que aparezca la nueva opcion y tome este nuevo kernel. Copio el System.map generado como System.map.nuevo en mi /boot y hago un link (usando ln -s) llamado System.map que apunte a este nuevo archivo (System.map.nuevo) Ejecuto lilo, rebooteo y listo. Queda andando en teoria verdad? Al menos quedó andando cuando re compile el kernel que ya traia mi suse 8.0. Ahora bien, comeinzan mis dudas. Quiero compilar el kernel 2.4.20. Bajo los fuentes, y los ubico en /usr/src/linux-2.4.20 Hago el make dep, make clean, make bzImage y todos los pasos anteriores. Sin embargo cuando booteo con este nuevo kernel se me queda congelado en el proceso con un cartel que dice Kernel Panic: cant mount root fs on 03:03 o algo asi. Estuve averiguando y aparentemente ese error se da cuando uno no Incluye el reiserfs dentro de del kernel (sino que lo deja afuera). Entre a /usr/src/linux-2.4.18 (los fuentes de mi linux original) y hago make xconfig. Y me fijo dentro de "filesystem" y veo que el reiserfs esta como modulo y no dentro del kernel. Entro a /usr/src/linux-2.4.20 hago make xconfig y me fijo lo mismo y esta igual. La pregunta del millon es Por que con uno me da kernel Panic y con el otro no??? Como hago para incluir reiserfs en el kernel 2.4.20 para luego compilarlo con eso incluido en el kernel?? Por otro lado. El archivo initrd que es exactamente? Estuve leyendo y por lo que entendi es como una imagen de un disco RAM que se carga al inicio antes de montar el fs de linux. Estoy en lo correcto?. No me estará fallando la inclusión del reiserfs en el initrd y por eso es que me falla el booteo con el segundo kernel? Espero haber sido medianamente claro y desde ya gracias por ayudarme a entender este mundo linux. !!! Roberto.-
El Mar 24 Jun 2003 19:12, A/I Roberto Carriquiry escribió:
Hola, alguien me puede clarificar unas dudas "de concepto" que tengo con respecto a la compilación del kernel de linux?
-Yo bajo el fuente, lo compilo y genero un bzImage mediante los comandos Antes de esto es recomendable ejecutar make mrproper ya que las fuentes, aunque en mi opinion deberian, no tienen por que estar limpias de configuraciones anteriores make dep make clean make bzImage despues de eso copio el bzImage como vmlinuz.nuevo en mi /boot edito el lilo.conf para que aparezca la nueva opcion y tome este nuevo kernel. Copio el System.map generado como System.map.nuevo en mi /boot y hago un link (usando ln -s) llamado System.map que apunte a este nuevo archivo (System.map.nuevo)
Ejecuto lilo, rebooteo y listo. Queda andando en teoria verdad? Al menos quedó andando cuando re compile el kernel que ya traia mi suse 8.0.
Ahora bien, comeinzan mis dudas. Quiero compilar el kernel 2.4.20. Bajo los fuentes, y los ubico en /usr/src/linux-2.4.20 Hago el make dep, make clean, make bzImage y todos los pasos anteriores. Sin embargo cuando booteo con este nuevo kernel se me queda congelado en el proceso con un cartel que dice Kernel Panic: cant mount root fs on 03:03 o algo asi.
Puede que necesites un initrd? Prueba esto, en vez de copiar tu nueva bzImage como vmlinuz.nuevo haz primero una copia del antiguo como vmlinuz.old, al nuevo dale en nombre vmlinuz, tambien mueve el fichero /boot/initrd a /boot/initrd.old. Cuendo tengas todos los archivos en su sitio ejecuta mkinitrd y edita /etc/lilo.conf en consecuencia
Estuve averiguando y aparentemente ese error se da cuando uno no Incluye el reiserfs dentro de del kernel (sino que lo deja afuera).
Entre a /usr/src/linux-2.4.18 (los fuentes de mi linux original) y hago make xconfig. Y me fijo dentro de "filesystem" y veo que el reiserfs esta como modulo y no dentro del kernel.
Entro a /usr/src/linux-2.4.20 hago make xconfig y me fijo lo mismo y esta igual.
La pregunta del millon es Por que con uno me da kernel Panic y con el otro no???
Como hago para incluir reiserfs en el kernel 2.4.20 para luego compilarlo con eso incluido en el kernel??
Por otro lado. El archivo initrd que es exactamente? Estuve leyendo y por lo que entendi es como una imagen de un disco RAM que se carga al inicio antes de montar el fs de linux. Estoy en lo correcto?. No me estará fallando la inclusión del reiserfs en el initrd y por eso es que me falla el booteo con el segundo kernel?
Espero haber sido medianamente claro y desde ya gracias por ayudarme a entender este mundo linux. !!! Roberto.-
El 2003-06-24 a las 14:12, A/I Roberto Carriquiry escribió:
Ahora bien, comeinzan mis dudas. Quiero compilar el kernel 2.4.20. Bajo los fuentes, y los ubico en /usr/src/linux-2.4.20
Supongo que te acordaste de crear el enlace simbólico: linux --> linux-2.4.2
Hago el make dep, make clean, make bzImage y todos los pasos anteriores.
Cuelgue seguro :-) Te falta el "make modules modules_install", y mk_initrd, posiblemente con parámetros (o editando el script o el /etc/sysconfig/kernel)
Sin embargo cuando booteo con este nuevo kernel se me queda congelado en el proceso con un cartel que dice Kernel Panic: cant mount root fs on 03:03 o algo asi.
Of course. O:-)
Como hago para incluir reiserfs en el kernel 2.4.20 para luego compilarlo con eso incluido en el kernel??
El kernel lo trae, se selecciona en el make menucofig u equivalente. Pero, sobre todo si es un kernel de suse, se compila como módulo, y tú no lo has compilado. Por cierto, en algunos casos, el kernel puede tratar de usar un modulo de otro arbol.
Por otro lado. El archivo initrd que es exactamente? Estuve leyendo y por lo que entendi es como una imagen de un disco RAM que se carga al inicio antes de montar el fs de linux. Estoy en lo correcto?.
Correcto.
No me estará fallando la inclusión del reiserfs en el initrd y por eso es que me falla el booteo con el segundo kernel?
Correcto :-) Está explicado en el manual de suse, en suse boot concept o algo así. Y ese manual está traducido al español, así que no tienes excusa ;-) Por cierto, si compilas un kernel de suse, que ya tenía instalados sus binarios, es mejor cambiarle la "EXTRAVERSION". Te evitarás problemas. -- Saludos Carlos Robinson
participants (3)
-
A/I Roberto Carriquiry
-
Carlos E. R.
-
Javier Payno