jueves, 24 de marzo de 2011

Chuletillas linuxeras varias

Voy a poner un par de chuletas a modo de recordatorio/ayuda a posibles usuarios que he estado usando estos dias (debian squeeze):


Compilar unos modulos sueltos del kernel. 

Resulta que a veces, quieres habilitar alguna funcion nueva en el kernel que no estaba por defecto o simplemente modificastes el kernel y quieres que coja los cambios.
Por ejemplo en este caso, mi cpu no era capaz de cambiar la frecuencia del procesador dinamicamente segun la carga del sistema, para ello necesitaba modificar el p4-clockmod para que cargara en mi cpu (pentium celeron M). Tras el cambio pertinente (establecer policy->cpuinfo.transition_latency = 10000000):


  1. Agregar los cambios al .config, bien sea con make menuconfig o simplemente con el vim, en el caso de que no estuviera ya cargado el modulo. 
  2. make modules_prepare
  3. make SUBDIR=arch/x86/kernel/cpu/cpufreq/ modules
  4. make SUBDIR=arch/x86/kernel/cpu/cpufreq/ modules_install
Y listo: modprobe p4-clockmod

Tras varias pruebas, le he puesto 800 Mhz de frecuencia minima (1,6Ghz) y me ahorro buena parte de la bateria,ventiladores sin notar ninguna perdida de rendimiento (es lo que tiene usar Linux).

Compilar el kernel

#make menuconfig
#make clean (si es necesario)
#make-kpkg --initrd kernel_image kernel_headers
#dpkg -i ../*.deb (los correspondientes ...)


Desactivar el swap

Tengo 1,5 gigas de ram y no me hace falta tirar de swap practicamente nunca (WindowMaker,mocp,aterm...) y tenia un volumen de 2 gigas de swap. Decidí desactivarlo y quedarme con ese espacio para mis cosas (aparte de desactivarlo directamente en el kernel...).


#swapoff /dev/squeeze/swap
#lvdisplay /dev/squeeze/swap

#lvremove /dev/squeeze/swap
#vi /etc/fstab ...

Y listo 2 gigas mas para repartir para el sistema, aparte de asegurarme que siempre tire de ram.
No olvidarse que para que coja mas de 1Giga de RAM hay que activada la opcion de highram en el kernel (gloriosos 640Kb :D).


Usar el autogroup

Se trata de una funcionalidad que utilizando los cgroups, agrupa por defecto los procesos por tty, haciendo que a nivel de desktop aumente una barbaridad la justicia del reparto del timing en el planificador.Especialmente para gente que usar el ordenador en tarias pesadas. En mi caso ya he compilado el kernel 6 veces (estoy de experimentos) desde que lo uso y es una gozada comprobar como puedes realizar tareas pesadas y seguir usando el sistema como si nada.


Para ello simplemente hay que usar un kernel del 2.6.38 en adelante.


Pasar de ext3 a ext4 un sistema de ficheros

En mi caso está operación la realizé en un filesystem de 250 Gigas al 82%.

Simplemente (importante cada paso...):

#umount /home/datos
#fsck.ext3 -pfv /dev/squeeze/datos
#tune2fs -O extents,uninit_bg,dir_index /dev/squeeze/datos

#fsck.ext4 -yfD /dev/squeeze/datos
#vi /etc/fstab (muy importante el noatime para que se olvide de la fecha de ultimo acceso ...)
 /dev/squeeze/datos /home/datos ext4 defaults,noatime 0 2
#mount /home/datos






Y listo a disfrutar del ext4...
Es importante recalcar que los ficheros antiguos seguiran usando ext3 hasta que no se "actualizen" Se pueden utilizar trucos como usando chattr +e sobre ellos para decirle que usen los extents y con ello se pasen a ext4 pero en mi caso tras hacerlo con unos cuantos miles de fichero me dejó el volumen echo un cristo y tuve que tirar de fsck intensivos, reparando un monton de inconsistencias y preferí dejarlo a medias, los nuevos archivos sin problemas... :D



Ampliar un volumen logico

Esos 2 gigas que me sobraban del swap decidí repartirlos, de momento le puse 1Gigas al volumen root /, con el fin de poder compilar tranquilamente los kernels (procedimiento de memoria).

Para aumentar un volumen, el procedimiento se hace al contrario que para reducirlo por motivos "logicos".
Quiere decir, para aumentarlo primero hay que aumentar el volumen y despues el sistema de ficheros y para reducirlo hay que reducir primero el sistema de ficheros y despues el volumen, es completamente lógico si conoces como funciona un poco  la historia.
Tambien he de decir que para aumentarlo no hace falta desmontar el volumen, siendo necesario este paso para disminuir sin embargo.

Pues bien para aumentarlo basicamente, ver cuanto hay libre en el grupo:

#vgdisplay squeeze:
....
  Free  PE / Size       611 / 2,61 GiB

#df -h /

Tenemos mas de 2 gigas libres en el grupo de volumenes, vamos a darle 1 gigas al volumen /.

#lvresize -L +1G -v squeeze/root

Despues ampliar el FS (no lo vayas a hacer al reves que la lias bien liada ...). Simplemente le decimos que se expanda al tamaño del volumen (tamaño maximo):

#resize2fs -p squeeze/root

#df -h /


Y listo.
Lo dicho, unas chuletillas a modo de recordatorio de como repartir espacio entre volumentes, re/compilar el kernel, activar autoescalado del procesador y pasarse a ext4...



Un saludo!

2 comentarios: