Mostrando entradas con la etiqueta Software. Mostrar todas las entradas
Mostrando entradas con la etiqueta Software. Mostrar todas las entradas

21.6.09

Compilar un kernel a la manera Debian. (Debian Way)

Si tienes conocimientos básicos de GNU/Linux, deberías probar hacer esto alguna vez. Si bien muchos se refieren al Sistema Operativo como "Linux", la verdad es que este nombre es el del nucleo del sistema, mejor conocido como "Kernel".
Este, es el componente esencial de todo sistema operativo. Su función principal es la de permitir la comunicación entre el hardware y las apliaciones que corren sobre este. Ademas administra la memoria y es donde se cargan los "drivers" o "controladores" de dispositivos.
En el caso de Windows, los Kernel son muy pequeños (de allí la necesidad de instalar tanto driver para todo), con, muchas veces, mucho menos controladores de los necesarios (La desventaja es que si retiras el periférico al cual cargaste es driver, windows lo seguirá cargando; es por eso que debes usar aplicaciones para limpiar el registro y el nucleo.
El Nucleo Linux, en cambio, es modular. Es decir, puedes compilar y agregar todos los módulos al sistema, pero el nucleo solo cargará los necesarios (Claro que irá detectando mientras arranca).
Uno tiene la posibilidad de crear un kernel linux a la medida de su hardware, y compilado para tal. Si bien la ganancia en performance no es mucha. El sistema se notará mucho mas agil al arranque.

Ventajas de la Manera Debian.


1.- El paquete final queda en .deb, facilmente instalable por aplicaciones como Gdeb.
2.- Puede ser facilmente eliminado con dpkg -r
3.- Puedes guardar el paquete en cualquier dispositivo extraible.

Ventajas de compilar un Kernel


1.- El sistema se notará mucho mas agil al arranque
2.- En caso de sistemas debian, puedes actualizar el kernel para obtener nuevas funcionalidades o soporte a nuevas tecnologías que su kernel actual no tenga.

Descargar un kernel:


En primer lugar, debe dirigirte a la página www.kernel.org


Junto a cada entrada del kernel notaras unas letras.



F: Full Source: Descargar la fuente completa del kernel.
V: View Patch: Para ver, de forma detallada los cambios realizados a los modulos del kernel.
VI: View Incremental: Un log con los detalles de cambios, de forma incremental.
C: Current: Una página con el sumario. Hay comentarios de Torvals en esta.

Para descargar, haz click en la F.
Y te saldrá esta pantalla.



A la cual, debes darle en "Guardar Archivo", en este caso "Save File", y luego esperas a que termine la descarga.

Compilar el Kernel



Por si ven algo raro en los Screenshots, es que cambie Gnome por KDE 4.2.4 sobre Debian Sid.

Cuando ya este listo, abres una consola, en mi caso usaré yakuake.

Ya con esta, debes instalar los siguientes paquetes:

apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential


En mi caso, ese problema de paquetes sin resolver el por el cambio a kde 4, a ustedes probablemente les salga que está todo instalado. Luego, se dirigen a la carpeta (a travez de la consola, con el comando cd), en donde descargaron la fuente del kernel.

ls : Comando que cumple la funcion de listar las carpetas desnto del directorio (como dir en DOS)
cd : Ingresar a una carpeta. (es "cd nombrecarpeta" o "cd nombre*", recuerden que el "*" reemplaza una cadena de cadena de caracteres)



La ubicacion del kernel está resaltada. Luego deben descomprimirlo.

En caso de .tar.gz
tar xvzf linux-x.x.x.tar.gz (Ovbiamente las "x" debes reemplazarlas por los números que traiga)

Para tar.bz2
tar xvjf linux-x.x.x.tar.bz2.


Dale al enter y espera a que termine.


Cuando ya este listo, debes ingresar a la carpeta. Sencillamente coloca:

cd linux*

En esa parte, tienes 3 opciones.

make config (No te la recomiendo, hace muchas preguntas de hardware)

make menuconfig (la mas utilizada, acá debes tener instaladas las librerias ncurses. Debian: apt-get install ncurses-base)


make config (necesitas las librerias QT, apt-get install libqt3-dev)


Puedes elegir la forma que desees, en mi caso, uso menuconfig.

Acá estaba configurando el tipo de procesador del sistema.

Por lo general, la primera vez puedes dejar el kernel tal como está, y compilarlo tal cual. Ya si lo deseas, a medida que tomes experiecia, puedes ir quitando o agregando módulos.
Ovbiamente debes ser muy cuidadoso al seleccionar módulos. Si no activas el soporte SCSI, los pendrives y dispositivos extraibles no funcionarán bajo tu kernel. Lo mismo si desactivas el USB, nada que conectes por ese sistema lo hará. Lo mismo pasará si le quitas soporte de controlador a tu tarjeta de sonido, está no funcionará.

Bueno, ya habiendo terminado de configurar el kernel, debes compilarlo, la ventana te dirá que ejecutes "make" para compilar el kernel, pero como lo haremos a la manera Debian, debes ejecutar lo siguiente:

make-kpkg clean


make-kpkg --initrd kernel_image kernel_headers


La opcion --initrd crea una imagen initrd en el paquete que se guardará en /boot cuando instalemos el kernel.

La opcion "kernel_headers" es para crear las cabezeras del kernel, que si bien no son indispensables, hay muchos programas y módulos que los necesitan para instalarse, como por ejemplo el driver de Nvidia, o Ndiswrapper

Por lo general el tiempo que tu kernel demore en compilar, dependerá de la configuracion que hayas hecho sobre el mismo, y el tipo de procesador. Si agregaste muchos módulos, ovbiamente demorará mas. Suele tardar bastante. (en mi caso, casi 2 horas)


Puedes ir a tomerte un café si asi lo deseas.

Instalar el kernel.

Ya cuando termine la compilación. aparecerán 2 .deb en el directorio superior.
Para instalar es algo super sencillo. Ovbiamente debes estar en el directorio donde estan los paquetes.




dpkg -i linux-image-x.x.x.x.x_x.x.x.x.x.Custom_i386.deb
(mas rápido dpkg -i linux-image-*.deb)


dpkg -i linux-headers-x.x.x.x.x_x.x.x.x.x.Custom_i386.deb
(mas rápido dpkg -i linux-headers-*.deb)



Consejos:


Cuando descarges un kernel, debes hacerlo hacia una carpeta que no tenga espacios en su nombre, o no podras iniciar la compilacion.

Puedes darle un nombre al kernel agregando la opcion -append-to-version=TUNOMBRE.

Para incorporar módulos que no venian en el kernel, puedes utilizar el comando m-a. Ademas evitarás tener que reinicar cada vez que agregues un módulo.

Copyright (c) 2006 Alejandro Garrido Moya

Permission is granted to copy, distribute and/or modify this document under the terms od te GNU Free Documentation License, Ver 1.2 or any later published by the Free Sofware Foundation.

3ra Edicion: Actualizado y mejorado. 5 Julio 2009

21.3.09

Cuegues aleatorios de sistemas Linux sobre ordenadores con procesadores AMD


Ya con la experiencia que tengo en sistemas GNU/Linux (no me defino como un maestro ni algo similar), he notado que cuando instalo Linux en sistemas AMD, no funciona bien, no hablo de que el sistema se vuelve inestable, pasa que cuando hay administración de energía, el sistema literalmente se congela, y hay que reiniciarlo a la mala.
Ya me ha pasado con un Portatil Compaq, del que hable en un post anterior ( y cuya solucion no era la correcta), y ahora con un equipo armado con un Athlon X2 Socket AM2. Me di cuenta de que la administración de energía del sistema, al parecer; entraba en conflicto con la administración de energía por Hardware que realiza el procesador, el ya archiconocido como Cool'n Quiet.


Como llegue a esto; sencillo, mientras el sistema no entraba en reposo, funcionaba impecable, pero al volver de una suspensión, o de una baja de frecuencia por hardware (reposo completo), luego de dejar mucho tiempo el equipo prendido descargando, digo, compartiendo Torrents. Y al volver de estar en reposo, se colgaba a los 15 minutos.

Bueno, buscando, nadando y STFW como corresponde. Encontré muchos parámetros para agregar a la linea del GRUB.

Solos no funcionaban bien, puesto que de a uno, alargaban los tiempos de estabilidad luego del reposo, pero se colgaban igualmente. Ya de tanto definir comandos e instrucciones, un grupo logro que el sistema funcionara con total estabilidad.

*** Advertencia, modificar parámetros o lineas del GRUB sin saber, puede dejar tu sistema sin arranque***

Para lo primero, debemos abrir el archivo del GRUB (cargador de arranque)

Si tienes el Grub Antiguo (Grub Legacy)

Abre una consola, y teclea (Como root)

gedit /boot/grub/menu.lst

Y buscamos esta parte:

title "tu distribucion"
root (hd1,0)
kernel /boot/vmlinuz-2.6.15-26-386 root=/dev/hdb1 ro
initrd /boot/initrd.img-2.6.15-26-386
boot


Y tras la linea que termina en "... root=//dev/hdb1 ro", agregamos lo siguiente

nohz=off pci=assign-busses apicmaintimer idle=poll reboot=cold,hard

Quedando asi:

title "tu distribucion"
root (hd1,0)
kernel /boot/vmlinuz-2.6.15-26-386 root=/dev/hdb1 ro nohz=off pci=assign-busses apicmaintimer idle=poll reboot=cold,hard
initrd /boot/initrd.img-2.6.15-26-386
boot

Ahora, si tienes Grub 2 instalado

Tecleas en la consola (Como root)

gedit /boot/grub/grub.cfg



Te diriges al menu de seleccion:

menuentry "Debian GNU/Linux, linux 2.6.26-1-686" {
set root=(hd0,1)
search --fs-uuid --set 62328d86-f537-4503-a45a-2164891e38a9
linux /vmlinuz-2.6.26-1-686 root=/dev/sda5 ro
initrd /initrd.img-2.6.26-1-686
}


Y agregas las mismas lineas

nohz=off pci=assign-busses apicmaintimer idle=poll reboot=cold,hard


Quedando asi

menuentry "Debian GNU/Linux, linux 2.6.26-1-686" {
set root=(hd0,1)
search --fs-uuid --set 62328d86-f537-4503-a45a-2164891e38a9
linux /vmlinuz-2.6.26-1-686 root=/dev/sda5 ro nohz=off pci=assign-busses apicmaintimer idle=poll reboot=cold,hard
initrd /initrd.img-2.6.26-1-686
}

Ya después de esto, reinicias, y tu sistema esta corriendo sin problemas.

6.12.08

Instalación de Debian "Lenny" desde 0


Ubuntu, Kubuntu, Xubuntu, Edubuntu entre otros actualmente se han convertido en distribuciónes muy usadas, pero como muchos ya sabrán, estas fueron creadas en base a una de las distribuciones mas completas que existen actualmente; y en sus versione estable, la mas sólida.


Debian como sistema tiene 4 variables:


Estable

Actualmente "Etch", es una version comunmente utilizada para equipos en ambientes de produccion (Aunque no tiene certificación), es lo suficientemente robusta y confiable como para dichos ambientes de trabajo. Para desktop tambien es funcional y estable, pero como muchos dicen, es muy "antigua", ya que los paquetes para ser considerados en una version estable de Debian deben pasar por muchos procesos de pruebas, lo cual toma mucho tiempo.


Testing (En pruebas)

En estos momentos es "Lenny", aunque ya está congelada como la proxima estable. A pesar de ser una versión en pruebas, es muy estable, y es una de las variables mas utilizadas de este S.O. Los paquetes que se encuentran en "testing" ya han demostrado ser lo suficiententemente estables como para dejar de ser experimentales, pero no son lo suficientemente robustos como para pertenecer a la estable.


Inestable

Permanentemente denominada "Sid", es la versión inestable de Debian (Aunque es mucho mas estable que Windows en si). Esta version es la utilizada mayormente por los desarrolladores del proyecto (Y mas de algun valiente).


Experimental

No es una distribucion en si; es un repositorio de paquetes.


Ubuntu y las otras, estan basadas en la distribución "Sid" de Debian, por lo que son actuales, pero extremadamente inestables (O no me vas a decir que mas de alguna vez despues de una actualización algun programa no funcionó mas?).

En cierto modo, podria considerarse un avance propio el dejar de lado Ubuntu y otras, e instalar derechamente Debian. A la cual, despues de conocer su estabilidad y funcionalidad, dificilmente dejarán de lado.

Bueno, sin mas preambulos.
Lo primero que debes hacer el obtener una copia de Debian:

Para lo cual debes dirigirte a la pagina de Debian.


Ya estando cargada, ingresa al link "Getting Debian"


Para hacerlo mas rápido, haremos la descarga en "HTTP/FTP"


En la página, se te ofrecen las versiones "stable" y "testing", la version "sid" se obtiene editando posteriormente el sources.list de tu debian testing. En esta ocasion descargaremos la version de pruebas, actualmente "Lenny".


Ya estando en el link, tienes en una especie de FTP, las carpetas con acceso a la version dependiendo de la arquitectura del sistema que tu vayas a ocupar. En este caso, i386; para 32 bits Intel.


Denominando:

bt = Bittorrent; iso = Descarga directa; Jigdo = lo mismo.
En este caso, lo descargaremos directo. Solo queremos el CD y algunos paquetes. por lo tanto entramos a iso_cd/


Y aquí la respuesta a la duda de muchos; No, no es necesario descargar todos los CD, solo necesitas el CD-1, el cual contiene el instalador y el sistema base. Los demas discos son paquetes. Los cuales te conviene descargar si es que no tienes internet, en caso contrario no es necesario.


Ya con este diálogo, solo quedar elegir el directorio en el cual descargar. Cuando termine, grábala a un disco. Con esto terminado, ya podemos comenzar a instalar.

Instalando Debian.

Ya teniendo lista tu copia en disco. Reinicias el Pc y en el menú de la Bios configuras el Booteo por el CD. Luego de eso, esperas el reinicio habitual tras dicha configuración. Cuando el instalador arranque, tendrás la siguiente bienvenida.


Seleccionas "Graphical Install", O sea, el instalador gráfico. Anteriormente en Debian no existía esta opción y el instalador era similar a la interfaz menú de la consola.
Continuemos.
Damos enter en dicha alternativa y comenzará el arranque de nuestro Debian.


Las Primeras pantallas pertenecen a la selección del idioma.
Seleccionamos Español.


Selección de Pais. En mi caso escojo Chile.


Y la distribucíon del teclado. En mi caso, y la mayoría de los Notebook Compaq y Hp el Latinoamericano funciona a la perfección.


Luego de seleccionar el Idioma, buscará unidades de CD-ROM en el sistema.


Y comenzará con la carga de la base del sistema para continuar la instalación.


La red cableada es detectada automáticamente y configurada con DHCP.


Luego de esto, te pedirá el nombre del host, mas conocido como el nombre de la máquina, para ser identificada por red.
Si no estas en una red administrada o con algun tipo de proxy, el nombre puede ser inventado de forma libre.

En la consola se verá asi:

"Usuario"@"host"$



Luego de esto, pedirá el nombre de dominio.
Si tienes un PC solo, puede ser cualquier nombre; mas si tienes una red, todos los PC deben tener el mismo.


Luego tomará la hora del reloj por red.


Y selecciona tu zona horaria, en mi caso; Santiago de Chile.


Luego de esto, comenzará con la deteccion de los discos. Y cargará los componentes necesarios para el particionado.


Y ahora lo que complica a muchos, el particionado de los discos. Haremos las particiones básicamente necesarias, para eso, elegiremos la opción manual.


En la primera vista, muestra el (o los), dispositivos de HDD instalados en el sistema y su respectiva capacidad. En este caso, dado que es una máquina virtual, nos muestra un IDE de 64.8GB.


Seleccionamos con doble clic el disco sobre el que queremos instalar, y nos saldrá el siguiente mensaje, le damos que sí.


Y en esto nos muestra la tabla de particiones vacía que ha sido creada en el mismo dispositivo.


La seleccionamos con doble clic, y damos a la opción "Crear una partición nueva"


Por lo general te va a mostrar el espacio restante de disco para utilizar. Pero editas al tamaño que requieras.


En este caso, la primera partición será de 128MB, Primaria, ubicada al Principio.


Luego de estas pantallas, editamos el punto de montaje. Ya que será para la partición de arranque (/boot)


Ya cuando estemos listos, clickeamos la opción "Se ha terminado de definir la partición"


Y ya nos aparece nuestra primera partición, mas el espacio libre restante.


Seleccionamos el espacio libre, ya que necesitamos otras particiones, con los pasos ya mencionados.

Partición "/" (Raiz), 10 GB; un espacio de intercambio, o swap, que sea del doble de la memoria ram (en nuestro caso , sería de 512 MB), y la partición de los archivos personales, o "/home" con lo que quede del disco.

Para todas estas particiones se efectúan los mismos pasos, salvo para la swap, que tiene uno extra, el cual se detallará.

Te recomiendo crear la partición "/home" al final, para asi ocupar todo el espacio restante de tu disco de manera continua.

Como anteriormente...
Seleccionamos el espacio libre.


Escribimos el tamaño de la partición.


La colocamos como lógica. En GNU/Linux no tendras el problema de el tipo de particíon, pero solo importa que la de arranque sea primaria, a menos de que sea un sistema dual (Linux - Windows en una sola máquina)


Seleccionamos el principio, lo que la posicionará tras la particion anteriormente creada.


Nuestro punto de montaje, lo definiremos como la particíon Raiz "/", o sea, en donde vá el sistema base.


Y ya está nuestra partición creada. Seleccionamos el espacio libre nuevamente para crear la swap.

¿Que es, y para que sirve la swap?

Bueno, en realidad, si bien no es muy utilizada por el sistema en si, sirve para mandar a disco la ram en caso de hibernación. Y, en los casos mas extremos, cuando la memoria ram está saturada, comienza a utilizar dicha particíon para no colgar el sistema, aunque esta acción (swappiness), pone muy lento el sistema, debido a que el disco, al contrario de la memoria a la que se accede aleatoriamente; debe ser leido por el sistema de forma ordenada. Lo que, ovbiamente demora mucho mas.



El tamaño recomendado para la swap, es del doble de la memoria ram si tu sistema tiene menos de 512MB, si tiene mas, solo será necesaria una cantidad equivalente. Es muy poco probable ocupar 2GB completos en Linux.


Acá la partición swap se manda al final del disco.


Luego, seleccionas la sección "Utilizar como"
Y cambias el Ext3 por Area de intercambio


Y con eso ya puedes dar por terminada la partición.


Ahora, todo el espacio libre restante, lo utilizaras para tu partición personal.


Los pasos son los mismos, solo les dejo las imágenes.


Ya estando todas las particiones terminadas, clickea la opcion Finalizar el particionado y escribir los datos en el disco.


Se te va a pedir una confirmación de los cambios a escribir en el disco. Selecciona si.


Y comenzará a formatear las particiones.


Y terminado el particionado, comenzara a instalar el sistema base.


Luego, te pedirá la clave del superusuario. La cual solo utilizarás para configuraciones importantes.


Luego, deberas teclear el nombre del nuevo usuario, en este caso, el tuyo.


El nombre de la cuenta suele ser tu nombre, pero puede ser cualquiera que empieze sin mayusculas o números.


Y la clave para el usuario.


Luego, comenzará la configuración de APT, para la administracion de paquetes, tanto por consola (apt-get o aptitude), como por synaptic.

Analizará los paquetes que trae el CD.


Si descargaste mas CD, ahora deberas introducirlos, con la opcion si. Si no. opcion no.


Si tienes internet, utiliza réplica de red. Si no tienes, no.


Acá elige la que de tu pais.


Acá eliges el mirror, yo me quedo con el oficial.


Si tienes algun proxy, agregalo acá, si no usas, deja este campo en blanco.


Luego comenzarpa a analizar la réplica de red, actualizando el repositorio de paquetes.


Y comenzará a descargar e instalar dependencias del sistema base.

¿Dependencias?

Las dependencias de refieren a aplicaciones que requieren de ciertas librerias (que pueden ser propias, huefanas o de otras aplicaciones) para ciertas funciones. Debian tiene la capacidad de analizar y vincular las dependencias de los paquetes para asegurar la integridad y estabilidad al momento de iniciar la aplicacion instalada, y generalmente no permite instalar aplicaciones cuyas dependencias no pueda completar, a menos de que sea forzada.



Esta es una opcion libre, solo por estadisticas. Tu decides.


Y finalmente la seleccion de lo que deseas instalar.
Como solo necesito lo básico para un desktop, instalo el sistema base y el gestor de escritorio. Ya si eres espartano, solo instala el sistema base y lo demas hacelo a mano.


Ya habiendo seleccionado, descargará, ajustara dependencias e instalará el sistema.


Ahora instalará el cargador GRUB


Acá es recomendable, (y necesario) que GRUB esté en el registro principal. Por lo que te recomiendo que aceptes.


Ya está instalado el sistema base. Ahora, a reiniciar.



Luego, al reiniciar, tendrás a GRUB dándote la bienvenida al nuevo sistema.
Si quieres una apariencia mas agradable, instala el paquete grub-pc


Luego de finalizar el arranque, te logueas en modo texto, para instalar componentes.

Suele pasar que aunque pongas la opción de instalar el entorno de escritorio, el sistema no lo haga, por lo que deberás instalarlo a mano.


Suele suceder que uno no pueda loguearse a la primera. xD
Errar el humano.


Ya estando logueado, teclea su (comando para tener privilegios de superusuario)


En el campo contraseña, al contrario del comando sudo (Muy utilizado por Ubuntu y otras), que utiliza la clave del usuario. En este caso deberás poner la clave del superusuario que definiste durante la instalación.


Ya estando en como root (superusuario) actualizas el repositorio, con el comando "apt-get update"


Luego de eso, instalas el metapaquete gdm. Con apt-get install gdm

Un metapaquete es una aplicacion que incorpora un conjunto de paquetes en si.
Este en especial incluye Hal, el servidor X, escritorio Gnome, y drivers para dispositivos de entrada y salida, entre otros.


Te solicitará confirmar la operacion, deberas teclear "s" y enter.


Mientras descarga e instala puedes ir a tomar un respiro.


Ya cuando haya terminado, inicia el gestor. Teclea /etc/init.d/gdm start, para así iniciar el entorno de escritorio.


Ya ahora, solo logueas y puedes disfrutar tu sistema ya instalado.


Saludos, y espero que hayan servido los 4 días redactando la guía, Agradecimientos, recomendaciones, acepto comentarios.