Feeds:
Entradas
Comentarios

De mudanza

Si habeis pasado por aquí en los últimos días habreis visto una actividad anormalmente baja, y es debido al proceso de mudanza en el que me encuentro inmerso.

En breve continuaré añadiendo artículos. Saludos!

Tal y como explicaba en el primer artículo de esta serie de artículos sobre la compilación del kernel, compilar un kernel vanilla no es tarea fácil. Se requieren conocimientos avanzados para poder realizar este proceso. El kernel dispone de cientos de opciones que deberemos configurar. Si os decidís por este método,  vamos a ello. Debereis seguir los pasos explicados en el primer artículo para descargar el kernel que vayais a instalar.

Al igual que en la compilación de un kernel al estilo Debian, deberemos tener instaladas las siguientes herramientas para la compilación:

# aptitude install kernel-package libncurses5-dev fakeroot gcc make build-essential

Seguimos los pasos en este caso también para descomprimir el tarball. Copiamos el kernel que descargamos a /usr/src, descomprimimos y creamos un enlace llamado linux a la carpeta del kernel:

# cp /home/anduim/linux-2.6.28.tar.bz2 /usr/src/
# cd /usr/src
# tar xvjf linux-2.6.28.tar.bz2
# ln -s /usr/src/2.6.28/ linux
# cd linux

Si queremos utilizar las opciones del kernel anterior, haremos un

# make oldconfig (con lo cual se cargarán las opciones que teniamos en el otro kernel, y se nos avisará de las que hayan añadido)
# make menuconfig (entramos de lleno en la configuración)

NOTA: Si se quiere prescindir del initrd para el inicio con el nuevo kernel, es imprescindibe tener marcados como built-in (*) las opciones referentes al sistema de ficheros que estemos usando, en mi caso EXT3 (también EXT2), y las opciones correspondientes al soporte de SATA y/o RAID, según sea vuestro HD.

# make (este paso puede tardar bastante, dependiendo de la velocidad de tu ordenador)
# make modules_install

NOTA: En kernels anteriores era necesario hacer tambien un make modules, pero ya no, este paso se realiza automáticamente al hacer el make.

Una vez realizados estos pasos, tenemos dos opciones. O copiar a mano los ficheros necesarios para el arranque con el nuevo kernel, o dejar que se encargue de ello otro comando.

COPIAR FICHEROS DE ARRANQUE MANUALMENTE:

# cd /usr/src/linux
# cp System.map /boot/System.map-2.6.28-anduim
# cp .config /boot/config-2.6.28-anduim
# cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.28-anduim


COPIAR FICHEROS AUTOMATICAMENTE:

Ejecutamos el siguiente comando, y automaticamente se copiarán a /boot los ficheros System.map, .config y bzImage:

# make install

Continuamos con el proceso. Si hemos decidido hacer uso de initrd, deberemos generar dicho fichero. Hay que tener en cuenta que debe existir una carpeta con los módulos en /lib/modules, que se llame exactamente igual que la carpeta que contiene el kernel, en este caso sería /lib/modules/2.6.28. Esta carpeta se crea al ejecutarse el make modules_install. Ahora creamos el fichero de la siguiente forma:

# mkinitramfs -o /boot/initrd.img-2.6.28-anduim 2.6.28

Una vez generado el fichero initrd, solo nos faltará añadir la entrada correspondiente al fichero /boot/grub/menu.lst con el nuevo kernel:

title            Debian GNU/Linux, kernel 2.6.28-anduim
root             (hd0,0)
kernel           /boot/vmlinuz-2.6.28-anduim root=/dev/sda1 ro quiet
initrd           /boot/initrd.img-2.6.28-anduim

Los parámetros (hd0,0), y root=/dev/sda1 dependerán de cada caso en concreto, fijaros en la entrada de grub que usais habitualmente y sabreis cuales son los vuestros. Y la última linea, la del initrd, si habeis marcado bien en el menuconfig lo referente al Sistema de ficheros y las opciones SATA/IDE podreis eliminarlo, si no, dejadlo puesto para que arranque mientras buscais la solución.

Otras partes de la guía sobre el Kernel:

Lo primero es instalar todo lo necesario para la compilación (puede ser que algunas cosas ya estuvieran instaladas:)

# aptitude install kernel-package libncurses5-dev fakeroot gcc make build-essential

Copiamos a /usr/src el kernel que descargamos , descomprimimos y creamos un enlace llamado linux a la carpeta del kernel:

# cp /home/anduim/linux-2.6.28.tar.bz2 /usr/src/
# cd /usr/src
# tar xvjf linux-2.6.28.tar.bz2
# ln -s /usr/src/2.6.28/ linux
# cd linux

Ahora tenemos dos posibilidades. O usamos la configuración del kernel anterior para compilar, o configuramos el nuevo desde cero. Si nos decantamos por la primera opción, deberemos hacer lo siguiente (estando en /usr/src/linux):

# make oldconfig (con esto cargará automaticamente las opciones que tenías en el kernel anterior, y te dirá que novedades hay)

Si elegimos la segunda opción, entramos directamente a la configuración (agarraros fuerte, que vienen curvas :)

# make menuconfig

Aquí es donde realmente está lo complicado de compilar tu propio kernel. Si tienes dudas sobre que debes marcar y qué no, consúltalas o léete la ayuda que aparece en cada una de ellas. Una vez hayas revisado bien todo, salimos, guardando cuando nos pregunte, y comenzamos a generar el nuevo núcleo:

# make-kpkg clean
# fakeroot make-kpkg --initrd --revision="mi-version-1" kernel-image

Podemos cambiar “mi-version-1” por lo que queramos. Una vez que termine, se habrá creado un  fichero .deb en el directorio de arriba, el cual debemos instalar:

# cd ..
# dpkg -i kernel-image-2.6.28-mi-version-1.deb

Reiniciamos, y si todo estaba bien, arrancaremos con nuestro nuevo kernel.

Otras partes de la guía sobre el Kernel:

Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado

Esa es la definición de Kernel que nos da la Wikipedia. Como centro neurálgico o núcleo de nuestro sistema operativo, es lógico que en determinadas ocasiones nos veamos obligados a realizar cambios en el mismo.

Compilar un kernel no es tarea fácil y en la medida de lo posible deberíamos abstenernos de meternos en berenjenales. Aun así, si después de estar seguro que con uno precompilado (linux-image-x.x.x) no solucionas tu problema y te quieres meter de lleno en la compilación de un kernel a tu medida, has de saber que hay dos opciones distintas para realizar dicha labor:

  • Compilación al estilo Debian: de esta forma, lo que hacemos es instalar un kernel con las mismas opciones (si queremos) que teníamos con el kernel anterior y generar un paquete .deb para su posterior instalación.
  • Compilación de un Kernel Vanilla: Este método es bastante mas crudo, ya que partimos de un kernel totalmente limpio (si queremos), el cual modificaremos a nuestro gusto hasta dejarlo totalmente personalizado.

El lugar mas seguro para descargar el kernel es la página oficial del mismo: http://www.kernel.org. Evita hacer descargas a través de Emule, o de sitios extraños. En la portada de la misma tendremos los enlaces para descargar la versión del kernel que queramos. En nuestro caso, bajaremos el último estable, que a fecha de este artículo es la versión 2.6.28:

En la misma línea del kernel, a la derecha, vemos una serie de enlaces en forma de letra. Abajo nos explican que significa cada uno. La opción Changelog es importante, pues ahí podremos consultas las mejoras y novedades que aparecen en la nueva versión del núcleo.

Pulsamos en la F que hay a la derecha en la línea del kernel 2.6.28 para bajarnos las fuentes completas a nuestro directorio, y cuando termine, tendremos un fichero llamado linux-2.6.28.tar.bz2.

Enlaces complementarios:

Otras partes de la guía sobre el Kernel:

He instalado VirtualBox tanto en el Pc como en el portátil, y mientras que en el PC no he tenido problema alguno, al acceder en el portátil a la configuración de la instalación de XP que iba a empezar, recibía un mensaje advirtiéndome que los USB del sistema Anfitrión no iban a funcionar. Tal y como comentaba en el post anterior, la versión OSE no tenía soporte para USB (aunque he visto que hay por ahí algun truquillo) pero la PUEL si, que es la que he instalado yo. Así que estuve googleando un poco, y lo cierto es que no había mucha información para solucionar esto en Debian, la mayoría de los sitios hablaban de Ubuntu, y los tutoriales no servían para Debian.

Al final, la solución la saqué de dos tutoriales distintos, y tuve que hacer lo siguiente:

Creamos un grupo llamado usbusers con el GID 1007, que usaremos luego en /etc/fstab:

groupadd -g 1007 usbusers

Añadimos al usuario a ese grupo:

gpasswd -a anduim usbusers

Editamos /etc/init.d/mountkernfs.sh, buscamos la linea:

domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid

y cambiarla por:

domount usbfs usbdevfs /proc/bus/usb usbfs -onodev,noexec,nosuid,devgid=1007,devmode=0666

Abrir /etc/fstab y añadir la siguiente linea:

none /proc/bus/usb usbfs devgid=1007,devmode=664 0 0

Reiniciamos la maquina, y para comprobar si VirtualBox ve los USB:

VBoxManage list usbhost

Para quien no lo sepa, VirtualBox es una de las varias herramientas de virtualización que existen. Este tipo de aplicaciones nos permiten instalar de forma virtual (es decir, sin tener que usar un disco duro o partición para ello, sino un fichero donde VirtualBox lo gestiona todo) prácticamente cualquier sistema operativo que queramos. Es muy util en casos como los siguientes:

  • Nuestro sistema operativo (en adelante SO) es Windows y queremos probar una distribución de Linux
  • Trabajamos habitualmente con Linux y necesitamos tener Windows XP para alguna tarea concreta que no podamos realizar con nuestra distro.
  • Simplemente queremos probar nuevas versiones o distribuciones diferentes a la nuestra.

Yo me decanto por VirtualBox (en adelante, VB) aunque existen otras alternativas, como Vmware, Qemu, etc. Hay dos alternativas (o versiones) a la hora de instalar VB en Debian:

  • VirtualBox OSE (Open Source Edition): es la versión libre (se han suprimido las partes privativas y eliminado algunas funciones)
  • VirtualBox PUEL o FULL (privativa) que solo se podrá utilizar para uso personal y de evaluación.

En Debian podemos instalar cualquiera de las dos. Una de las diferencias fundamentales en cuestión de usabilidad, es que la versión libre (OSE) NO tiene soporte para USB y para discos duros Serial ATA, mientras que la versión cerrada SI lo tiene. Es por eso que siempre me he decantado por instalar la versión privativa.

Una vez sabido esto, comentar que hay dos formas de instalar VB: o bien descargándonos desde la página oficial de SUN Microsistem el .deb para nuestro Debian o bien haciendo uso de los repositorios. Yo voy a explicar como hacerlo desde repositorios, y en unos pocos pasos, tendremos totalmente operativo nuestro VB.

Lo primero de todo es editar el fichero /etc/apt/sources.list y añadir al final del mismo el repositorio de la versión de Debian que estemos usando (en mi caso la segunda línea):

deb http://download.virtualbox.org/virtualbox/debian lenny non-free
deb http://download.virtualbox.org/virtualbox/debian etch non-free
deb http://download.virtualbox.org/virtualbox/debian sarge non-free

Guardamos los cambios y ahora descargamos la clave pública para el apt y la añadimos:

wget http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
sudo apt-key add sun_vbox.asc

Actualizamos los repositorios:

sudo aptitude update

E instalamos el paquete:

sudo aptitude install virtualbox-2.1

Antes de finalizar la instalación nos avisará de la creación del grupo vboxusers, le decimos que si, y en caso de no estar compilado el modulo correspondiente, nos avisará de ello y la misma instalación se encargará del asunto. Una vez hecho esto, VB estará instalado y listo para funcionar.

No voy a entrar en detalles sobre como crear una instalación virtual, ya que la información es abundante. Aquí os dejo algunos enlaces sobre el tema:

¡Feliz Navidad!


:) )) Os deseo a todos una Feliz Navidad y un Próspero Año Nuevo!!!

Mi mujer lleva varios días comentándome que no podía escribir emails desde su cuenta de Hotmail (ni siquiera voy a enlazar a su web) desde Iceweasel, y hoy me he puesto a indagar el motivo. De todos es sabido el “afan privativo” de esta empresa, Microsoft, pero lo que no imaginaba es que llegara hasta tal punto. El problema era que una vez logueados dentro de Hotmail, previo aviso de problemas de compatibilidad del navegador:

era imposible escribir un e-mail, ya que el area donde se escribe, no permitía poner nada. Lo primero que pensé fue en redireccionar todo el correo que llegara a su cuenta en hotmail a otra cuenta en Gmail (esta si la enlazo :) , pero ¡oh! cual fue mi primera sorpresa cuando al intentarlo me encontré con el siguiente mensaje:

Puedes reenviar tu correo a cualquier dirección que acabe en hotmail.com, msn.com, live.com o forma parte de Windows Live Custom Domains.

La primera en la frente. Increible. Luego pensé en recoger el correo desde la cuenta de Gmail, pero ¡oh!, segunda sorpresa:

Microsoft no permite que se recoja el correo desde ningún cliente de e-mail que no sea alguno de los suyos, ejemplo: MSOutlook.

Así que al final, buscando un poco, encontré el motivo de este problema. El navegador se identifica como Iceweasel, el cual no parece conocer Hotmail, así que la solución es tan sencilla como editar la configuración avanzada del navegador abriendo una ventana y escribiendo about:config y buscando la cadena general.useragent.extra.firefox, cuyo valor es Iceweasel/3.0.3 (depende de la versión instalada) y sustituyendo la palabra Iceweasel por Firefox, que esa si parece conocerla el sistema de Microsoft, quedando de la siguiente forma: Firefox/3.0.3

Una vez modificado este parámetro, reiniciamos Iceweasel y podréis escribir correos como siempre. Desde luego, todo esto no hubiera hecho falta si hubiera querido cambiar de servicio de e-mail gratuito! :)

Por motivos de trabajo acabo de adquirir un portátil, ya que aunque tenía uno, este era muy antiguo. La nueva adquisición es un ASUS X50Z. Algunas de las características:

  • Microprocesador AMD Athlon 64 X2 QL-60 1.9 Ghz. (Dual Core)
  • Tarjeta Gráfica ATI Mobility Radeon 3200
  • HD SATA de 250 Gb.
  • 4 Gb. de Memoria DDR2 667 Mhz.
  • Pantalla 15,4″ WXGA Panorámico CrystalBrite
  • Wifi 802.11 a/b/g/n Chipset Atheros
  • Webcam 1,3 Mp.
  • Batería 6 celdas

La verdad es que es una gozada comparado con el anterior. Ahora me falta configurarlo según mis necesidades, es decir, con Debian y seguramente (también por motivos laborales) con XP.

El micro es el conocido como AMD Puma, los nuevos micros que van a montar a partir de ahora. He intentado encontrar alguna referencia a este modelo en la pagina oficial, pero no hay nada.

Siempre he tenido un problema en el portátil, y es que al arrancar, la consola (o tty) se veía pequeña, es decir, que no ocupaba la totalidad de la pantalla si no un cuadro central de la misma, y es algo bastante molesto:

La solución para que esto no pase es la siguiente. Editamos el fichero /boot/grub/menu.lst y nos movemos a la parte donde se declaran los distintos arranques para las diferentes versiones de kernel que tengamos instaladas (o los arranques para otros sistemas operativos) y localizamos la línea del kernel:

title     Debian GNU/Linux, kernel 2.6.26-1-686
root      (hd0,0)
kernel    /boot/vmlinuz-2.6.26-1-686 root=/dev/sda1 ro quiet
initrd    /boot/initrd.img-2.6.26-1-686

Al final de dicha línea añadimos lo siguiente:

vga=791 para que la consola se vea a 1024×768x16. Podemos poner también vga=ask para que nos aparezca una lista con las distintas posibilidades y así la que mas nos interese. El modo 791 es para usar el framebuffer como dispositivo de vídeo.

Esa línea quedaría así (si tienes varios kernels, deberás cambiarlo en todos ellos para que funcione):

kernel    /boot/vmlinuz-2.6.26-1-686 root=/dev/sda1 ro quiet vga=791

El resultado es el siguiente:

Entradas antiguas »