[Guia] Optimizar Arch Linux para el Escritorio

radiocaca

Bovino Milenario
#1
Hola, Escribo esta guía por que he visto que cada vez hay más ba-kunos que usan Archlinux, Pues comparto con ustedes algunos tips para acelerar Archlinux, se van a impresionar, por ejemplo mi lap tarda desde grub hasta kde 20 segundos en enceder :).
Bueno pues empecemos.


[Kernel]

El kernel que viene por defecto en archlinux esta super actualizado, en arch siempre podemos contar desde el primer día de lanzamiento con los kernels nuevos. Sin embargo estos kernels son de uso genérico y tienen algunas cosas que no tienen sentido en una computadora de uso personal (por ejemplo soportar 1024 procesadores :S).
Un kernel que por experiencia propia mejora mucho la respuesta de los entornos graficos es el kernel con los parches de Con Kolivas. Lo podemos encontrar en AUR e instalarlo facilmente con yaourt:

Código:
yaourt -S kernel26-ck
una vez que se compile e instale lo agregamos a grub, grub2, syslinux o lo que usemos:

Código:
sudo nano /boot/grub/menu.lst

kernel /boot/vmlinuz26-ck root=/dev/sdax
initrd /boot/kernel26-ck.img
Otros kernels que contienen los parches CK son kernel26-pf y kernel26-netbook (ambos en AUR). Este ultimo es muy util si tenemos una laptop de chipset intel. No necesariamente una netbook, este kernel se inicia muy rapido ya que no necesita initrd.

Tambien podemos acelarar un poco el inicio añadiendo los siguientes argumentos al kernel:

Código:
quiet fastboot
el primero deshabilita la salida de debug, y el segundo inicializa el hardware en paralelo.
es decir que nuestra entrada del kernel en grub se vera algo asi:

Código:
kernel /boot/vmlinuz26-ck root=/dev/sdax quiet fastboot
initrd /boot/kernel26-ck.img
[Systemd]

Primero empecemos que es "init", init es el primer programa que se carga despues de inicializado el kernel (se puede ver cuando iniciamos el sistemas y pone en la pantalla cosas como: inicializando alsa [ok]), y su tarea es cargar a todos los demas programas, y servicios, La principal desventaja de init esque en realidad es una colección de guiones bash, los cuales son lentos y secuenciales, es decir que solo pueden hacer una cosa a la vez. Tenemos como alternativa a systemd, es un programa hecho en C que tiene la misma tarea que init, pero a diferencia de este, puede inicializar los procesos en forma paralela acelerando mucho el inicio del sistema, bueno a instalar:
pacman -S initscripts-systemd systemd systemd-arch-units
Después de que se instale, procedemos modificar nuestra entrada del kernel en grub:

Código:
kernel /boot/vmlinuz26-ck root=/dev/sdax quiet fastboot init=/bin/systemd
initrd /boot/kernel26-ck.img
Agregamos los servicios basicos:

Código:
# systemctl enable alsa.service
# systemctl enable networkmanager.service
# systemctl enable kdm.service //en caso de usar kde
# systemctl enable gdm.service //en caso de Gnome
Una manera mas facil es agregar soporte a los daemon que tengamos en /etc/rc.conf
Código:
[B]# systemctl enable arch-daemons.target[/B]
Por ultimo reiniciamos para ver que todo funciona bien
para mas info: https://wiki.archlinux.org/index.php/Systemd

[e4rat]

Este programa ayudara acelerar aun mas el inicio de archlinux, sobre todo si usamos un entorno de escritorio pesado como KDE, Los unicos requisitos es tener la particion raíz formateada como ext4 en un disco duro convencional ya que los que usen SSD no tendran ningun beneficio, este no se encuentra en los repos oficiales pero si en AUR asi que lo instalamos con yaourt.

Código:
yaourt -S e4rat
Primer paso:

Le indicamos a e4rat que usamos systemd como pid1

Código:
sudo nano /etc/e4rat.conf

y agregamos

init /bin/systemd
Segundo paso:

Dejamos que e4rat recolecte los archivos que usamos al iniciar el sistema modificando nuestra entrada de kernel asi:


Código:
kernel /boot/vmlinuz26-ck root=/dev/sdax quiet fastboot init=/sbin/e4rat-collect   #antes teniamos systemd
initrd /boot/kernel26-ck.img
reiniciamos nuestro sistema.

Tercer paso:

Cerramos sesion de nuestro entorno grafico, cambiamos a una tty por ejemplo presionando ctrl+alt+f1
Cambiamos al run level 1
Código:
systemctl isolate runlevel1.target
nos pedira la contraseña de root, depues inicializamos la realocacion:
Código:
e4rat-realloc  /var/lib/e4rat/startup.log
cuarto paso:

Volvemos a editar la entrada del kernel en grub:

Código:
kernel /boot/vmlinuz26-ck root=/dev/sdax quiet fastboot init=/sbin/e4rat-preload
initrd /boot/kernel26-ck.img
Guardamos los cambios, reiniciamos y listo, a disfrutar nuestro arch con inicio rapido :)

Mas info: https://wiki.archlinux.org/index.php/E4rat

Si alguien quiere tunear cosas mas drasticas la wiki tiene una buena guia :)

https://wiki.archlinux.org/index.php/Maximizing_Performance
 

DMoZ

Bovino Milenario
#2
Vamos a probar brother, esperemos todo salga bien xD ...

Si algo sale mal te culpare xD ...

Jajaja, na ps ...

Regreso en un rato a comentar como me fue ...
 
#4
oye carnal yo agregue lo de e4rat a las entradas del kernel y purrum no me jalaron las X me deja en la consola y cuando intento cargarlas a traves de startx kde nada mas nada.

De antemano te agradezco
 
#6
hola, la verdad se nota la mejoría en el arranque cuando se realizan estos cambios.

tengo una pregunta, la verdad debe ser algo bien simple pero...bueno, se trata de lo siguiente:

Agregamos los servicios basicos:

Código:
# systemctl enable alsa.service
# systemctl enable networkmanager.service
# systemctl enable gdm.service //en caso de Gnome

en que archivo se agregan estas lineas?, o que se hace con estas lineas???

agradezco cualquier ayuda ayuda!
 

radiocaca

Bovino Milenario
#8
hola, la verdad se nota la mejoría en el arranque cuando se realizan estos cambios.

tengo una pregunta, la verdad debe ser algo bien simple pero...bueno, se trata de lo siguiente:

Agregamos los servicios basicos:

Código:
# systemctl enable alsa.service
# systemctl enable networkmanager.service
# systemctl enable gdm.service //en caso de Gnome

en que archivo se agregan estas lineas?, o que se hace con estas lineas???

agradezco cualquier ayuda ayuda!

No se agregan a ningun archivo, sino que se ejecutan desde la terminal como super usuario, por eso el gato #
 
Arriba