Tunear Archlinux para Netbook/Notebook


Hola, como siempre uso a T! para no solo difundir mis hallazgos y experiencia, sino tambien como recordatorio para mi propio futuro. Nunca se sabe cuando cambias la compu y tenes que instalar de nuevo. Visto y considerando que en años no necesitas cambiarle nada a tu arch, se complica recordar cada cosa que hiciste para que ande al palo.

Así que a lo nuestro. Esas pequeñas modificaciones incluyen, en muchos casos, la instalación de algún programita.


1. Pacman con axel

como enuncio en mi post: como hacer que pacman y yaourt te rindan al palo (axel) ; una de las formas más efectivas de aumentar la velocidad de descarga de pacman es indicarle que utilice axel para bajarse los paquetes. Con axel podemos descargar un archivo con varias conexiones simultaneas, así que si nuestra conexion nos limita la velocidad de descarga por conexión, simplemente usamos más conexiones para compensar.

Instalamos con:
# pacman -S axel
podemos configurar globalmente editando el archivo /etc/axelrc
para nuestros fines es mejor agregar opciones a /etc/pacman.conf:
XferCommand = /usr/bin/axel -n 4 -a -o %o %u
donde el 4 es la cantidad de conexiones a usar.
No se olviden de comentar las otras lineas de XferCommand que puedan haber.


2. Daemons

Ponemos los daemons en modo background para poder seguir cargando el siguiente mientras se termina de cargar el mismo. De este modo bajamos el tiempo de arranque del sistema ya que hay procesos que se pueden arrancar en conjunto sin problemas haciendo un mayor aprovechamiento de la memoria, procesador y velocidad de nuestro disco rigido.
Lo hacemos poniendo una arroba @ delante del nombre del daemon en el archivo /etc/rc.conf. La linea de daemons esta al final.

Recomiendo cargar syslog-ng y luego el resto en segundo plano. Poniendo primero el gestor de sesiones para que se cargue mientras se levantan los otros servicios, así se termina de cargar todo en el tiempo en que nos logueamos.
en mi caso se ve algo como esto:
DAEMONS=(syslog-ng @slim hal @networkmanager @cpufreqd @alsa @crond @sshd @proftpd @bluetooth @webmin @samba @transmissiond)
como uso networkmanager, tengo que cargar hal antes que el mismo. Por eso no tiene la @ adelante.
Para evitar problemas de servicios. Inicio avahi-daemon desde el archivo rc.local, que se ejecuta luego de todo eso.
Agrego, entonces, al archivo /etc/rc.local la linea:
/etc/rc.d/avahi-daemon start

Como ven tengo instalado cpufreqd para poder controlar automáticamente la frecuencia del procesador.
Instalamos con:
pacman -S cpufreqd cpufrequtils

Usaba laptop-mode, pero resulta ser más complicado que hacer uno mismo los ajustes con acpid.
Entonces instalamos los paquetes para acpi:
pacman -S acpi acpid acpitool

Ahora vienen los trucos:
Para que nuestro disco rigido dure lo que tiene que durar, no podemos tenerlo parando y arrancando porque si. Es un problema archi-conocido de muchas distros que ponian en un modo super agresivo el ahorro de energía del disco para prevenir que se dañe si la notebook se movíera violentamente. Haciendo que la cantidad de ciclos de arranque y parada suba hasta las nubes en unos meses. Para cambiar eso usamos hdparm. Lo instalamos con:
pacman -S hdparm sdparm
instalamos ambos para tener todo a disposición.

Agregamos las siguientes dos líneas a nuestro archivo /etc/rc.local:
hdparm -B 254 /dev/sda
hdparm -S 200 /dev/sda

con la primera ponemos en un minimo modo de ahorro de energia el disco y con la segunda le damos mucho tiempo de inactividad antes que se estacionen las cabezas y se detenga el mismo. Pueden probar con los valores que quieran entre 0 y 255. Donde 255 es desactivar la opcion y 0 la más agresiva. Esos valores me resultan muy bien.

Complemento de ello es instalar pm-utils para suspender o hibernar la computadora y controlar el proceso.
pacman -S pm-utils pm-quirks pmtools

Para completar, hacemos lo siguiente:
touch /etc/pm/power.d/harddrive
para crear el archivo. Esto anula las configuraciones por defecto de pm-utils.
creamos el archivo /etc/pm/sleep.d/10-hdparm con el siguiente contenido:

#!/bin/bash
hdparm -B 254 /dev/sda
hdparm -S 200 /dev/sda


y le damos permiso de ejecución con:
chmod +x /etc/pm/sleep.d/10-hdparm
así cuando salgamos de la suspension, nuestros parametros vuelven a lo que queremos. De lo contrario vuelven a 1 (totalmente indeseable).

Por sugerencia de la wiki de arch agregamos el archivo: /etc/pm/sleep.d/01-hal
cuyo contenido es el siguiente:

#!/bin/bash
case $1 in
hibernate)
;;
suspend)
/etc/rc.d/hal stop
;;
thaw)
;;
resume)
/etc/rc.d/hal start
;;
*)
;;
esac


¿que hace?: ni más ni menos que detener hal al suspender y reiniciarlo al resumir.
también lo tenemos que hacer ejecutable (¿ya van viendo el patron?)
chmod +x /etc/pm/sleep.d/01-hal

Ya que estamos solucionamos otro problema del mismo modo: Cuando se desconecta uno de una red donde tenia montado una compartición de samba, se pudre todo. Tarda mucho tiempo en detenerse los procesos. Para asegurarnos que no nos pase creamos otro archivo: /etc/pm/sleep.d/30-samba_shares
con el siguiente contenido:

#!/bin/bash
umount -a -t cifs -f


y le damos permiso de ejecución con:
chmod +x /etc/pm/sleep.d/30-samba_shares
con eso forzamos el desmontado de las comparticiones de samba.
También lo agregamos a nuestro script de apagado: /etc/rc.local.shu*** (solo la línea de umount)
para que no nos dé problemas al apagar la computadora.


3. Wake On LAN (WOL)

Como indica su nombre, es para poder despertar la computadora via LAN. Solo con cable de red obviamente, me refiero a que por wifi no va. Para ello tendremos que instalar dos paquetitos: wol y ethtool
aunque creo que wol está de más si no pretendemos despertar otra pc que no sea la misma en cuestion, pero no hace daño tenerlo.

Con ethtool le indicamos a la placa de red, antes que se apague la computadora, que se ponga en el modo indicado para despertarla con este metodo. Lo hacemos agregando al /etc/rc.local la correspondiente línea:
ethtool -s eth0 wol g
donde eth0 es la interface de red a usar y g el modo que necesitamos.
Lo ponemos en el inicio para que este siempre activado en ese modo, en caso de apagar el sistema de forma anormal, podemos despertarlo por red igualmente.


4. Placas de red

Esto es importantísimo cuando tenemos 2 o más placas de red. Les damos nombres según la MAC de cada una. De lo contrario, puede ser que se carguen primero los drivers de una y los nombres se alteren.
Para esto creamos una regla de udev, un archivito llamado: /etc/udev/rules.d/10-network.rules
El mio es algo así:

SUBSYSTEM=="net", ATTRS{address}=="00:00:00:00:00:00", NAME="eth0"
SUBSYSTEM=="net", ATTRS{address}=="11:11:11:11:11:11", NAME="wlan0"

donde 00:00:00:00:00:00 es la MAC de mi placa ethernet y 11:11:11:11:11:11 es la MAC de mi placa WiFi.
Lo importante es ponerle las letras que contenga cada MAC en MAYUSCULAS, sino, no anda.

Podemos obtener las MAC usando el comando:
ifconfig -a
y nos sale algo así:
wlan0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
donde vemos la MAC en la primera línea junto al nombre actual de la interface.
Yo le puse eth0 y wlan0 para saber cual es cual, pero pueden ponerle otros si quieren.


5. Sistema de archivos

Creo que hoy en día la mayoria usa EXT4, por lo menos, yo lo hago. Use un tiempo XFS pero me resultaba lento para algunas cosas y rapido para pocas. Además que no se puede achicar. Estoy super contento con EXT4, especialmente con lo rápido que realiza los chequeos al inicio, cuando correspondiera.

Para que nuestro sistema de archivos sea más veloz y tenga menos problemillas agregamos las siguientes opciones a /etc/fstab: noatime,barrier=0,nodirtime
a mi me queda algo así:
UUID=1f86f441-7fe6-45c6-9fa1-f6b31b1b5c61 /home ext4 defaults,noatime,barrier=0 0 1


6. Programas ligeros

Obviamente, si quieren sacarle velocidad no pueden llevar una mochila de piedras en el lomo. Yo prefiero usar Xfce y muchos de los programas que incluye. Excepto los dos que comento a continuación: ristretto (ver fotos) y mousepad (editar texto).

Para ver imágenes, usé un tiempo mirage, pero tiene una desventaja comun a muchos otros: carga miniaturas.
Cuando uno pone una tarjeta de memoria de 4 GB, llena de fotos de más de 1MB cada una, tarda una eternidad en completarlas. Si solamente queremos ver una o dos fotos no tiene sentido esa función. Gpicview hace todo bien y le agrego algo de gusto personal: se cierra con a tecla ESC, todo un encanto de programa.

Para editor de texto ahora uso medit que reemplazo a geany. Es más ligero y simple y tiene las mismas características de resaltado de sintaxis que nos facilitan la edicion de archivos.


7. Kernel personalizado

Fundamental, mi querido Warzone (broma mala)
Obviamente es necesario personalizar nuestro kernel para sacarle provecho al hardware y bajar los tiempos de arranque. En el caso de las portátiles, el hard es siempre el mismo. Entonces compilamos como fijos los drivers que se cargan siempre, no compilamos los que no necesitamos, y todo lo que podemos usar de vez en cuando, o enchufarle a la computadora, va como módulo. Si tenemos chipset AMD, no compilemos funcionalidades de Intel y viceversa.

También podemos bajarnos algún kernel ya tuneado para nuestro caso, como puede ser el kernel zen en el caso de los desktops. Para las netbooks hay uno que anda al pelo, llamado "kernel-netbook" (obviamente!) que podemos compilar desde AUR o bien, bajarlo como paquete compilado de su sitio: http://code.google.com/p/kernel-netbook/ (es unicamente para Archlinux).
Incluye el driver propietario broadcom-wl para todos los que lo necesitan, aunque para mi placa BCM4312, ya sirven los b43 que vienen desde el kernel 2.6.32 e incluso andan mejor. Te dan mejor recepcion y más estabilidad. Por sugerencia mia ahora también lo incluye en el paquete


8. Mas suspensiones

Agrego algo que me quedó colgado de varios temas. Con mi placa WiFi Broadcom y los drivers b43 tengo un problemita: al suspender o apagar la computadora tarda en anularlos. Es cuestion de unos segundos, pero no queremos estar 10 segundos mirando como se suspende una computadora para transportarla unos metros, especialmente si puden ser 2 segundos.

Para solucionar esto agregamos un archivo más como en el caso de hdparm y samba. Lo llamaremos /etc/pm/sleep.d/20-b43. Su contenido será el siguiente:

#!/bin/bash
case $1 in
hibernate)
;;
suspend)
modprobe --remove b43 mac80211 cfg80211 led_class ssb mmc_core --quiet
;;
thaw)
;;
resume)
modprobe b43 --quiet
;;
*)
;;
esac


de modo que descargue el modulo b43 y todos los módulos de los que depende (al menos en mi caso) al momento de suspenderse. Cargándolos de nuevo al momento de resumir el trabajo.
De nuevo: le damos permiso de ejecución:
chmod +x /etc/pm/sleep.d/20-b43



Bueno, eso es todo por ahora, al menos lo que me acuerdo.

Les dejo los links de otros post mios que son relevantes para el tema:

http://www.taringa.net/posts/linux/7052856/Googsystray_-mucho-mas-que-GmailNotifier.html

http://www.taringa.net/posts/linux/6785280/Compartir-Musica-con-la-LAN-_elink_moc_.html

http://www.taringa.net/posts/linux/6541077/Subir-fotos-para-T_-facilmente-desde-thunar.html

http://www.taringa.net/posts/linux/6386123/Colores-en-bash-y-_bashrc.html

http://www.taringa.net/posts/linux/6275581/Programas-de-consola-que-uso-o-pienso-usar.html

http://www.taringa.net/posts/linux/6177442/Mi-Escritorio-y-por-que-es-como-es.html

http://www.taringa.net/posts/linux/5972349/Cambiar-la-ubicacion-de-la-carpeta-de-Escritorio.html

http://www.taringa.net/posts/linux/5542134/ffmpeg-multi-nucleo.html

http://www.taringa.net/posts/linux/4986065/Instalale-ARCHLINUX-a-tu-netbook-HP-MINI.html

http://www.taringa.net/posts/linux/3770876/Ordenar-archivos-en-el-MP3_4.html

http://www.taringa.net/posts/linux/3749560/Como-hacer-una-vpn-que-funcione.html

http://www.taringa.net/posts/linux/3748658/Deshacete-de-GDM_-mejor-usa-Slim.html

http://www.taringa.net/posts/linux/3586221/como-hacer-que-pacman-y-yaourt-te-rindan-al-palo-_axel_.html

http://www.taringa.net/posts/linux/3551277/Cambiar-el-menu-de-salida-de-Xfce4-4_6.html

http://www.taringa.net/posts/linux/3069547/Ver-tu-webcam___-desde-la-web.html

http://www.taringa.net/posts/linux/2884907/Archivo-con-sistema-de-archivos-encriptado.html

http://www.taringa.net/posts/linux/2343934/Sesion-remota-con-NoMachine-NX-y-Xfce4.html

http://www.taringa.net/posts/linux/1874931/Restaurando-Pendrive-en-Linux.html

Eso es todo, amigos.
Pensar que todo eso lo hago con la netbook

Salu2