Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Filosofía y conocimiento » Documentación


Nuevo tema Responder al tema
 [ 4 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Lun May 21, 2007 7:59 am 
Arriba  
------------------- INTRODUCCION (shell, descarga, descomprimir)------------------

Ahora aprenderemos como instalarnos el nuevo Kernel existente :D.

Primero tomaremos el nuevo Kernel de aqui" Kernel 2.6.14.4
Recordar la Web oficial es: http://www.kernel.org ;)

Ahora digamos que bajamos nuestro kernel al directorio principal: /home/user/

Pasemonos a root.
Código:
shell$ su root
password:

shell#


Importante!!!
Recordar que cuando para saber la diferiencia entre estar como Usuario y como root en la bas, es esta:

shell$
Esto indica que estamos como Usuario ( ojo al $ )

shell#
Esto indica que estamos como root ( ojo al # )


Ahora que estamos como root, pasaremos a mover nuestro paketito kernel-2.6.14.4.tar.bz2 ;)

Código:
shell# cd /home/user/  /*accedemos al directorio*/

shell# ls -l  /*listamos el directorio*/
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.6.14.4.tar.bz2

shell# mv linux-2.6.14.4.tar.bz2 /usr/src    /*movemos el pakete al directorio donde debe ir el kernel*/

shell# cd /usr/src /*accedemos al directorio*/

shell# ls -l    /*listamos*/
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux->linux-2.x.x
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.x.x
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.6.14.4.tar.bz2


Veamos un poquito de explicacion :D, segun el listado que hicimos al directorio, les dire que significa o que quiere decir cada cosa:

Código:
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux->linux-2.x.x

Es un Enlace Simbolico a la carpeta linux-2.x.x, que es nuestro Kernel Actual. Es impresindible tenerlo siempre :D

Código:
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.x.x

Es la carpeta del kernel actual

Continuemos en al shell !!...

Código:
shell# bzip2 -dc linux-2.6.14.4.tar.bz2 | tar -xv   /*descomprimimos*/

shell# ls -l    /*listamos y encontramos un nuevo directorio :D*/
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux->linux-2.x.x
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.x.x
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.6.14.4
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.6.14.4.tar.bz2



[hr]


------------------- NUESTRO LILO, DIRECTORIOS Y COMPRENCION ------------------

LILO es el boot encargado de arrancar de la particion, con el maapa del sistema, y su imagen determinada. Todo esto hace LILO :D ( ooo.. vaya... jajaja ), pero todo esta expresado en su fichero de configuracion: /etc/lilo.conf

Donde tambien entra en juego el directorio: /boot que es donde estaran los archivos importantes :D


> Directorio /boot
NO me desplazare a explicar TODOS los ficheros contenidos aqui, ni su funcion. Solo explicare 3 ficheros que son los necesarios para arrancar nuestro lilo y que son los que se pueden sustituir para poder montar un nuevo Kernel o tener Mas Kerneles :D ;)

En /boot encontraremos:
Código:
/boot
|-------System.map
|-------config
|-------vmlinuz


Y si jamas hemos tocado el /boot, ni recompilado nuestro kernel existente, entonces sera asi:
Código:
/boot
|-------System.map->System.map-ide-2.4.x.x    /*enlace simbolico*/
|-------System.map-ide-2.4.x.x.
|-------config->config-ide-2.4.x.x            /*enlace simbolico*/
|-------config-ide-2.4.x.x
|-------vmlinuz->vmlinuz-ide-2.4.x.x          /*enlace simbolico*/
|-------vmlinuz-ide-2.4.x.x


System.map es el mapa del sistema( modulos, builds, etc...)
config es la configuracion que tenemos en enustro kernel actual funcional :D
vmlinuz la imagen de neustro kernel para cargar nuestro modulos :D

Los ficheros Systema.map y vmlinuz son los principales para el fichero /etc/lilo.conf, asi que el fichero config es solo un respaldo, ya que si por alguna razon o algo experimental, quizimos re-compilar nuestro kernel y todo nos fue MAL, con este fichero volveremos todo a la normalidad :D


> Fichero /etc/lilo.conf
En caso que nunca tocamos nuestro fichero, el fichero /etc/lilo.conf seri algo asi.

NOTA: veremos el fichero sin algunos comentarios y explicado
Código:
# LILO configuration file
append="hdc=ide-scsi"       /*indica que cargamos el modulo "ide-scsi" para los CD-ROM*/
boot = /dev/hda             /*boot al dispositivo hdd principal*/

/*NOTA y OJO... en esta parte donde esta el comentario es donde se pone la referencia al archivo: System.map futuramente :D*/

message = /boot/boot_message.txt         /*mensaje que se mostrara al boot*/
prompt
timeout = 1200                           /*tiempo maximo para esperar*/
change-rules
  reset
# VESA framebuffer console @ 1024x768x256
vga = 773
# VESA framebuffer console @ 1024x768x256
# vga=773

# Linux bootable partition config begins
# Kernel Actual 2.4.x.x
image = /boot/vmlinux         /*imagen del kernel*/
  root = /dev/hda2            /*particion donde esta linux*/
  label = Slackware           /*etiqueta*/
  read-only
# Fin Script


Bueno, ese fichero es el que modificaremos para agregar nuestro nuevo kernel como PRUEBA, despues que estemos satisfechos con el kernel y que TODO haya kedado bien :D, entonces dejaremos solamente el nuevo kernel ;).

Otra cosa importante, una ves modificado el fichero, se debe reinstalar lilo, que lea la configuracion nueva del fichero y que escriba, esto se hace asi:

Código:
shell# lilo   /*con esto se actualiza todo*/
Add Slackware*      /*esto indica que se realizo con exito*/
shell#



[hr]


------------------- INSTALANDO KERNEL ------------------

Bueno, ahora nos vamos al directorio donde esta nuestro neuvo kernel ( a donde lo dejamos ), y realizamos la configuracion:

Código:
shell# cd /usr/src/linux-2.6.14.4   /*accedemos al directorio*/


Para configurar el nuevo kernel existen muchas formas, pero las formas que recomiendo para su configuracion son alguna de estas dos:

Código:
shell# make menuconfig     /*modo de configuracion 1*/
shell# make xconfig              /*modo de configuracion 2*/


Bueno, cualquiera de las dos son buenas, pero yo usare en este manual ( y pues siempre lo uso asi ):

Código:
shell# make menuconfig


Nos aparecera el menu en Azul, ahi solo es cuestion de acceder a cada uno de los menus con presionar la tecla: BARRA_ESPACIADORA. Y para realizar alguna operacion con algo, utilizaremos: ENTER.

Cuando realizamos una operacion con algo al precionar ENTER, suceden 3 cosas:

1- <M> Esto significa que se cargara como MODULO y se guardara en la carpeta: /lib/modules/2.6.14.4 que es donde tendremos los modulos :D

2- [*] o <*> quiere decir que se compilara para el kernel.... Nota, es importante destacar que como recomendacion dejen todo como M, solamente los que ya aparescan como: *, asi dejenlos :D. Porke si nos excedemos y ponemos muchos *, puede que todo salga mal y nos diga el kernel: Kernle Panic y con esto ya se nos acabo el cirso y tendremos que inicar de nuevo :S.

3- <> o [] este es el modo normal o sin seleccion.

Con la tecla ESC regresamos ATRAS.


Una ves ya hayamos agregado los modulos de nuestros dispositivos de hardware, asi que vamos al Menu Principal y presionamos ESC, en este momento el menu saldra y nos dira si queremos guardar la configuracion, le decimos: YES (si).

Con esto nos creara el fichero .config dentro de la carpeta /usr/src/linux-2.6.14.4 ( directorio actual ).

Continuemos con la creacion de la imagen:
Código:
shell# make


Ahora crearemos los modulos:
Código:
shell# make modules


Instalaremos los modulos:
Código:
shell# make modules_install


Ahora instalaremos nuestro nuevo kernel... osea... copiaremos el fichero IMAGEN generado (/usr/src/linux-2.6.14.4/arch/i386/boot/bzImage) en /boot y el fichero System.map que genero las operaciones anteriores... y esto lo hacemos asi de facil:
Código:
shell# make install


Algo importante :D

al realizar make install, este ejecuta un bash script llamado install.sh, el cual realiza esto:

1- Copia el fichero: /usr/src/linux-2.6.14.4/arch/i386/boot/bzImage a /boot, pero con el nombre vmlinuz. Y en caso que ya exista un fichero con este nombre dentro de /boot, entonces el fichero que esta en /boot lo renombra como: vmlinuz.old.

2- Copia el fichero /usr/src/linux-2.6.14.4/System.map a /boot, y si ya existe algun dentro de /boot, entonces el existente lo renombra como: System.old

Ahora realizaremos algo manual :D.... Copiaremos la configuracion en /boot, asi:
Código:
shell# cp .config /boot/config-2.6.14.4



[hr]


------------------- PREPARANDO LILO e IMAGENES ------------------

Ahora nos vamos al directorio /boot
Código:
shell# cd /boot

shell# ls -l    /*listamos*/
System.map
System.old    /*enlace simbolico*/
System.map-ide-2.4.x.x.
config-2.6.14.4
config->config-ide-2.4.x.x            /*enlace simbolico*/
config-ide-2.4.x.x
vmlinuz
vmlinuz.old
vmlinuz-ide-2.4.x.x


Como vemos, el mismo programa make install borro los 2 enlaces simbolicos que teniamos ( al *.map y al vmlinuz ), y Anido el nuevo System.map y el nuevo vmlinuz, despues tomo los ENLACES simbolicos ( que oviamente los redirigen ), y creo copia con terminacion *.old.

Entonces sin temor alguno eliminamos:

Código:
shell# rm System.old vmlinuz.old config

shell# ls -l
System.map
System.map-ide-2.4.x.x.
config-2.6.14.4
config-ide-2.4.x.x
vmlinuz
vmlinuz-ide-2.4.x.x


Ahora ordenamos los datos, asi podremos diferenciar ambos kerneles y por el momento usar los dos :D, asi que hacemos:


1- Como bien sabemos System.map-ide-2.4.x.x es el map de neustro kernel actual, entonces asi lo dejamos :D, ahora ahi que renombrar el fichero System.map que se genero nuevo.
Código:
shell# mv System.map Systema.map-2.6.14.4


2- Ahora nuestras imagenes, la imagen vmlinuz-ide-2.4.x.x asi la dejamos. Solo modificamos la nueva imagen.
Código:
shell# mv vmlinuz vmlinuz-2.6.14.4


Y tendremos:

Código:
shell# ls -l
System.map-2.6.14.4
System.map-ide-2.4.x.x.
config-2.6.14.4
config-ide-2.4.x.x
vmlinuz-2.6.14.4
vmlinuz-ide-2.4.x.x


Hasta aqui espero y se entienda que:

System.map-2.6.14.4 ---> es nuestro nuevo mapa
System.map-ide-2.4.x.x. ---> es nuestro mapa con la config del kernel actual
config-2.6.14.4 ---> es la config nueva generada por el neuvo kernel ( esta la copiamos manualmente hace un momento )
config-ide-2.4.x.x ---> es la config del kernel actual
vmlinuz-2.6.14.4 ---> es la imagen del kernel NUEVA
vmlinuz-ide-2.4.x.x ---> es la imagen del kernel actual

Que falta ?: Pues crear los enlaces simbolicos :D

Crearemos el enlace simbolico a las 2 imagenes del kernel, y el enlace al mapa nuevo.

Código:
shell# ln -s vmlinuz-ide-2.4.x.x vmlinux
shell# ln -s vmlinux-2.6.14.4 vmlinux2
shell# ln -s System.map-2.6.14.4 System.map

shell# ls -l
System.map --> System.map-2.6.14.4
System.map-2.6.14.4
System.map-ide-2.4.x.x.
config-2.6.14.4
config-ide-2.4.x.x
vmlinux --> vmlinuz-ide-2.4.x.x
vmlinux2 --> vmlinuz-2.6.14.4
vmlinuz-2.6.14.4
vmlinuz-ide-2.4.x.x


Ahora modificaremos el fichero /etc/lilo.conf y agregaremos el boot a ambos kerneles y el System.map del nuevo kernel.

Código:
vi /etc/lilo.conf
# LILO configuration file
append="hdc=ide-scsi"
boot = /dev/hda
map = System.map  /* ESTA LINEA LA AGREGAMOS NUEVA :D, debe ir AQUI EXACTAMENTE debajo de boot :D */
message = /boot/boot_message.txt
prompt
timeout = 1200
change-rules
  reset
# VESA framebuffer console @ 1024x768x256
vga = 773
# VESA framebuffer console @ 1024x768x256
# vga=773

# Linux bootable partition config begins
# Kernel Actual 2.4.x.x
image = /boot/vmlinux      /*este es el enlace simbolico que apunta al kernel 2.4.x.x*/
  root = /dev/hda2         /*particion donde esta linux*/
  label = Slackware        /*etiqueta*/
  read-only
# Fin Script
# Kernel Nuevo 2.6.14.4
image = /boot/vmlinux2      /*este es el enlace simbolico que apunta al kernel 2.6.14.4*/
  root = /dev/hda2         /*particion donde esta linux*/
  label = Kernel2          /*etiqueta para diferenciar*/
  read-only
# Fin Script


Ahora anidamos los datos al LILO
Código:
shell# lilo
Add Slackware
Add Kernel

shell#


Listo, ahora reiniciamos y nos aparecera a escojer alguno de los dos kernles... Oviamente accedemos al nuevo y nos ponemos atentos a todo lo que pasa en la pantalla, checamos que no nos salga algo como: FATAL ERROR: snd-mixer o algo asi.... esto quiere decir que NO se encontro modulo para ese dispositivo de hardware, pero NO importa, solo anotamos los FATAL ERROR que nos aparecen para despues re-compilar el kernel nuevo y que se aniden esos modulos :D.

Ahora entrara nuestro escritorio ( o bien entramos "startx" ) y pues ya tenemos el kernel 2.6.14.4 funcionando :D


[hr]


------------------- FIXEANDO ERRORES DE MODULOS Y FIJANDO KERNEL ------------------

En caso que nos hayan salido FATAL ERROR, entonces ahi que acceder a la carpeta del nuevo kernel, realizar nuevamente make menuconfig, buscar y poner dicho modulo con el simbolo de: <M> ( ya que peude que este como <*> ). Despues al guardar oviamente el fichero .config actual ( osea el que copiamos a /boot ), pasara a llamarse .config.old y el nuevo sera .config.

Código:
shell# cd /usr/src/linux-2.6.14.4

shell# make menuconfig

/*anidamos el modulo, lo habilitamos como <M>, al salir usamos ESC y que guarde la configuracion.*/

shell# make

shell# make modules

shell# make modules_install

shell# make install /*recordar que este fichero copia el nuevo System.map a /boot y la nueva imagen dle kernel a /boot*/


Ahora ahi que volver a modificar archivos en /boot, vamos a /boot y encontraremos:

Código:
shell# cd /boot

shell# ls -l
System.map
System.old
System.map-2.6.14.4
System.map-ide-2.4.x.x.
config-2.6.14.4
config-ide-2.4.x.x
vmlinux --> vmlinuz-ide-2.4.x.x
vmlinux2 --> vmlinuz-2.6.14.4
vmlinuz
vmlinuz-2.6.14.4
vmlinuz-ide-2.4.x.x


Oviamente el enlace simbolico al mapa System.map-2.6.14.4 habra desaparecido, ya que al realizar make install este se renombra por System.old y el nuevo se llama System.map.

Sobre la imagen del kernel nueva generada ahorita pues estara ahi asi de simple, ya que los enlaces simbolicos tienen un nombre diferente :D a la imagen que realiza el comando make install.

Entonces modificamos y ordenamos a que kede asi:

Código:
shell# rm vmlinux2 System.old  /*no nos sirve... ya que el maa este, es el mismo que System.map-2.6.14.4*/

shell# mv vmlinuz vmlinuz2-2.6.14.4    /*y tendremos 3 imagenes :D, pero es por seguridad :D*/

shell# ln -s vmlinuz2-2.6.14.4 vmlinux2

shell# mv System.map System.map2-2.6.14.4

shell# ln -s System.map System.map2-2.6.14.4 System.map


Ahora quedaria asi:

Código:
shell# ls -l
System.map  --> System.map2-2.6.14.4
System.map2-2.6.14.4
System.map-2.6.14.4
System.map-ide-2.4.x.x.
config-2.6.14.4
config-ide-2.4.x.x
vmlinux --> vmlinuz-ide-2.4.x.x
vmlinux2 --> vmlinuz2-2.6.14.4
vmlinuz2-2.6.14.4
vmlinuz-2.6.14.4
vmlinuz-ide-2.4.x.x


Tal vez diran.. Porke tantos *.mpa e imagenes ???[b]. Pues es ovio :D... Si al reiniciar el sistema, por alguna cosa nos sale [b]KERNEL PANIC, entonces podremos regresar al kernel 2.6.14.4 que funciono anteriormente, con solo eliminar los enlaces simbolicos y realizarlos al map e imagen que funciono.

Ahora despues que reiniciamos y si tuvimos EXITO COMPLETAMENTE :D y estamos consciente y seguros que ya el Kernel kedo perfecto entonces ya solo eliminamos los mapas e imagenes que NO funcionaron y nos quedamos con la buena, renombramos ficheros y quedara finalmente asi ( osea contando que ya eliminamos tambien el kernel 2.4.x.x )

Código:
shell# ls -l
System.map  --> System.map-2.6.14.4
System.map-2.6.14.4
config-2.6.14.4
vmlinux --> vmlinuz-2.6.14.4
vmlinuz-2.6.14.4


Y el fichero /etc/lilo.conf

Código:
vi /etc/lilo.conf
# LILO configuration file
append="hdc=ide-scsi"
boot = /dev/hda
map = System.map  /* ESTA LINEA YA SE QUEDARA AQUI POR SIEMPRE :D */
message = /boot/boot_message.txt
prompt
timeout = 1200
change-rules
  reset
# VESA framebuffer console @ 1024x768x256
vga = 773
# VESA framebuffer console @ 1024x768x256
# vga=773

# Linux bootable partition config begins
# Kernel Nuevo 2.6.14.4
image = /boot/vmlinux      /*este es el enlace simbolico que apunta al kernel 2.4.x.x*/
  root = /dev/hda2         /*particion donde esta linux*/
  label = Slackware        /*etiqueta*/
  read-only
# Fin Script


Anidamos al LILO

Código:
shell# lilo
Add Slackware

shell#



[hr]


------------------- ELIMINACION DEL KERNEL ANTIGUO POR COMPLETO ------------------

Una ves que ya tenemos neustro Kernel nuevo jalando al 100% :D ahi que hacer limpieza del kernel viejo, creacion dle enlace simbolico al nuevo kernel, eliminacion de modulos del kernel viejo y listo :D.

Código:
shell# cd /usr/src/

shell# ls -l   /*asi nos sale al listar*/
linux --> linux-2.4.x.x
linux-2.4.x.x
linux-2.6.14

shell# rm linux   /*eliminamos el enlace simbolico al kernel viejo*/

shell# rm -R linux-2.4.x.x  /*eliminamos carpeta del kenrle viejo*/

shhell# ln -s linux-2.6.14.4 linux  /*creamos nuevo enlace*/

shell# ls -l
linux --> linux-2.6.14
linux-2.6.14


Eliminando modulos viejos

Código:
shell# cd /lib/modules/

shell# ls -l  /*se listaran asi, veremos 2 carpetas*/
2.4.x.x
2.6.14.4

shell# rm -R 2.4.x.x  /*eliminamos modulos del kernel viejo*/


Y listo :D, limpieza completada y Kernel Funcionando Full :D ;)



[hr]



-------------------------------- AGRADECIMIENTOS --------------------------------

Foro.elHacker.net
Staff: el-brujo, SoulLost, Zeo, otros..... Gracias por Ayudarme tanto y por la existencia del foro :D

Foro Piratas Informatico
Staff:BenRu.... Gracias por la Invitacion al Foro y Muy Buena genete que anda por aqui ;)

Foro TKWeb
Staff: <Samu> .... Gracias por la Invitacion al Foro, La Confianza, y pues a la gente que se pasa por aqui ;)

Foro EspacioLinux
Staff: Al equipo Etel, que se hacen los dificiles para aceptar Manuales :P... jaja... Son Buena Raza :D

Foro MCTekk
Staff: SparoHawk por tener una web de Anime tan interesante, por la atencion y buena raza :D



[hr]



-------------------------------- NOTA DEL AUTOR --------------------------------

Este Manual-Practico fue realizado el 17 de Diciembre del 2005 por:

Diabliyo
darkdiabliyo@hotmail.com
http://elite-mexicana.blogspot.com

Asi que cualquier queja y duda es bienvenida...

Cualquier Publicacion porfavor se pide que se conserve el nombre del Autor y se Respete la informacion :D.

Slackware, el mejor !!!

byeee

 Perfil Email WWW  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Dom Feb 12, 2006 12:00 am
Mensajes: 3162
Ubicación: mount /dev/mex /mnt/gdl

Nota Publicado: Lun May 21, 2007 12:22 pm 
Arriba  
esta bueno el tuto :P

 Perfil Email WWW ICQ YIM  

Desconectado
Forista Mayor
Forista Mayor

Registrado: Vie Dic 16, 2005 12:00 am
Mensajes: 540

Nota Publicado: Mar May 22, 2007 6:10 pm 
Arriba  
Por qué no pasa los tutoriales que ha hecho para que lo posteen en Taller Linux?

Saludos.

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Abr 28, 2004 11:00 pm
Mensajes: 358

Nota Publicado: Mar May 22, 2007 10:34 pm 
Arriba  
Hola:

artzneo gracias por el agradecimiento...

sgarg0, lo he enviado para ver si acredita a estar en el Taller, nose, habra que esperar xD !!

bye bye

 Perfil Email WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 4 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO