Ahora aprenderemos como instalarnos el nuevo Kernel existente
.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#
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
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
, 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 
Código:
-rwxrwxrwx 1 user user 39194430 2005-12-18 linux-2.x.x
Es la carpeta del kernel actualContinuemos 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
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
------------------- 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
( ooo.. vaya... jajaja ), pero todo esta expresado en su fichero de configuracion: /etc/lilo.confDonde tambien entra en juego el directorio: /boot que es donde estaran los archivos importantes

> 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

En /boot encontraremos:
Código:
/boot
|-------System.map
|-------config
|-------vmlinuz
|-------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->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

vmlinuz la imagen de neustro kernel para cargar nuestro modulos

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

> 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
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
, 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#
Add Slackware* /*esto indica que se realizo con exito*/
shell#
------------------- 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*/
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

2-
- o <*>[/b] 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
. 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
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
.... Copiaremos la configuracion en /boot, asi:Código:shell# cp .config /boot/config-2.6.14.4
------------------- PREPARANDO LILO e IMAGENES ------------------
Ahora nos vamos al directorio /bootCó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
, 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
, 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
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 LILOCó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
.
Ahora entrara nuestro escritorio ( o bien entramos "startx" ) y pues ya tenemos el kernel 2.6.14.4 funcionando
------------------- 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
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 ???. Pues es ovio
... Si al reiniciar el sistema, por alguna cosa nos sale 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
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.confCó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 LILOCódigo:shell# lilo
Add Slackware
shell#
------------------- ELIMINACION DEL KERNEL ANTIGUO POR COMPLETO ------------------
Una ves que ya tenemos neustro Kernel nuevo jalando al 100%
ahi que hacer limpieza del kernel viejo, creacion dle enlace simbolico al nuevo kernel, eliminacion de modulos del kernel viejo y listo
.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 viejosCó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
, limpieza completada y Kernel Funcionando Full

-------------------------------- AGRADECIMIENTOS --------------------------------
Foro.elhacker.net
Staff: el-brujo, SoulLost, Zeo, otros..... Gracias por Ayudarme tanto y por la existencia del foro
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
... jaja... Son Buena Raza 
Foro MCTekk
Staff: SparoHawk por tener una web de Anime tan interesante, por la atencion y buena raza
-------------------------------- 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
.
Slackware, el mejor !!!
byeee










Autor




En línea







