sábado, 20 de marzo de 2010

Compilar un Kernel Vanilla custom 2.6.XXX en Debian y Ubuntu.

Por lo general cuando bajamos nuestra copia de Debian o Ubuntu, esta viene con un Kernel genérico, es decir configurado para el poder funcionar en cualquier equipo y para cargar los drivers de cualquier o casi cualquier tipo de hardware, pero nosotros podemos compilar un kernel de acuerdo a nuestras necesidades, es decir adaptado a nuestro equipo en particular, y pues ¿que ganaremos con esto? pues mas que nada para obtener mejor rendimiento de la maquina al no cargar módulos que nunca necesitaremos pues no contamos con ese hardware.

Pasos para compilar el kernel:

1.- Primero instalamos las dependencias que necesitaremos que así que desde la terminal como superusuarios escribimos: aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 

Además de asegurarnos de tener las librerías libqt3-mt libqt3-mt-dev, libqt3-headers, libqt3-compat-headers además del paquete Qt3-assistant. 

2.- Después sera bajarnos la ultima versión del kernel vanilla de http://www.kernel.org/  pero, ¿que es un kernel vanilla? pues en pocas palabras es la versión del kernel que sale de los desarrolladores del kernel Linux y no ha sido modificado por alguna de las diferentes distribuciones que existen, es decir cada distribución tiene sus "versiones" de los nuevos lanzamientos del kernel "parchadas" y adaptadas a las necesidades de la propia distribución.

En este caso es la versión 2.6.33.1 así que bajamos el archivo tar.bz2 y lo descomprimimos, tradicionalmente es hacerlo en /usr/src así que desde la terminal tecleamos lo siguiente (en este caso tengo el paquete en el Escritorio o Desktop:

Desktop# mv linux-2.6.33.1.tar.bz2 /usr/src

Entramos al directorio /usr/src/
# cd  /usr/src

Descomprimimos el código fuente del kernel:

/usr/src# tar xfjv linux-2.6.33.1.tar.bz2

Entramos al directorio del código fuente del kernel:

/usr/src# cd linux-2.6.33.1

/usr/src/linux-2.6.33.1#  

Una vez dentro del directorio ejecutamos el comando: make xconfig

/usr/src/linux-2.6.33.1# make xconfig

Nos aparecera una pantalla como la siguiente:


Después cargamos el archivo de configuración (generalmente empieza con "config" de un kernel que este funcionando en este caso sera el archivo config-2.6.32-trunk-686 y se encuentra en la carpeta boot, del directorio raiz / para esto le damos en el icono del folder de la parte superior de la pantalla abrimos la carpeta boot.
 


Cargamos el archivo config:


Aquí procedemos a elegir las opciones del menú que se nos presenta para cargar solo lo que nuestro sistema tiene podemos auxiliarnos en la terminal de los comandos lspci (nos muestra nuestros dispositivos pci) , lsusb (nos muestra nuestros dispositivos usb), lsmod (que nos muestra los módulos que tenemos cargados) y less /proc/cpuinfo, que nos muestra la información de nuestro CPU, es importante que sepamos mas o menos que hardware tenemos y así mover los parámetros de acuerdo a nuestra conveniencia y si no es así mejor no nos metamos en chingaderas y no le movamos (puede quedar sin moverle solo guardamos y seguimos los pasos siguientes), ahora procedemos a compilar nuestro kernel y para esto tecleamos en la terminal en el directorio de nuestro código fuente:

/usr/src/linux-2.6.33.1# make-kpkg clean

Y despues:

/usr/src/linux-2.6.33.1# make-kpkg --initrd --revision=2:my.1.0 --rootcmd fakeroot --uc --us kernel_image

O si lo prefieren:

/usr/src/linux-2.6.33.1#fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Después de esto hay que esperar un rato según la velocidad de la maquina pues es un proceso tardado, al finalizar nos creara dos paquetes .deb que instalaremos y a su vez nos instalara nuestro nuevo kernel.

Para instalarlos debemos estar en el directorio /usr/src y ejecutamos el siguiente comando:

dpkg -i "nombre del paquete" 

En este caso nos genero los paquetes:

linux-headers 2.6.33.1_2.6.33.1-10.00.Custom_i386.deb 
linux-image-2.6.33.1_2.6.33.1-10.00.Custom_i386.deb

De esta manera tendremos nuestro nuevo kernel actualizado y funcionando.

lunes, 15 de marzo de 2010

Como usar ndiswrapper para cargar drivers WIFI de Windows en Linux

Algunas veces no hay soporte o drivers para Linux de algunas tarjetas inalámbricas, ya sea porque los creadores del chipset de la tarjeta no han liberado las especificaciones del hardware o porque de plano no se les hinchan los webotes a los fabricantes el hacerlos, para esto nos queda la opción de usar ndiswrapper que es una capa de compatibilidad para usar drivers de Windows en Linux.

Para hacerlo lo primero es bajarse la ultima version del programa de aqui http://sourceforge.net/projects/ndiswrapper/files/ que en este caso es la 1.56, una vez descargada se descomprime en el escritorio, y se accede al directorio de la siguiente manera:

#cd Escritorio

#Escritorio/cd ndiswrapper-1.56

#Escritorio/cd ndiswrapper-1.56/

Una vez en el directorio se procede a compilar el programa con el siguiente comando:

#Escritorio/cd ndiswrapper-1.56/make

y despues

#Escritorio/cd ndiswrapper-1.56/make install

con el programa instalado y una vez que se tienen los drivers de windows (por lo general un archivo con extensión inf) de nuestra tarjeta wifi, lo cargamos mediante el siguiente comando (en este caso el driver esta en el directorio llamado Driver) :

#Driver/ndiswrapper -i nuestrodriver.inf 

Para comprobar que el driver esta instalado correctamente:

#ndiswrapper -l 

Cargamos el modulo en el kernel de Linux que activara la targeta inalambrica 

#modprobe ndiswrapper

Por último configuramos para que al arrancar el sistema cargue ndiswrapper, para ello abrir y editar el siguiente archivo:

#gedit /etc/modules

Añadimos ndiswrapper al final del archivo y guardamos

Para checar que este presente e instalada la targeta inalambrica entramos a la terminal y tecleamos:

#ifconfig   
o
#iwconfig

Y con esto tienen que aparecer la lista de los dispositivos de red con la inalámbrica ya incluida.
Algunas veces se puede botar el modulo con ciertos drivers por lo que se tiene que forzar para que se inicie en este caso usamos el comando:

#ndiswrapper -m 

Todas las operaciones deben de hacerse como superusuario.












miércoles, 10 de marzo de 2010

Compiz, emerald y avant-window-navigator en Debian Lenny 5.04 y como agregar repositorios a sources.list

Una de las cosas que hacen diferente a Debian de Ubuntu es que Emerald  no esta dentro de los repositorios oficiales, es decir compiz si lo esta pero emerald no y la verdad a mi me gusta mas la decoración que proporciona emeral en los bordes de las ventanas que la que trae por defecto metacity, pero esto tiene solución lo primero que debemos de hacer es agregar los repositorios al sources.list ( que en otras palabras es la lista de direcciones de donde obtenemos el software en Debian y Ubuntu), para ello abrimos una terminal y logiandonos como superusuarios tecleamos lo siguiente:

#gedit /etc/apt/sources.list

De inmediato nos saldrá una ventana con la lista de direcciones de  nuestros repositorios entonces agregamos la siguiente linea al final de nuestro sources.list

deb http://download.tuxfamily.org/osrdebian unstable compiz-fusion-git  




Guardamos y cerramos el documento, y a continuación hacemos un apt-get update para poner al día nuestras lista de software y procedemos a instalar los programas que queremos en este caso seria:

#apt-get install compiz emerald fusion-icon

Tecleamos enter y comenzara la instalación, tal ves nos pedirá que  confirmemos el instalar los programas sin verificación de llaves publicas, a lo que le responderemos que si en cada caso.

 Posteriormente nos vamos a administración, preferencias y sesiones y en programas de inicio agregamos 2 nuevas aplicaciones (como se ve en las imágenes)una que es el lanzador de avant-window-navigator y otra para fusion-icon que nos permitirá elegir entre el manejador de ventanas que en este caso es compiz y el decorador de ventanas que en este caso es emerald, y asi ya tendremos nuestros programas trabajando desde el inicio. 




jueves, 4 de marzo de 2010

Como instalar paquetes .deb desde la terminal.

Las GUI o los entornos gráficos solucionan la vida, pero muchas veces Linux es mas poderoso precisamente desde la terminal.


Para instalar paquetes .deb Ubuntu proporciona por default el programa Gdebi que no es mas que una interfase gráfica para instalar programas con paquetes .deb esto es principio es bueno pues hace amigable la tarea al usuario, pero priva de opciones muchas veces útiles, como el instalar paquetes ignorando dependencias que a veces por algún motivo no podemos instalar.

La forma mas fácil de hace esto es la siguiente:

Para instalar paquetes  desde la terminal primero ubicamos el paquete en el escritorio supongamos que el paquete se llama libltdl7.deb entonces desde la terminal escribiríamos:
#cd Escritorio
#Escritorio/ dpkg -i libltdl7.deb


Y listo el paquete se instala sin problemas


Ahora imaginemos que ese paquete depende de otro paquete en este caso el paquete libtt.deb y no lo tenemos o mas bien no lo encontramos para nuestra versión de Debian o Ubuntu, entonces procederíamos a instalar el paquete de la siguiente forma:



#Escritorio/dpkg - ignore-depends = libtt-i libltdl7.deb

Y asi quedara instalado el programa ignorando que nos haga falta la dependencia libtt, claro hay que hacer esto únicamente si sabemos lo que hacemos, porque si no podemos dañar la función de otros programas o crear errores.

En el caso de algunos programas que incluyen una gran cantidad de paquetes .deb para la instalación de un solo programa (como es el caso de openoffice) el comando varia de la siguiente manera:

Desde el directorio donde se ubican los paquetes a instalar, en este caso supongamos que están en la carpeta DEBS tecleamos los siguientes comandos:
#Escritorio/DEBS/dpkg -i *.deb

y listo el programa se instalara de todos los paquetes proporcionados y que incluya el directorio

 ahora bien todo debe de hacerse como superusuario, es decir iniciando la terminal y tecleando el comando sudo su + nuestra contraseña personal  (en caso de Ubuntu configurado por defecto) o simplemente su + nuestra contraseña personal, en caso de Debian, aunque es posible configurar el sudo, pero sera motivo de otros post futuro.






Python_1_Configurar_virtualenvwrapper_para_entornos_virtuales.

¿Para qué sirve? R= Nos permite configurar un path donde se alojaran entornos virtuales los cuales se pueden entender como un directorio q...