Posts tagged ‘kernel’

abril 15, 2011

Tarjeta Broadcom BCM4313 802.11 en Kernel 2.6.38-2-686 en Debian Testing

por Josue Ortega

Por mucho tiempo espere el cambio del kernel 2.6.32 en Debian, hasta que hoy en la mañana despues de hacer el respectivo apt-get update, me tope con que ya estaba en los repositorios testing de la distribución 😀 . No lo pensé 2 veces era hora de hacer el upgrade en mi Netbook. Luego de hacer una actualizacion de casi de 300 Mb. Cuando el kernel se estaba instalando se me advirtio que algunos modulos podrian no funcionar. Luego de reiniciar el sistema me vengo a topar que mi tarjeta wireless no funcionaba.

Era de esperarlo, no hay drivers libres para Broadcom y el kernel en Debian es totalmente libre por lo tanto no iba a funcionar  a la primera. Era hora de hacer una busqueda y arreglar el problema. Aqui les dejo la solucion:

Debido a que necesitamos software no libre, primero que nada debemos verificar que tengamos el respositorio Non-Free y si no es asi lo agregamos:

# Debian Wheezy (testing)
deb http://ftp.us.debian.org/debian wheezy main contrib non-free

Hacemos el respectivo update en aptitude:

#aptitude update

Terminado esto procedemos a instalar los paquetes  module-assistant y wireless-tools:

# aptitude install module-assistant wireless-tools

Ahora hay que hacer un build e instalar los modulos broadcom-sta, usando module-assistant:

# m-a a-i broadcom-sta

Luego de esto hay que descargar los modulos conflictivos

# modprobe -r b44 b43 b43legacy ssb brcm80211

Cargamos el modulo wl

# modprobe wl

Y por ultimo verificamos si nuestro dispositivo tiene interface

# iwconfig

Y con esto ya podemos seguir usando nuestra tarjeta wireless con el nuevo Kernel 🙂

Anuncios
noviembre 20, 2010

Parche Milagroso de 200 lineas, implementado en 4 Lineas, en Debian

por Josue Ortega

Supongo que ya muchos ha escuchado del parche milagroso de 200 lineas, con el cual se mejora la interacción con el escritorio. Hoy encontré una version de este parche pero implementado en 4 lineas, dicen por ahi que el señor Torvalds no se quedó callado con eso.

Probé el Parche pero siguiendo las instrucciones encontré que unos puntos de montaje no existen en Debian así que aqui les dejo los pasos para poder probarlo en Debian:

Debemos añadir las siguientes lineas a nuestro archivo /etc/rc.local, antes del return 0 por supuesto

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

Ahora, hacemos ejecutable el archivo:

chmod +x  /etc/rc.local

Terminados los pasos anteriores, debemos agregar el parche a nuestro .bashrc, que se encuentra en la carpeta home de nuestro usuario.

if [ "$PS1" ] ; then
   mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
   echo $$ > /dev/cgroup/cpu/user/$$/tasks
   echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi

Despues de haber agregado estas lineas a nuestro perfil de bash, creamos un archivo nuevo en el directorio  /usr/local/sbin

y le ponemos por nombre

cgroup_clean

Lo cual seria asi:

#nano /usr/local/sbin/cgroup_clean

y agregamos lo siguiente:

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Hacemos ejecutable el archivo:

chmod +x /usr/local/sbin/cgroup_clean

Finalmente corremos el rc.local

#/etc/rc.local


Fuente:

http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

junio 5, 2010

Error al compilar kernel 2.6.34 en Debian Lenny/Squeeze

por Josue Ortega

El día de hoy compile un par de kernels para probarlos en mi computadora, compile el 2.6.27 y el 2.6.34. La compilación con el kernel .27 no presento grandes dificultades, talves por tratarse de un kernel ya bastante antiguo.

Con respecto al kernel 2.6.34 a la hora de generar el .deb de headers, el error era:

This is kernel package version 11.015.
echo "The UTS Release version in include/linux/version.h"; echo "	   \"\" "; echo "does not match current version:"; echo "	   \"2.6.33.2\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
 "" 
does not match current version:
 "2.6.34" 
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33.2] Error 2
make[1]: se sale del directorio `/usr/src/linux-2.6.33.2'
make: *** [kernel_image] Error 2

Para solucionarlo solo debemos incluir  la cabecera utsrelease.h a nuestras librerias, copiandola de la carpeta donde se encuentra el source del kernel:

cp/path de la carpeta del source/ include/generated/utsrelease.h include/linux/

Despues de copiar la cabecera, solo basta con reiniciar el proceso.

Bueno a disfrutar del kernel mas reciente en nuestro Debian, en mi caso un híbrido de lenny y squeeze. Y lo mejor de todo compilado por nosotros mismos 😀