Algo de Linux: enero 2009

viernes, 30 de enero de 2009

Ampliar la RAM del eeePC 701 a 2GB

El eeePC 701 viene de serie con un módulo RAM de 512 MB (por lo que he podido probar, más que suficiente para el sistema operativo tan ligero que tiene) y un SO linux llamado Xandros, que está basado en Debian.

Pues bien, en la serie 700 del eeePC, el kernel del Xandros está compilado con un restricción que no nos permite instalar más de 1GB de memoria. Es decir, que si le queremos ampliar la RAM, y queremos montar más de 1GB, no nos reconocerá más que 1GB.

Por cierto, tan sólo tiene una ranura para la memoria RAM (lógico, porque con lo pequeño que es...), con lo que, si queréis ampliar la memoria, tendréis que quitar el módulo y colocar otro de mayor tamaño en su lugar.

Yo le he instalado los 2GB de RAM y la verdad es que no he notado un gran cambio. Va igual de bien que cuando tenía sólo 512MB. Y, a lo mejor, con 1GB hubiera tenido más que suficiente. Claro, que tampoco he usado más que las aplicaciones que venían instaladas.

Para que nos reconozca la memoria y conservar el Xandros, tenemos dos opciones:
  • Recompilar el kernel y eliminar dicha restricción.
  • O bajarnos un kernel ya precompilado por alguien que ya la ha eliminado.
La opción más entretenida es recompilar el kernel, pero, para no complicarse, lo más fácil es bajárselo. Un enlace para descargarlo: http://www.mediafire.com/?rz3jjey7x30

Para montarlo, debemos saber que el eeePC contiene 4 particiones en su disco SDD:
  • La primera partición (/dev/sda1) es de tipo ext2 y contiene el sistema operativo montado como sólo lectura.
  • La segunda partición (/dev/sda2) se monta sobre la primera mediante unionfs/aufs (unionfs en los equipos de la serie 700 y aufs en equipos posteriores como los de la serie 900).
  • Las particiones tercera (/dev/sda3) y cuarta (/dev/sda4) son de tipo FAT y no se usan.
El hecho de montar la primera partición como sólo lectura y la segunda sobre ella, sirve para permitir tener un sistema recuperable. Los cambios se guardan sobre la segunda partición, de tal manera que, en cualquier momento, podremos restaurar el sistema operativo como venía de fábrica. La desventaja: Que se ocupa más espacio. Si tenemos una aplicación que viene de fábrica, y la actualizamos, en la primera partición se encontrará la copia que viene de fábrica y la más reciente quedará en la segunda partición. Con lo que tenemos redundancia de software ocupando espacio. Ésto está hecho para que el usuario pueda recuperar fácilmente su sistema ante un fallo.

Para cambiar el kernel yo he usado un system rescue cd que tengo montado en un pendrive.
Cómo lo hice: Conecté el pendrive antes de encender el eeePC y lo encendí, pulsando ESC después de encenderlo para que me permitiera elegir el disposivo de arranque. Una vez elegido el arranque desde USB, se inició el system rescue.

Una vez arrancado el system rescue, monté la partición /dev/sda1 en /mnt/custom:
# mount /dev/sda1 /mnt/custom

Después, cambié al directorio /mnt/custom/boot/grub:
# cd /mnt/custom/boot/grub

Hice una copia de seguridad del menu.lst, por si acaso:
# cp /mnt/custom/boot/grub/menu.lst /mnt/custom/boot/grub/menu.lst.original

Copié el kernel, que, antes había pasado al pendrive, en el directorio /mnt/custom/boot/

Modifiqué el fichero /mnt/custom/boot/grub/menu.lst, añadiendo una entrada nueva para arrancar el nuevo kernel:

title Xandros 2GB kernel
root (hd0,0)
kernel /boot/vmlinuz-2.6.21.4-eeepc-2GB quiet rw vga=785 irqpoll i8042.noloop=1 root=/dev/sda1
initrd /boot/initramfs-eeepc.img


Una vez añadida la entrada, guardamos el menu.lst, desmontamos el pendrive, reiniciamos y listo.