Acelerar el inicio de ArchLinux

domingo 26 de abril de 2009

Finit-arc es una reimplementacion de fast-init hecho para la eeepc, puedes encontrar ese paquete en AUR.

Para instalarlo:

$ yaourt -S finit-arc



Primero haz un backup de tu /etc/rc.sysinit y luego crea uno nuevo con el siguiente texto

#!/bin/bash
#
# /etc/rc.sysinit
#

. /etc/rc.conf
. /etc/rc.d/functions

echo " "
printhl "Arch Linux - Speedup boot"
printsep

#**************************** WARNING ******************************
# If you're using initramfs for your kernel, uncomment steps 5 and 17
# To improve boot speed it's recommendend to make a static kernel
# without modules and without initramfs.
#
# MAKE STEP 2
# Type in a term from root: ls -l /dev | grep sda
# you'll receive the list of /dev/sda devices
# make your /dev/sda devices in step 2 like the example
#*******************************************************************

# STEP 1 - mount /proc, /sys and our RAM /dev
/bin/mount -n -t ramfs none /dev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys

# STEP 2 - make static sda nodes for start udevadm --settle in background
/bin/mknod /dev/sda b 8 0
/bin/mknod /dev/sda1 b 8 1
/bin/mknod /dev/sda2 b 8 2
/bin/mknod /dev/sda3 b 8 3
/bin/mknod /dev/sda4 b 8 4
#...5...6..etc..(from your fdisk -l)

# STEP 3 - copy static device nodes to /dev
/bin/cp -a /lib/udev/devices/* /dev/

# STEP 4 - enable rtc access
/sbin/modprobe rtc-cmos >/dev/null 2>&1
if [ -n "$RTC_MAJOR" ]; then
/bin/mkdir /dev/misc/
/bin/mknod /dev/misc/rtc0 c $RTC_MAJOR 0
/bin/ln -s /dev/misc/rtc0 /dev/rtc
fi

# STEP 5 - Load modules from the MODULES array defined in rc.conf
#if ! [ "$load_modules" = "off" ]; then
# if [ -f /proc/modules ]; then
# stat_busy "Loading Modules"
# for mod in "${MODULES[@]}"; do
# if [ "$mod" = "${mod#!}" ]; then
# /sbin/modprobe $mod
# fi
# done
# stat_done
# fi
# if [ -d /proc/acpi ]; then
# stat_busy "Loading standard ACPI modules"
# ACPI_MODULES="ac battery button fan processor thermal"
# k="$(echo $BLACKLIST ${MOD_BLACKLIST[@]} | /bin/sed 's|-|_|g')"
# j="$(echo ${MODULES[@]} | /bin/sed 's|-|_|g')"
# #add disabled MODULES (!) to blacklist - much requested feature
# for m in ${j}; do
# [ "$m" != "${m#!}" ] && k="${k} ${m#!}"
# done
# # add disablemodules= from commandline to blacklist
# k="${k} $(echo ${disablemodules} | /bin/sed 's|-|_|g' | /bin/sed 's|,| |g')"
# for n in ${ACPI_MODULES}; do
# if ! echo ${k} | /bin/grep "\" 2>&1 >/dev/null; then
# /sbin/modprobe $n > /dev/null 2>&1
# fi
# done
# stat_done
# fi
#fi

# STEP 6 - set hardware clock for fs check
{
HWCLOCK_PARAMS="--hctosys"
if [ "$HARDWARECLOCK" = "UTC" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --utc"
else
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --localtime"
fi
if [ "$USEDIRECTISA" = "yes" -o "$USEDIRECTISA" = "YES" ]; then
HWCLOCK_PARAMS="$HWCLOCK_PARAMS --directisa"
fi
if [ -f /etc/localtime ]; then
/sbin/hwclock $HWCLOCK_PARAMS --noadjfile
fi
} &

echo > /proc/sys/kernel/hotplug

# STEP 7 - start udevadm trigger and udevd in background
{
if [ -x /sbin/udevadm -a -d /sys/block ]; then
stat_busy "Starting UDev Daemon"
/sbin/udevd --daemon &
/sbin/udevadm trigger &
stat_done
else
status "Using static /dev filesystem" true
fi
} &

# STEP 8 - start udevadm settle in background
/sbin/udevadm settle &

# STEP 9 - make lo interface
{
if [ -d /sys/class/net/lo ]; then
stat_busy "Bringing up loopback interface"
/sbin/ifconfig lo 127.0.0.1 up
if [ $? -ne 0 ]; then
stat_fail
else
stat_done
fi
fi
} &

# STEP 10 - mounting root read-only
status "Mounting Root Read-only" /bin/mount -n -o remount,ro / &

# STEP 11 - filesystem check
FORCEFSCK=
[ -f /forcefsck ] && FORCEFSCK="-- -f"
NETFS="nonfs,nonfs4,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,noshfs,nofuse,nofuseblk"
fsck_reboot() {
echo "Automatic reboot in progress..."
/bin/umount -a
/bin/mount -n -o remount,ro /
/sbin/reboot -f
exit 0
}
if [ -x /sbin/fsck ]; then
stat_busy "Checking Filesystems"
FSCK_OUT=/dev/stdout
FSCK_ERR=/dev/null
/sbin/fsck -A -T -C -a -t $NETFS $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR
fsckret=$?
if [ ${fsckret} -gt 1 ]; then
stat_fail
fi
if [ $((${fsckret}&2)) -eq 2 ]; then
echo
echo "********************** REBOOT REQUIRED *********************"
echo "* *"
echo "* The system will be rebooted automatically in 15 seconds. *"
echo "* *"
echo "************************************************************"
echo
/bin/sleep 15
fsck_reboot
fi
if [ ${fsckret} -gt 1 -a ${fsckret} -ne 32 ]; then
echo
echo "***************** FILESYSTEM CHECK FAILED ****************"
echo "* *"
echo "* Please repair manually and reboot. Note that the root *"
echo "* file system is currently mounted read-only. To remount *"
echo "* it read-write type: mount -n -o remount,rw / *"
echo "* When you exit the maintenance shell the system will *"
echo "* reboot automatically. *"
echo "* *"
echo "************************************************************"
echo
/sbin/sulogin -p
fsck_reboot
fi
stat_done
fi

# STEP 12 - remount root and mount local file system
stat_busy "Mounting Local Filesystems"
/bin/mount -n -o remount,rw /
/bin/rm -f /etc/mtab*
/bin/mount -o remount,rw /
if [ -e /proc/mounts ]; then
/bin/grep -e "/proc " -e "/sys " -e "/dev " /proc/mounts >> /etc/mtab
fi
/bin/mount -a -t $NETFS
stat_done

# STEP 13 - activating swap partition
status "Activating Swap" /sbin/swapon -a &

# STEP 14 - set urandom
{
RANDOM_SEED=/var/lib/misc/random-seed
if [ -f $RANDOM_SEED ]; then
stat_busy "Initializing Random Seed"
/bin/cat $RANDOM_SEED > /dev/urandom
stat_done
fi
} &

# STEP 15 - removing temp files
stat_busy "Removing Leftover Files"
/bin/rm -f /etc/nologin &>/dev/null
/bin/rm -f /etc/shutdownpid &>/dev/null
/bin/rm -f /var/lock/* &>/dev/null
/bin/rm -rf /tmp/* /tmp/.* &>/dev/null
/bin/rm -f /forcefsck &>/dev/null
(cd /var/run && /usr/bin/find . ! -type d -exec /bin/rm -f -- {} \; )
: > /var/run/utmp
/bin/chmod 0664 /var/run/utmp
/bin/mkdir /tmp/.ICE-unix && /bin/chmod 1777 /tmp/.ICE-unix
/bin/mkdir /tmp/.X11-unix && /bin/chmod 1777 /tmp/.X11-unix
stat_done

# STEP 16 - set rc.conf hostname
if [ "$HOSTNAME" != "" ]; then
status "Setting Hostname: $HOSTNAME" /bin/hostname $HOSTNAME &
fi

# STEP 17 - load modules depends
#status "Updating Module Dependencies" /sbin/depmod -A &

# STEP 18 - set lang
{
: >/etc/profile.d/locale.sh
/bin/chmod 755 /etc/profile.d/locale.sh
[ -z "$LOCALE" ] && LOCALE="it_IT@euro"
stat_busy "Setting Locale: $LOCALE"
echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh
stat_done
} &

# STEP 19 - Save our dmesg output from this boot
if [ -f /var/log/dmesg.log ]; then
/bin/rm /var/log/dmesg.log &
fi
/bin/dmesg > /var/log/dmesg.log &



Luego edita tu /boot/grub/menu.lst agregando una entrada para utilizar finit:


#(0) Arch Linux
title Arch Linux SpeedBoot
kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=791 splash resume=/dev/sda1 init=/sbin/finit-arc
initrd /boot/kernel26.img

Ojo!!! finit no funciona con los UUID de los discos por lo que debes cambiar tambien tu archivo /etc/fstab para que monte los discos como /dev/sdaX (X es el numero de tu disco)

No olvides darle permisos de ejecución a tu nuevo /etc/rc.sysinit


Finalmente edita el archivo /etc/finit.conf

##Set user on "login_manager" if you want access
##in a console login manager or GDM,KDM
#user login_manager

##mountdevices before udev (DONT REMOVE IT!)
mountdev

##modules that you want load
#module intel_agp
#module agpgart

##filesystem device that you want check
check /dev/sda2
check /dev/sda3

##hostname
host arch_msdark

##startx command
startx /bin/bash --login -c /usr/bin/startx

y el archivo /usr/sbin/services.sh

#!/bin/sh

#Starts udev events
/sbin/udevd --daemon &>/dev/null &
/sbin/udevadm trigger &>/dev/null &
/sbin/udevadm settle &>/dev/null &

#Make swap (not for ssd)
/sbin/swapon -a &

#Starting background daemons
/etc/rc.d/syslog-ng start &>/dev/null &
/etc/rc.d/hal start &>/dev/null &
/etc/rc.d/laptop-mode start &>/dev/null &
/etc/rc.d/alsa start &>/dev/null &
/etc/rc.d/wicd start &>/dev/null &
/etc/rc.d/fam start &>/dev/null &
/etc/rc.d/klogd start &>/dev/null &
/etc/rc.d/crond start &>/dev/null &


Y listo!!! reinicia y veras como mejoras la velocidad!!!

Fuente: http://msdarkici.wordpress.com/2009/04/10/finit-arc-acelerando-el-inicio-de-arch/



Leer Mas......

Una alternativa a Conky

jueves 23 de abril de 2009

gtk-desktop-info es una herramienta basada en python para mostrar diversas informaciones directamente en el escritorio, usando plugins para el html rendering, con plantillas HTML y CSS para el formato.

La aplicación ha sido creada desde la base de los scripts (python) utilizados en conky. La razón de su creación es sencilla, conky es buena, pero el formating no, html es la opción obvia para entregarle mejor formato al usuario y la capacidad de producción en la construcción de una variedad de estilos basados en técnicas faciles de entender.



Despues del salto la instalación paso a paso


Instalación Intrepid Ibex:

sudo wget -q http://www.kaivalagi.com/ubuntu/ppa/m-buck-gtk-desktop-info-intrepid.list -O /etc/apt/sources.list.d/m-buck-gtk-desktop-info-intrepid.list


Instalación Jaunty Jackalope:

sudo wget -q http://www.kaivalagi.com/ubuntu/ppa/m-buck-gtk-desktop-info-jaunty.list -O /etc/apt/sources.list.d/m-buck-gtk-desktop-info-jaunty.list


Llave pública:

wget -q http://www.kaivalagi.com/ubuntu/ppa/m-buck-gtk-desktop-info-key.gpg -O- | sudo apt-key add -


Completar la instalaciòn:

sudo apt-get update && sudo apt-get install gtk-desktop-info

Fuente: http://phyx.wordpress.com/2009/04/23/gtk-desktop-info-alternativa-a-conky/

Leer Mas......

Y continuando con un pensamiento extremadamente geek les alcanzo una series de curiosidades que lleva a cabo a nivel mundial este pingüino tan simpático.

Torta Tux 3D

Para aquellos golosos, Joseph Hall envió este increíble pastel Tux 3-D en su blog que nos muestra lo que al horno cocina en su propio departamento!. Incluso incluye instrucciones paso a paso y una lista de cosas que necesitas si decides hacer frente a este proyecto, que mejor que regalar un live de alguna distro acompañada de ésta torta?.






Llaves al estilo de Tux

Necesitas algún llavero o quedar bien con tu pareja? Esta es la opción ideal para hacerte algún regalito o simplemente llevar a nuestra mascota a todos lados.


Cristal Tux

Para combinar un poco nuestro afán por el pingüino y el gusto por los cristales llega éste modelo de cristal de Swarovski hecho por ISO100.




Coser tu propio Tux

La Free Penguin Project nos deja ésta guia de como realizar un Tux para los amañados de la costura.




Origami Tux

Si eras bueno haciendo avioncitos de papel en la escuela, tal vez ésta es la opción que prefieras.







Imprimir, Cortar y Pegar de Tux

Se trata de una simple impresión de que sólo requiere de las habilidades que todos aprendimos en el jardín de infantes, cortar y pegar.





Comiendo con Tux

He aquí un ejemplo de quienes se toman la comida muy en serio.




ChocoTux

¿Quién puede resistirse a un chocolate de pingüino? Jikuykendall, obviamente, no puede y vos?


Guantes de Tux

Y si bien estamos en verano podemos irnos preparando para el invierno con éste modelo dejado por Flibbertigibit Bunny.


Los grandes fanáticos seguro han quedado con la boca abierta, si conoces algunos otros proyectos o modelos de Tux, por favor compartelo con nosotros.



Leer Mas......

El proyecto Gnome lanza una nueva iniciativa

viernes 16 de enero de 2009


La Fundación GNOME ha lanzado un nuevo sitio web para el programa Amigos de Gnome, que permite a los usuarios y miembros de la comunidad poder apoyar el entorno de escritorio GNOME mediante una donación de dinero.


Amigos de GNOME ha estado durante mucho tiempo, pero el nuevo sitio web lo hace más visible y podría aumentar las donaciones. El año pasado, las contribuciones financieras de los amigos de GNOME ayudó a financiar proyectos de accesibilidad de GNOME y GTK + hackfest.

El nuevo sitio presenta una opción de la adopción de un hacker, que permite a los donantes a contribuir con $ 10 al mes. Los participantes reciben una serie de pegatinas de GNOME y una postal de su hacker favorito de GNOME. También permite hacer donaciones por una sola vez con premios que van desde un mousepad Gnome a una estampa enmarcada del logo GNOME firmado por la organización del consejo de administración. Las donaciones se pueden hacer con PayPal o por cheque.


Las actuales condiciones económicas han obligado a muchas personas a cerrar sus carteras y dar menos entusiasmo a organizaciones sin fines de lucro.Pero a pesar de la áspera economía, la cultura libre parecen estar haciendo bien las cosas. Creative Commons reunió 500.000 dólares (unas moneditas...) en su meta de recaudación de fondos el mes pasado y Wikipedia recaudó $ 6 millones a pesar del creciente escepticismo acerca de los hábitos de gastos de la organización. GNOME puede ver un éxito similar con su nueva iniciativa de adoptar un hacker.


Estos son algunos de los premios y ejemplos de donaciones:

* Adoptar un hacker $ 10 (Mensual)
Usted obtiene: una serie de pegatinas de GNOME, un gracias de mediante una tarjeta postal de tu hacker favorito y una camiseta después de su primer año!

* Asociado $ 25-500
Usted obtiene: una alfombrilla de ratón de GNOME, un conjunto de etiquetas y el reconocimiento de su contribución.

* Patrocinador $ 500-1200
Usted obtiene: una taza de café de GNOME, GNOME una camiseta y el reconocimiento de su contribución.

* Filántropo $ 1200 o más
Usted obtiene: una estampa enmarcada con el pie de GNOME, GNOME firmado por el Consejo de Administración, y el reconocimiento de su contribución.

La página principal del proyecto es: http://www.gnome.org/friends/

Por mi parte no se donde más poner stickers de Ubuntu en particular, pero estaría bueno tener alguna taza o el mousepad con forma del pie.

Ya tienen decorada su casa con algunos de estos "chiches" ?

Leer Mas......

Robot´s con Linux a bordo.

jueves 15 de enero de 2009


Beagleboard.org se formó por un pequeño grupo de empleados de TI que desarrolló la Junta de Beagle. El grupo tiene previsto hacer anuncios mensuales de los mejores Beagle´s. El primer ganador es el BeagleBot, desde Finlandia es Seppanen , que publicó su código bajo GPLv2 Linux, y liberó de los esquemas de diseño y otros archivos bajo una licencia Creative Commons.

El proyecto combina BeagleBot Beagle con una expansión de fabricación casera a bordo, además de un sistema de tracción, sistema de servo, sensor de distancia, un concentrador USB, webcam, WiFi y radio, todo montado sobre un chasis con ruedas. The 2mph speedster runs on motorcycle batteries, and even includes speakers for simulating a motorcycle engine. El speedster de 2 mph corre sobre las baterías de una motocicleta, e incluso incluye altavoces para simular un motor de motocicleta.

Algunos de sus detalles son:

* Sistema servo - Este conjunto de cinco RC servos ofrecen 50Hz de PWM de control a través de la ATMega16 en la expansión a bordo. Espacio del usuario, aplicaciones que se ejecutan en la Junta Beagle puede controlar los servos a través de un mensaje I2C.El sistema está montado sobre un soporte de dos ejes del sistema, y su poder es proporcionado por las baterias de BeagleBot.

SRF08 sensor de distancia

* El BeagleBot incorpora Electrónica SRF08 ultrasonidos guardaparques con bus I2C para medir intervalos de entre tres centímetros y seis metros, dice Seppanen.Con sus 55 grados (-6 dB) haz ancho, puede cubrir más de 180 grados.

* Concentrador USB, webcam, WiFi - La BeagleBot incorpora D-Link de 4 Puertos y un Hub USB activo, que vincula un Labtec Webcam USB, y un ZD1211 basada en un Wi-Fi WL54USB-Link.El poder para el concentrador USB viene de la junta de expansión.

* Mecánica, electricidad, y el chasis - El dispositivo funciona en doble 6-voltios Biltema moto-baterías, dice Seppanen. El chasis está hecho de dos placas de aluminio y estantes, varilla roscada, y un par de ruedas se añaden en la parte inferior, además de las dos ruedas, el sistema de impulsión servo para la estabilidad.

* Software - El BeagleBot del código incrustado se ha actualizado a kernel de Linux a la versión 2.6.27. El código incluye la imagen del núcleo y las fuentes (de OpenEmbedded), así como X-Loader y U-Boot.bin.El software también incluye algunos parches.El BeagleBot viene con algún software de control de PC, que actualmente se encuentra disponible para Windows XP, pero es compilable en Linux y Mac, dice Seppanen.

Disponibilidad

Aunque el BeagleBot todavía se está ajustando, especialmente en términos de audio, Seppanen ha publicado el código y los esquemas para su descarga gratuita bajo licencias de fuente abierta.

Para más información pueden ingresar en la página del proyecto- Beagleboard.org.

Así que comenzemos a armarnos algo que todavía estan de moda los fierros, que nos viene pisando los talones la nanotecnología...


Saludos y muy feliz año!

Leer Mas......