Ubuntu 8.10 en Aspire One
Podríamos utilizar una versión previa de Ubuntu, sin embargo, recomiendo la versión 8.10, por la versión del kernel de linux que trae. Acer Aspire One utiliza un lector de tarjetas JMicron con chipset jmb38x, el cuál comienza a incorporarse en el kernel de linux a partir de la versión 2.6.25. De hecho, si probamos un Ubuntu 8.04 o anterior, y hacemos un lspci, veremos lo siguiente:...
04:00.0 System peripheral: JMicron Technologies, Inc. Unknown device 2382
04:00.2 SD Host controller: JMicron Technologies, Inc. Unknown device 2381
04:00.3 System peripheral: JMicron Technologies, Inc. Unknown device 2383
04:00.4 System peripheral: JMicron Technologies, Inc. Unknown device 2384
Sin embargo, con el nuevo Ubuntu 8.10, reconoce correctamente el lector de tarjetas integrado en el AAO:...
04:00.0 System peripheral: JMicron Technologies, Inc. JMircon SD/MMC OHCI Host Controller
04:00.2 Generic system peripheral [0805]: JMicron Technologies, Inc. JMircon SD Host Controller
04:00.3 System peripheral: JMicron Technologies, Inc. JMircon MS Host Controller
04:00.4 System peripheral: JMicron Technologies, Inc. JMircon xD Host Controller
Una vez, descargado, o adquirido, nos encontramos con el primer problema. ¿Cómo instalamos el Ubuntu si no tiene lector de CDs? Vale, tenemos dos vías (en realidad hay más como el arranque en red vía PXE, pero estas son las más sencillas):- Instalar vía USB: Necesitaremos un pendrive (mínimo 1Gb) y descargarnos el unetbootin. Lo abrimos, marcamos imagen de disco ISO y seleccionamos el ubuntu que descargamos antes. Más abajo seleccionamos Unidad USB y la letra de la Unidad. Listo. Aceptar y esperar a que se genere un Ubuntu USB Live que nos servirá tanto para usarlo desde el pendrive, como para instalarlo posteriormente.
- Instalar vía CD externo: El AAO permite arrancar desde un lector de CD externo. No todo el mundo tiene un lector externo de estos, pero lo que si suele ser más común es una caja o carcasa de disco duro (tiene que ser IDE). Basta con conectar el cable IDE y el conector Molex a la unidad de CD, y servirá perfectamente.
Realizamos la instalación como en cualquier otro ordenador. Hay que tener en cuenta que debido a la baja velocidad de escritura del disco SSD del módelo 110, la instalación puede tardar un poco más de lo normal.
Configuración de la tarjeta RJ45
La tarjeta de red por cable funciona perfectamente en Ubuntu 8.10, así que no necesitaremos hacer nada. En kernels anteriores, la tarjeta, una Realtek RTL8101E Fast Ethernet no era correctamente detectada con el driver r8169, por lo que había que eliminarlo y compilar y cargar el módulo r8101.Actualmente, no tendremos ese problema si utilizamos Ubuntu 8.10. Eso si, tendremos que conectarnos por este medio, ya que posteriormente necesitaremos descargar algunos ficheros y realizar algunas operaciones de red.
Configuración de la tarjeta inalámbrica
El primer problema que tendremos, es que Ubuntu no incorpora los drivers para la tarjeta wireless. En linux existen dos formas para hacerla funcionar: utilizar ndiswrapper (vía fácil) o compilandolos nosotros mismos. Nos basaremos en el segundo caso, ya que el primero aunque es muy fácil de instalar, podemos perder funcionalidad y potencia (estamos emulando un driver de windows).La tarjeta es una Atheros AR5006EG 802.11 b/g Wireless PCI Express, así que utilizaremos MadWifi (Multiband Atheros Driver for WIFI).
sudo apt-get install build-essential linux-headers-$(uname -r)
Obviamente, necesitaremos los fuentes de nuestro kernel para compilar los drivers de red. Accedemos a MadWifi Snapshots y nos descargamos los drivers (en este momento, la versión del HAL 0.10.5.6), desempaquetamos y entramos en la carpeta para ejecutar unos scripts.wget "http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6-current.tar.gz"
tar -xzvf madwifi-hal-0.10.5.6-current.tar.gz
cd madwifi-hal-0.10.5.6-r3861-20080903
cd scripts
./madwifi-unload
./find-madwifi-modules.sh $(uname -r)
cd ..
El primer script, madwifi-unload, se encargará de descargar los módulos que estén actualmente activos (si los hay), ya que sino no podrá modificarlos al compilarlos. El segundo, busca los modulos y los elimina. Volvemos a la carpeta anterior. ¡A compilar!make && make install && modprobe ath_pci
Esto se pegará un ratito. Estaremos compilando los nuevos módulos e instalandolo en sus carpetas correspondientes.Es conveniente que los usuarios no experimentados realicen por separado las operaciones; primero el make y luego, si no hay errores, el make install y de la misma manera finalmente el modprobe ath_pci; así, si ocurre un problema será más fácil detectarlo y subsanarlo dejando un comentario.
Hemos terminado. Con esto, al volver a hacer sudo ifconfig | cut -d" " -f1 | sort | uniq aparecerá ath0 y wifi0. Si no es así, no te preocupes, en mi caso necesité reiniciar el sistema para hacer efectivos los cambios.
Un detalle importante es que en el fichero /etc/default/linux-restricted-modules-common, habría que añadir el módulo ath_hal en el parámetro DISABLED_MODULES. Así evitaremos problemas de apagado de la wifi.
LED Wireless
Sin embargo, a pesar de que la conexión inalámbrica empezará a funcionar, el led wireless (zona inferior derecha) permanece apagado.sysctl -w dev.wifi0.ledpin=3
sysctl -w dev.wifi0.softled=1
Con esto conseguiremos que cuando haya tráfico de red vía conexión inalámbrica, el led parpadee. Quedaría incluir las siguientes lineas al principio del fichero /etc/rc.local (arranque de linux), que asocia el funcionamiento de la tecla-switch especial que está debajo del LED:/usr/bin/setkeycodes e055 159
/usr/bin/setkeycodes e056 158
No estoy completamente seguro de que funcione para todos los casos, pero con el comando showcode, efectivamente, me detecta que los dos códigos que devuelve esa tecla son 158 y 159.Administrador de conexiones
Control de ventilador
Ubuntu 8.10 recién instalado no conoce bien las especificaciones del ventilador interno del Aspire One, por lo que está funcionando todo el tiempo. Esto no es un problema a la hora de la ventilación, pero sí que lo es a la hora del ruido y/o el uso constante del mismo.apt-get install dmidecode
wget http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl
wget http://electronpusher.org/~rachel/acerfand
chmod a+x acerfand
sudo cp acer_ec.pl acerfand /usr/local/bin/
Una vez más, editamos el fichero de arranque /etc/rc.local y añadimos al principio la siguiente linea:/usr/local/bin/acerfand
Con esto conseguiremos que el control del ventilador se inicie siempre al arrancar el ultraportatil. Pero para mayor dominio crearemos un fichero /etc/acerfand.conf donde colocaremos las siguientes opciones:INTERVAL=5
FANOFF=50
FANAUTO=55
Lo que significa que cada 5 segundos se comprueba la temperatura interna del portatil. Si supera los 70ºC se activará el ventilador. Si desciende de 60ºC entonces se desactivará. Al parecer, según Intel, los procesadores Atom pueden trabajar hasta los 99ºC.Webcam
El Acer Aspire One posee una webcam integrada que funciona por USB 2.0 internamente. A pesar de la poca calidad (0.3 megapixels), la webcam tiene una velocidad estupenda y es genial para conferencias vía mensajería instantánea.sudo apt-get install cheese
Para probarla, se puede utilizar cheese, una simple aplicación para utilizar la webcam que permite guardar imagenes, videos e incluso utilizar efectos gráficos on-the-fly (al vuelo).Apariencia visual
La apariencia lo es todo, y más si queremos presumir de un ultraportatil potente y vistoso. Accedemos al menú Sistema / Preferencias / Apariencia. En esta zona podemos seleccionar distintos aspectos del entorno gráfico. En Art Gnome puedes encontrar todo tipo de decoraciones (wallpapers, bootlogins, splash screens...) para nuestro sistema Gnome. Por ejemplo, vamos a instalar el tema (borde de ventana) de Correcamins, que es tan fácil como descargarlo y arrastrar el fichero a la ventana tema que teníamos abierta desde antes.
Accedemos entonces a Personalizar... y seleccionamos el tema instalado o cualquiera que nos parezca de la amplia gama para seleccionar.En el apartado Tipografías, recomiendo seleccionar Suavizado de subpíxel (LCD) para mejorar el renderizado de las fuentes.
Finalmente, y a gusto personal, se puede acceder al menú Efectos visuales y activar la opción Extra, lo que activará Compiz, un conjunto de efectos que convertirán las ventanas del escritorio en elementos más flexibles y visualmente agradables. Puedes ver algunos ejemplos de Compiz aquí.
Tarjeta gráfica
Nuestro Ubuntu 8.10 detectará perfectamente la tarjeta gráfica de nuestro AAO que es una Intel Mobile 945GM/GMS/GME, 943/940GML Express. La resolución recomendada es 1024x600, la que detecta por defecto nuestro sistema. No obstante, podemos hacer algunos retoques para tunear su funcionamiento. Editamos el fichero /etc/X11/xorg.conf y escribimos (en mi caso estaba vacío, si no es así, buscamos la sección y añadimos lo que falte):Section "Device" Identifier "Configured Video Device" Option "MonitorLayout" "LVDS,VGA" Option "Clone" "True" Option "AccelMethod" "EXA" Option "MigrationHeuristic" "greedy" VideoRam 229376 Option "CacheLines" "1980"EndSection
Donde estaremos especificando distintos parámetros:- Se define un monitor LVDS (propio del portátil) y otro VGA (salida externa a otro monitor).
- Clonación de monitores (proyectores, mon. externo) habilitada
- Método de aceleración EXA (reemplazando el antiguo XAA) con un parámetro heurístico voraz (es posible establecerlo a "always", "greedy" o "smart")
- Asignación de 23Mb de RAM a la tarjeta gráfica (con VideoRAM)
- Rendimiento equilibrado entre el 2D y el 3D de la tarjeta con la opción CacheLines.
Un añadido más, sería editar el fichero /etc/profile y añadir la línea:
INTEL_BATCH=1
Lo que aumentaría el rendimiento del compiz, facilmente comprobable con el glxgears.Tarjeta de sonido
En Ubuntu 8.10, la tarjeta de sonido se reconoce automáticamente y no hay problema para utilizarla.Arranque del sistema
Por defecto, al arrancar Ubuntu. Cada elemento que se carga en el inicio lo hace secuencialmente, uno después de otro. Sin embargo, podemos obligar a hacerlo en paralelo, simultaneamente, editando el fichero /etc/rc.local y escribiendo:CONCURRENCY=shell
Otro punto ideal, es eliminar los servicios o programas de arranque que no vamos a utilizar. El linpus es tan rápido porque apenas carga dispositivos (y los que carga son cuando los necesita). Para ello sería conveniente pulsar ALT+F2 y escribir services-admin.Con ello podremos desactivar los servicios que no sean necesarios para nosotros, según nuestros requisitos. Para usuarios más avanzados, pueden hacer esto mismo de una forma más técnica. Eso sí, hay que tener cuidado con no desactivar algo que no se sepa lo que es:
sudo apt-get install rcconf
rcconf
Mejorar rendimiento del disco SSD
Uno de los principales problemas, como había comentado anteriormente y en el artículo de presentación del Acer Aspire One es que la velocidad de escritura es muy baja (6MB/s) en comparación con la de lectura (39MB/s). Por lo tanto hay que reducir al máximo los accesos de escritura al disco.En el fichero /etc/fstab se gestionan las particiones del sistema. Debería aparecer algo similar a esto:
proc /proc proc defaults 0 0UUID=.... / ext2 relatime, errors=remount-ro 0 1UUID=.... none swap sw 0 0
Cada linea representa una partición del sistema. Por defecto, linux cuando accede a cualquier fichero, modifica la última fecha de acceso a ese fichero, podemos evitar esto modificando relatime por noatime, ahorrando mucha escritura y maximizando la velocidad y el rendimiento del SSD.Otra buena idea, es crear varias unidades temporales en memoria RAM (RAMdisk) para lugares donde no se guarda información relevante y puede ser eliminada en cada reinicio (logs del sistema, temporales, etc...). Por ejemplo, añadir las siguientes lineas:
tmpfs /var/log tmpfs defaults,noatime 0 0tmpfs /tmp tmpfs defaults,noatime 0 0tmpfs /var/tmp tmpfs defaults,noatime 0 0
Claro está, que como al reiniciar el portátil, estas carpetas no existen, hay que crearlas. Para ello, editamos el fichero /etc/rc.local y escribimos lo siguiente:for dir in apparmor apt cups dist-upgrade fsck gdm installer news samba unattended-upgrades ; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
Editando el fichero /boot/grub/menu.lst, encontraremos la lista de sistemas de nuestro portatil. Por defecto, al instalar, sólo aparece Ubuntu, Ubuntu recovery (un modo «a prueba de fallos») y un comprobador de memoria RAM. El primero tendrá el siguiente formato:title Ubuntu 8.10, kernel ....uuid ........kernel /boot/vmlinuz-2.6... ro quiet splashinitrd ......
En el primer de ellos, que es el que iniciamos normalmente, vamos a la linea kernel y al final de ella (justo después de quiet splash) añadimos elevator=noop.Esta opción, es un sistema de optimización para nuestros discos duros. Cuando necesita acceder a un disco, en lugar de saltar de un lado a otro (lo que dificulta y hace que baje el rendimiento) lo hará en plan ascensor, secuencialmente, organizando en una cola para no producir demasiado movimiento.
Un poco más arriba, encontraremos una linea que esta comentada, defoptions también podemos descomentarla y añadir el elevator=noop para que siempre utilice esta técnica.
En Ubuntu existe ScrollKeeper, un catalogador abierto de documentos que utiliza demasiado la escritura en el SSD cada vez que se instala algo. Para desactivarlo:
sudo mv /usr/bin/scrollkeeper-update /usr/bin/scrollkeeper-update.real
sudo ln -s /bin/true /usr/bin/scrollkeeper-update
sudo find /var/lib/scrollkeeper/ -name \*.xml -type f -exec rm -f '{}' \;
sudo dpkg-divert --local --divert /usr/bin/scrollkeeper-update.real --add /usr/bin/scrollkeeper-update
Cacheando en Firefox
Una de las ventajas de Ubuntu, es que dispondremos del nuevo Firefox 3. Sin embargo, la carga puede ser lenta si no lo configuramos apropiadamente. Escribimos en la dirección about:config, aceptamos la advertencia y en el filtro ponemos browser.cache.Con botón derecho, Nuevo / Cadena, escribimos browser.cache.disk.parent_directory que le asignamos la cadena /tmp/firefox. A partir de ahora el caché se guardará en esta carpeta, que anteriormente establecimos en un RAMdisk, mucho más rápido que el SSD. La navegación será más rápida.
Además, en el menú Editar / Preferencias / Seguridad, podemos deshabilitar (¡bajo nuestro riesgo!) las dos opciones de detectar sitios de ataques o engaño (phishing). Esto aligerará mucho nuestro navegador.
Ahorro de energía
En el wiki de Ubuntu para Aspire One, encontramos la recomendación de incluir en el /etc/rc.local las siguientes lineas para mejorar el ahorro de energía del ultraportatil: sysctl -w vm.swappiness=1
sysctl -w vm.vfs_cache_pressure=50
Con esto, se produce un ahorro de energía con respecto al disco SSD.echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo 5 > /proc/sys/vm/laptop_mode
Estas lineas, hacen que el sistema según su necesidad de consumo de procesador, ajuste la velocidad del mismo entre 800MHz y 1600MHz, consumiendo menos energía cuando no estamos realizando ninguna tarea pesada, entre otras cosas.[ -L /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level [ -L /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level
Idem al anterior, pero con respecto al USB. Efectua un ahorro de energía cuando no se utiliza ningún dispositivo USB.Lector de tarjetas
AAO tiene dos sistemas de lectura de tarjetas. El primero, el Storage Expansion, que permite insertar una tarjeta SDHC, ampliando la capacidad del disco duro. Este dispositivo se encuentra en /dev/mmcblk0 y es detectado automáticamente por Ubuntu.Sin embargo, el segundo, un multi-lector de tarjetas, que se encuentra en /dev/mmcblk1 no se carga automáticamente al insertar una. Para ello, vamos a descargarnos un script del Linpus:
wget http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/jmb38x_d3e.sh
sudo chmod 754 jmb38x_d3e.sh
sudo mv jmb38x_d3e.sh /usr/local/sbin/
Ahora, sólo restará editar el fichero /usr/local/sbin/jmb38x_d3e.sh y cambiar la línea 11 por modprobe pciehp pciehp_force=1. Editamos el fichero /etc/rc.local y añadimos una linea: /usr/local/sbin/jmb38x_d3e.sh.Ultimos retoques y notas
También puedes instalar Ubuntu netbook remix, un sistema rápido y sencillo de accesos directos, optimizado para ultraportatiles, muy similar al que incorporaba Linpus. Puedes ver algunas capturas en Flickr sobre netbook remix.Hay un sistema para construir una especie de caché de los ficheros utilizados al arranque, y así, reducir la velocidad del arranque del sistema operativo, utilizando readahead y creando un profile. Las instrucciones paso a paso puedes encontrarlas en optimizar arranque de ubuntu.
Si acostumbras a hacer un apt-get upgrade, recuerda que si actualizas la versión del kernel del Ubuntu, tendrás que recompilar algunos drivers como el madwifi (simplemente ejecutar el mantra de instalación make && make install).